La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.

Presentaciones similares


Presentación del tema: "Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal."— Transcripción de la presentación:

1 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal

2 Sesión 11: Tipos de datos Estruturados Programación de Computadores Lenguaje Pascal TEMARIO Tipos de datos Estruturados Arreglos unidimensionales Arreglos bidimensionales

3 Introducción: Se puede visualizar un arreglo como un conjunto de celdas contiguas, en cada una de ellas se almacena un dato simple. Cada dato está identificado por la posición que ocupa en la tabla. Sesión 11: Tipos de datos Estruturados: Arreglos unidimensionales Programación de Computadores Lenguaje Pascal Arreglo: notas Índice = 2 2posiciones1n-13n En el ejemplo, el valor de la celda 2 del arreglo notas se obtiene referenciando el nombre del arreglo y la posición por medio de un índice notas[2] contiene el valor 60 Ejemplo: WRITELN(notas[2]), desplegará 60 en pantalla.

4 Definición: Para definir el tipo de dato arreglo se usa la siguiente sintaxis : TYPE = ARRAY [ ] OF ; Donde, : define las posiciones que tendrá un arreglo, y por ende los valores válidos que puede tomar el índice. Este rango se define especificando el primer y último índice separados por dos puntos,.. Normalmente : 1..N, aunque no es obligatorio. Partir de 1. : por el momento serán tipos estándares o definidos por el usuario vistos en clases. Ejemplo, CONST N = 30; TYPE arrnotas: ARRAY [1..50] OF REAL; VAR notascurso1,notascurso2:arrnotas; asistencia: ARRAY[1..N] OF BOOLEAN; {definición directa} Sesión 11: Tipos de datos Estruturados: Arreglos unidimensionales Programación de Computadores Lenguaje Pascal

5 Ejemplo1: Hacer un programa pascal que dado 10 números. Llene un arreglo con los 10 números Calcule el promedio de los 10 números Determine el número mayor y menor de los diez así como su posición en el arreglo Calcule la cantidad bajo/sobre el promedio. Rutee para Sesión 11: Tipos de datos Estruturados: Arreglos unidimensionales Programación de Computadores Lenguaje Pascal

6 PROGRAM arreglo; VAR lista:ARRAY[1..10] OF REAL; i,posmayor,posmenor,sobremedia,bajomedia:INTEGER; media,mayor,menor:REAL; BEGIN FOR i := 1 TO 10 DO READLN(lista[i]); media:=0; FOR i:= 1 TO 10 DO media := media + lista[i]; media:=media/10; mayor:= lista[1];posmayor:=1; menor:= lista[1];posmenor:=1; sobremedia:=0;bajomedia:=0; FOR i:= 1 TO 10 DO BEGIN IF lista[i] >= media THEN sobremedia := sobremedia +1 ELSE bajomedia := bajomedia +1; IF mayor lista[i] THEN BEGIN menor :=lista[i]; posmenor :=i; END END; END. Sesión 11: Tipos de datos Estruturados: Arreglos unidimensionales Programación de Computadores Lenguaje Pascal Solución1:

7 lista Sesión 11: Tipos de datos Estruturados: Arreglos unidimensionales Programación de Computadores Lenguaje Pascal Media i Mayor menor posmayor posmenor sobremedia bajomedia Media i Lista[i]

8 Definición: También se les llama matrices, para acceder a un elemento, o celda ser requiere de dos índices : TYPE, ] OF ; Donde, : define las filas que tendrá una matriz, cuyo índice indicará la fila activa.. : define las columnas que tendrá una matriz, cuyo índice indicará la columna activa.. Ejemplo, CONST N = 3;M =4 TYPE furgon: ARRAY [1..N,1..M] OF REAL; VAR asientos:furgon; Ejemplo: si asientos[2,3] contiene el valor 22.5 WRITELN(asiento[2,3]), desplegará 22.5 en pantalla Sesión 11: Tipos de datos Estruturados: Arreglos bidimensionales Programación de Computadores Lenguaje Pascal columnas filas Cantidad elementos: cant.filas* cant.columnas 22.5

9 Ejercicio2 : Realice un programa que lea dos matrices cuadradas de hasta 20 x 20, llame a un procedimiento para multiplicar matrices y llame a un procedimiento que escriba el resultado. Sesión 11: Subprogramas Programación de Computadores Lenguaje Pascal PROGRAM matrices ; CONST maxdim = 20; TYPE matriz : ARRAY [1..maxdim,1..maxdim] OF REAL; PROCEDURE multiplica(d:INTEGER;m1,m2:matriz; VAR mf:matriz); PROCEDURE imprime(d:INTEGER; mf:matriz); {se definirán a continuación} VAR matriz1,matriz2,mfinal:matriz; dim,i,j:INTEGER; BEGIN WRITE(Ingrese dimensión matrices:);READLN(dim); FOR i :=1 TO dim DO FOR j := 1 TO dim DO BEGIN WRITE(Elemento, i,,j, matriz 1:); READLN(matriz1[i,j]); WRITE(Elemento, i,,j, matriz 2:); READLN(matriz2[i,j]) END; multiplica(dim, matriz1, matriz2,mfinal); imprime(dim,mfinal); END;

10 Ejercicio2 : Sesión 11: Subprogramas Programación de Computadores Lenguaje Pascal PROCEDURE multiplica(d:INTEGER;m1,m2:matriz; VAR mf:matriz); VAR sum:REAL; i,j,k:INTEGER; BEGIN FOR i :=1 TO dim DO FOR j := 1 TO dim DO BEGIN sum :=0; FOR k := 1 TO dim DO sum := sum + m1[i,k]*m2[k,,j]; mf[i, j] := sum END; PROCEDURE imprime(d:INTEGER; mf:matriz); VAR i,j:INTEGER; BEGIN FOR i :=1 TO dim DO BEGIN WRITELN; FOR j := 1 TO dim DO WRITE (,mf[i,j], ); END END;

11 Fin Clase 11


Descargar ppt "Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal."

Presentaciones similares


Anuncios Google