Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMargarita Pérez Alcaraz Modificado hace 6 años
1
INFORMATICA DEL CBU Clase 11 Año 2016 ARREGLOS
2
Preguntas Qué es un arreglo? Con qué propósito se lo utiliza?
Qué diferencia existe entre: el nombre del arreglo, el subíndice, el valor del subíndice, los elementos del arreglo? Mg. Ing. Fátima Martínez
3
ARREGLOS Datos estructurados.
Un único identificador representa a múltiples datos individuales. Pueden ser manipulados colectiva o individualmente. 7.50 4.75 6.55 5.25 6 … (1) (2) (3) (4) (…) (n) Calificaciones Mg. Ing. Fátima Martínez
4
Declaración formal de un arreglo
En una declaración de variable: Var nombreArreglo: array[tipo de indice] Of tipo Ejemplo: Arreglo de 100 elementos de tipo real Var lista : array[1..100] Of real; Mg. Ing. Fátima Martínez
5
Matriz de M x N La forma clásica de una matriz de m x n la representamos como: n [columnas] m [filas] Mg. Ing. Fátima Martínez
6
Declaración formal var Mat : array[DIM1,DIM2]of <Tipo>; var Mat: array[1..4,1..5] of integer; DIM1 y DIM2 se especifican como un subrango de tipo ordinal que tiene un límite inferior y un límite superior. Conviene crear un “alias” para los arreglos, mediante una declarativa type. Mg. Ing. Fátima Martínez
7
Declarativa type Crear un “alias” mediante una declarativa type.
El bloque type permite construir nuevos tipos de datos basados en los que ya se encuentran predefinidos en el lenguaje. type Vect = array[1..100] Of real; var lista: Vect; type TMat = array[1..DIM1,1..DIM2] Of integer; var Mat : TMat; Mg. Ing. Fátima Martínez
8
OPERACIONES CON VECTORES
Asignación: igual a cualquier variable, pero poniendo el número de índice del elemento entre [ ]. Var Notas: Vect; For i := 1 To 100 begin Notas[i] := 1 + random(10); suma = suma + Notas[i]; End; Promedio := suma/100; … Mg. Ing. Fátima del C. Martínez 11/14/2018
9
Leer o escribir una Matriz
Para asignar por completo una Matriz: for i:=1 to DIM1 do for j:=1 to DIM2 do M[i, j]:=20+random(81); for i:=1 to DIM1 do begin for j:=1 to DIM2 do write(M[i, j]:4); writeln; end; Mg. Ing. Fátima Martínez
10
Las cadenas. Caso particular de arreglos
Tipo string: tipo especial de dato, arreglo de char. En la posicion 0 (cero), se almacena (en forma de equivalente char) la cantidad de caracteres que han ingresado a la cadena. var Texto : string; Frase : string[80]; Frase:=’Programación en Turbo Pascal’; contiene 28 caracteres, se almacena como: P r o g r a m a c i ó n e n T u r b o P a s c a l 255 espacios para almacenar caracteres Devuelve 28 Longitud:=length(Frase) Mg. Ing. Fátima Martínez
11
Ejemplo 1 En una frase, detectar la cantidad de vocales a, e, i, etc., presentes en la misma. Mg. Ing. Fátima Martínez
12
type TVoc = array[1..5]of integer; var Voc : TVoc; Frase : string; i : integer; begin clrscr; Frase:=’Esta es una frase breve de prueba’; for i:=1 to 5 do Voc[i]:=0; for i:=1 to lenght(Frase) do case Frase[i] of ‘a’,’A’ : Voc[1]:=Voc[1]+1; ‘e’,’E’ : Voc[2]:=Voc[2]+1; ‘i’,’I’ : Voc[3]:=Voc[3]+1; ‘o’,’O’ : Voc[4]:=Voc[4]+1; ‘u’,’U’ : Voc[5]:=Voc[5]+1; end; Mg. Ing. Fátima Martínez
13
Ordenar los elementos de un vector. Método de la burbuja
Consiste en acomodar el vector moviendo el mayor hasta la última casilla comenzando desde la casilla 1 del vector. Deja el número más grande en la última posición. Prosigue a encontrar y acomodar el siguiente más grande comparando de nuevo los números desde el inicio del vector. Así sigue hasta ordenar todo los elementos el arreglo. Es muy deficiente porque en cada pasada vuelve a comparar las ya ordenadas. Es el más usado en todos los lenguajes de programación. Mg. Ing. Fátima Martínez
14
Algoritmo Dado un vector a1, a2, a3, ... an
Comparar a1 con a2 e intercambiarlos si a1>a2 (o a1<a2). Seguir hasta que todo se haya comparado an-1 con an. Repetir el proceso anterior n-1 veces Mg. Ing. Fátima Martínez
15
Mg. Ing. Fátima Martínez
16
Ingresa datos al vector Dimension datos[5] i <- 1
Mientras i<=5 Hacer Escribir 'Ingrese el dato ',i,':' Leer datos[i] i <- i+1 FinMientras Mg. Ing. Fátima Martínez
17
Si datos[i]>datos[j] Entonces aux <- datos[i]
Mientras i<=4 Hacer j <- i+1 Mientras j<=5 Hacer Si datos[i]>datos[j] Entonces aux <- datos[i] datos[i] <- datos[j] datos[j] <- aux FinSi j <- j+1 FinMientras i <- i+1 Mg. Ing. Fátima Martínez
18
Generar un vector de orden N
Que cumpla con las siguientes condiciones: El último elemento valdrá N: vec[n] = N; El penúltimo elemento N-1 valdrá : vec[n-1] = vec[N] +1 El antepenúltimo elemento N-2 valdrá : vec[n-2] = vec[N-1] +2 Continuar la serie hasta completar el vector Mg. Ing. Fátima Martínez
19
Serie Algoritmo serie Dimension vector(10) a<-1 vector(10) <-10
Escribir vector(10) Para n<-9 Hasta 1 Con Paso -1 Hacer vector(n) <- vector(n+1) + a Escribir vector(n) a<- a + 1 Fin Para FinAlgoritmo Serie Mg. Ing. Fátima Martínez
20
Vector Sin repetidos Dado un vector de N elementos, se desea saber si tiene elementos repetidos. Si no tiene elementos repetidos presentar un mensaje: No tiene repetidos. Caso contrario generar un segundo vector con los elementos del primero pero que no tenga repetidos. Presentar el primero vector y el segundo sin repetidos. SIN REPETIDOS V[N] = (1, 5, 4, 5, 1, 8) A[N] = (1, 5, 4, 8) Mg. Ing. Fátima Martínez
21
Matriz de orden M x N Generar una matriz de m x n.
Ejemplo: Si la matriz es de 5 x 5 Mg. Ing. Fátima Martínez
22
Mg. Ing. Fátima Martínez
23
Algoritmo MatrizCuadrada Dimension mat[5,5] i <- 1 k <- 1
Mientras (i<=5) Hacer Si (i MOD 2=1) Entonces j <- 1 Mientras (j<=5) Hacer mat[i,j]<-k Escribir mat[i,j] j <- j+1 k <- k+1 FinMientras Mg. Ing. Fátima Martínez
24
Mientras (j>=1) Hacer mat[i,j]<-k Escribir mat[i,j] j <- j-1
Sino j <- 5 Mientras (j>=1) Hacer mat[i,j]<-k Escribir mat[i,j] j <- j-1 k <- k+1 FinMientras FinSi i <- i+1 FinAlgoritmo Mg. Ing. Fátima Martínez
25
Elemento mayor de la Diagonal
Se cargará una matriz A de N x N elementos. Determinar el MAXIMO elemento de la diagonal principal. Luego encontrar el mayor elemento de la fila y también de la columna que intersecta en la posición donde se encontró el MAXIMO. Mg. Ing. Fátima Martínez
26
Mg. Ing. Fátima Martínez
27
Mg. Ing. Fátima Martínez
28
Mg. Ing. Fátima Martínez
29
Carga la Matriz de 5 x 5 Algoritmo MaximoDiagonal Dimension mat[5,5]
Mientras i<=5 Hacer j <- 1 Mientras j<=5 Hacer mat[i,j]<-Aleatorio(1,9) j <- j+1 FinMientras i <- i+1 Mg. Ing. Fátima Martínez
30
Máximo en la Diagonal max <- mat[1,1] i <- 2 col <- 1
Mientras i<=5 Hacer Si mat[i,i]>max Entonces max <- mat[i,i] col <- i FinSi i <- i+1 FinMientras Escribir ‘Maximo en diagonal’: [',col,', ',col,'] = ',max Mg. Ing. Fátima Martínez
31
Máximo en la FILA // empiezo por la fila = col max <- mat[col,1]
k <- 1 j <- 2 Mientras j<=5 Hacer Si mat[col,j]>max Entonces max <- mat[col,j] k <- j FinSi j <- j+1 FinMientras Escribir 'MAXIMO en FILA: [',col,', ',k,'] = ',max Mg. Ing. Fátima Martínez
32
Máximo en la COLUMNA // sigo con la columna = col max <- mat[1,col]
k <- 1 i <- 2 Mientras i<=5 Hacer Si mat[i,col]>max Entonces max <- mat[i,col] k <- i FinSi i <- i+1 FinMientras Escribir 'MAXIMO en COLUMNA: [',k,', ',col,'] = ',max Mg. Ing. Fátima Martínez
33
Campeonato de Futbol En un campeonato intervienen M equipos.
Se registran los resultados en una matriz R de orden M x M. Mg. Ing. Fátima Martínez
34
Juego del Ahorcadito Un jugador ingresa una palabra y el otro jugador trata de adivinar la palabra ingresando letras individuales. El jugador GANA si acierta todas las letras en una cantidad de jugadas a determinar. Si no lo logra, pierde y queda AHORCADO. Mg. Ing. Fátima Martínez
35
Palabra de 10 letras Mg. Ing. Fátima Martínez
36
Mg. Ing. Fátima Martínez
37
Mg. Ing. Fátima Martínez
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.