Sin ttulo de diapositiva - PowerPoint PPT Presentation

About This Presentation
Title:

Sin ttulo de diapositiva

Description:

Este rango se define especificando el primer y ltimo ndice separados ... Calcule el promedio de ... [2,3] contiene el valor 22.5. WRITELN(asiento[2,3] ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 12
Provided by: Rodr165
Category:
Tags: asiento | diapositiva | el | sin | ttulo

less

Transcript and Presenter's Notes

Title: Sin ttulo de diapositiva


1
Programación de Computadores Lenguaje Pascal
Tipos de datos Estruturados ProfEridan Otto
2
Programación de Computadores Lenguaje Pascal
Sesión 11 Tipos de datos Estruturados
  • TEMARIO
  • Tipos de datos Estruturados
  • Arreglos unidimensionales
  • Arreglos bidimensionales

3
Programación de Computadores Lenguaje Pascal
Sesión 11 Tipos de datos Estruturados Arreglos
unidimensionales
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.
2
posiciones
1
n-1
3
n
Arreglo notas
.......
55
60
45
80
40
Índice 2
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
notas2
contiene el valor 60 Ejemplo
WRITELN(notas2),
desplegará 60 en pantalla.
4
Programación de Computadores Lenguaje Pascal
Sesión 11 Tipos de datos Estruturados Arreglos
unidimensionales
Definición Para definir el tipo de dato arreglo
se usa la siguiente sintaxis TYPE ltidentificador
tipo unidimensionalgt ARRAY ltrangogt OF
lttipogt Donde, ltrangogt 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,
ltindice inferiorgt..ltindice
superiorgt Normalmente 1..N, aunque no es
obligatorio. Partir de 1. lttipogt 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,notascurso2arrnotas
asistencia ARRAY1..N OF BOOLEAN
definición directa
5
Programación de Computadores Lenguaje Pascal
Sesión 11 Tipos de datos Estruturados Arreglos
unidimensionales
  • 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 3 10 5 7 3 10 4 1 2 5

6
Programación de Computadores Lenguaje Pascal
Sesión 11 Tipos de datos Estruturados Arreglos
unidimensionales
Solución1
PROGRAM arreglo VAR listaARRAY1..10 OF
REAL i,posmayor,posmenor,sobremedia,baj
omediaINTEGER media,mayor,menorREAL
BEGIN FOR i 1 TO 10 DO
READLN(listai) media0 FOR i 1 TO 10
DO media media listai
mediamedia/10 mayor lista1posmayor1
menor lista1posmenor1
sobremedia0bajomedia0 FOR i 1 TO 10 DO
BEGIN IF listai gt media THEN sobremedia
sobremedia 1
ELSE bajomedia bajomedia 1 IF
mayor ltlistai THEN BEGIN mayorlistai
posmayori END IF menor gt listai THEN
BEGIN menor listai posmenor i END
END END.
7
Programación de Computadores Lenguaje Pascal
Sesión 11 Tipos de datos Estruturados Arreglos
unidimensionales
Media i
lista 3 10 5 7 3 10 4 1 2 5
0
1
3
2
13
3
18
4
25
5
28
6
38
7
42
8
43
9
45
10
50
Listai
Mayor menor posmayor posmenor sobremedia bajomedia
Media i
5
1
1
3
3
0
0
1
1
3
10
2
1
2
10
2
3
5
3
4
7
2
5
3
4
6
10
3
7
4
1
8
4
8
1
5
9
2
5
10
5
8
Programación de Computadores Lenguaje Pascal
Sesión 11 Tipos de datos Estruturados Arreglos
bidimensionales
Definición También se les llama matrices, para
acceder a un elemento, o celda ser requiere de
dos índices TYPE ltidentificador tipo
bidimensional ARRAY ltrango1gt,ltrango2gt OF
lttipogt Donde, ltrango 1gt define las filas que
tendrá una matriz, cuyo índice indicará la fila
activa ltfila
inferiorgt..ltfila superiorgt ltrango 2gt define las
columnas que tendrá una matriz, cuyo índice
indicará la columna activa
ltcolumna inferiorgt..ltcolumna
superiorgt Ejemplo, CONST N
3M 4 TYPE
furgon ARRAY 1..N,1..M OF REAL
VAR
asientosfurgon Ejemplo si asientos2,3
contiene el valor 22.5
WRITELN(asiento2,3), desplegará
22.5 en pantalla
columnas
1
2
3
4
1
22.5
filas
2
3
Cantidad elementos cant.filas cant.columnas
9
Programación de Computadores Lenguaje Pascal
Sesión 11 Subprogramas
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.
PROGRAM matrices CONST maxdim 20 TYPE
matriz ARRAY 1..maxdim,1..maxdim OF REAL
PROCEDURE multiplica(dINTEGERm1,m2matriz VAR
mfmatriz) PROCEDURE imprime(dINTEGER
mfmatriz) se definirán a continuación VAR
matriz1,matriz2,mfinalmatriz
dim,i,jINTEGER 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(matriz1i,j)
WRITE(Elemento , i , ,j, matriz
2) READLN(matriz2i,j)
END multiplica(dim, matriz1,
matriz2,mfinal) imprime(dim,mfinal) END
10
Programación de Computadores Lenguaje Pascal
Sesión 11 Subprogramas
PROCEDURE multiplica(dINTEGERm1,m2matriz VAR
mfmatriz) VAR sumREAL
i,j,kINTEGER BEGIN FOR i 1 TO dim DO
FOR j 1 TO dim DO BEGIN
sum 0 FOR k 1 TO dim DO
sum sum m1i,km2k, ,j
mfi, j sum
END END PROCEDURE imprime(dINTEGER
mfmatriz) VAR i,jINTEGER BEGIN FOR i 1
TO dim DO BEGIN WRITELN
FOR j 1 TO dim DO WRITE (
,mfi,j, ) END END
Ejercicio2
11
Fin Clase 11
Write a Comment
User Comments (0)
About PowerShow.com