Download - Estructuras De Datos

Transcript
Page 1: Estructuras De Datos

Estructuras de datos

• Datos estáticos• Conjunto de elementos del mismo tipo de

dato• No se modifica su tamaño en tiempo de

programación• Declaración– Nombre de la variable: Arreglo[tamaño] tipo de

dato

Page 2: Estructuras De Datos

2

Estructuras de datos

• Contenidos– Arreglos o matrices– Arreglos de una

dimensión– Arreglos

multidimensionales

2 3 4 5 6 7

2 3 4 5 6 7

8 9 3 5 7 4

6 7 1 1 4 3

Page 3: Estructuras De Datos

3

• Arreglos– Colección de datos del

mismo tipo– Un nombre único– Indicador de posición

que los diferencia 2 9 4 15 6 27

Estructuras de datos

Mat

31 32 33 34 35 36

2 13 4 45 6 7

8 9 53 5 37 4

26 7 100 11 4 3

MatRes1 2 3 4 5 6

Page 4: Estructuras De Datos

4

• Arreglos unidimensionales o vectores

Estructuras de datos

2 9 4 15 6 27

Mat

1 2 3 4 5 6

Mat[1] = 2Mat[2] = 9Mat[3] = 14Mat[4] = 15Mat[5] = 6Mat[6] = 25

Page 5: Estructuras De Datos

5

Definición:Inicio

Mat: Arreglo[10] entero………

fin

Lectura Mat: Arreglo[10] entero…..leer n_e // numero de elementos

for (i = 1, i <= n_e,i++)leer Mat[i]

endfor

Presentar Mat: Arreglo[10] enetero….. for (i = 1, i <= n_e,i++)

presentar Mat[i]endfor

Recorrer Mat: Arreglo[10] enetero…..

for (i = 1, i <= n_e,i++)Mat[i] mat[i]*2

endfor…..

Page 6: Estructuras De Datos

6

inicio Mat Arreglo [10] entero// ingresar numero de elementosimprimir “ingrese numero de elementos”leer n_e// llenar la matriz for (i = 1, i <= n_e,i++)

leer Mat[i]endfor // proceso for (i = 1, i <= n_e,i++)

If (residuo(mat[i]/2) = 0) then presentar “el numero”,mat[i], es parendif

endfor // presentar la matriz for (i = 1, i <= n_e,i++)

imprimir Mat[i]endfor

fin

Page 7: Estructuras De Datos

7

• Arreglos multi-dimensionales

Estructuras de datos

31 32 33 34 35 36

2 13 4 45 6 7

8 9 53 5 37 4

26 7 100 11 4 3

MatRes

MatRes[1,1] = 2MatRes[2,4] = 5MatRes[3,2] = 7MatRes[1,6] = 7MatRes[2,1] = 8 MatRes[3,5] = 4

Page 8: Estructuras De Datos

8

Definición:Inicio

Arreglo MatRes[10][10] entero……

fin

LecturaMat Arreglo [10][10] entero…..leer n_f // numero de filasleer n_c // numero de columnas

for (i = 1, i <= n_f,i++) for (i = 1, i <= n_c,i++)

leer Mat[i][j] endfor endfor

PresentarMat Arreglo [10][10] entero….. for (i = 1, i <= n_f,i++) for (i = 1, i <= n_c,i++)

presentar Mat[i][j] endfor endfor

RecorrerMat Arreglo [10][10] entero…..

for (i = 1, i <= n_f,i++) for (i = 1, i <= n_c,i++)

Mat[i][j] 0 endfor endfor…..

Page 9: Estructuras De Datos

9

inicioMat Arreglo [10][10] entero// ingresar numero de elementospresentar “ingrese numero de filas”leer n_fpresentar “ingrese numero de filas”leer n_c// llenar la matriz for (i = 1, i <= n_f,i++) for (j = 1, i <= n_c,i++)

leer Mat[i][j] endforendfor // proceso for (i = 1, i <= n_f,i++) for (j = 1, i <= n_c,i++)

if primo(Mat[i][j]) then presentar “numero es primo”endif

endforendfor // presentar la matriz for (i = 1, i <= n_f,i++) for (j = 1, i <= n_c,i++)

leer Mat[i][j] endifendif

inicio

metodo primo(entero num) logicad = 2lim = num / 2p =verdaderowhile (d < num) if residuo(num/d) == 0

p falsod lim

endif d d + 1endwhilereturn p

finfunc

Page 10: Estructuras De Datos

10

Ejercicios

• Ordenar un vector• Buscar elementos repetidos en un vector• Ordenar una matriz de dos dimensiones• Buscar elementos repetidos en una matriz dos

dimensiones• Multiplica dos matrices

Page 11: Estructuras De Datos

11

Inicio // ordenar una matrizArreglo Mat[10] entero// ingresar numero de elementospresentar “ingrese numero de elementos”leer n_e// llenar la matrizfor (i = 1, i <= n_e,i++)

leer Mat[i]endfor // proceso de ordenacion for (i = 1, i <= n_e,i++)

for (i = 1, i <= n_e,i++)si mat[i] < mat[j] aux mat[i] mat[i] mat [j] mat[j] aux endfor

endfor endfor // presentar la matriz for (i = 1, i <= n_e,i++)

presentar Mat[i] endfor

fin