Documente Academic
Documente Profesional
Documente Cultură
Arreglos
Experiencia Educativa de Algortmica
Introduccin
Una estructura de datos es una coleccin de datos que pueden ser caracterizados por su
organizacin y las operaciones que se definen en ella. Son muy importantes en todos los
sistemas que realizamos. Como vimos anteriormente tenamos los Datos Simples:
Estndar (entero, real, carcter, lgico) y los definidos por el programador. Ahora
agregamos los datos estructurados, estos son de tipo estticos y dinmicos
Los estticos son:
Registros
Ficheros (Archivos)
Conjuntos
Cadenas
Dinmicos:
Listas enlazadas
rboles
Grafos
Las estructuras de datos estticas se les define el tamao ocupado en memoria antes de
que el programa se ejecute y no puede modificarse durante su ejecucin.
Las estructuras de datos dinmicas, por otro lado no tienen limitaciones o restricciones, su
tamao puede crecer o disminucin en el tiempo de ejecucin.
ARREGLOS
Un array o arreglo (matriz o vector) es un conjunto finito, ordenado y homogneo de
elementos. Cuando decimos que ordenado no referimos a que los elementos van del
primero, segundo, tercero, etc
Es homogneo porque son del mismo tipo de datos, esto es si es un arreglo de nmeros
todos sern nmeros, si es de carcter, todos sern carcter.
Ejemplo
Proceso Arreglo1
Definir arreglo Como Entero;
Definir x, num como Entero;
Dimension arreglo[5];
Para x<-0 Hasta 4 Hacer
Escribir "Introduce un numero";
Leer num;
arreglo[x] <- num;
FinPara
Escribir "El arreglo contiene los elementos: ";
Para x<-0 Hasta 4 Hacer
Escribir arreglo[x] ;
FinPara
FinProceso
Prctica 6
Nota: En todos los ejercicios deben leer los elementos desde pantalla y posteriormente
imprimirlos en pantalla.
1.- Capturar 5 nombres desde pantalla
2.- Llenar un arreglo numrico de tamao 5
3.- Llenar un arreglo de nmeros reales de tamao 10
4.- Llenar un arreglo numrico de tamao 10 e imprimir en orden inverso
5.- Obtener el tamao del arreglo y llenarlo
6.- Hacer la suma de los elementos de un arreglo de tamao definido por el usuario.
7.- Obtener el promedio de los elementos de un arreglo de tamao definido por el usuario
8.- Manejar dos arreglos paralelamente, en donde un arreglo corresponda a la matricula y
otro al nombre del alumno.
9.- Hacer la suma de dos arreglos y obtener un arreglo resultado
10.- Hacer la suma de tres arreglos
11.- Llenar un arreglo esttico
Respuesta:
Proceso Ejercicio1
Definir nombres como Caracter;
Definir x como Entero;
Dimension nombres[5];
Para x<-0 Hasta 4 Hacer
Escribir "Introduce un nombre";
Leer nombres[x];
FinPara
Para x<-0 Hasta 4 Hacer
Escribir nombres[x];
FinPara
FinProceso
Proceso Ejercicio2
Definir x, num como Entero;
Dimension num[5];
Para x<-0 Hasta 4 Hacer
Escribir "Introduce un numero";
Leer num[x];
FinPara
Para x<-0 Hasta 4 Hacer
Escribir num[x];
FinPara
FinProceso
Proceso Ejercicio3
Definir x como Entero;
Definir num como Real;
Dimension num[5];
Para x<-0 Hasta 4 Hacer
Escribir "Introduce un numero";
Leer num[x];
FinPara
Para x<-0 Hasta 4 Hacer
Escribir num[x];
FinPara
FinProceso
Proceso Ejercicio4
Definir x, num como Entero;
Dimension num[10];
Para x<-0 Hasta 4 Hacer
Escribir "Introduce un numero";
Leer num[x];
FinPara
Para x<-4 Hasta 0 Con Paso -1 Hacer
Escribir num[x];
FinPara
FinProceso
Proceso Ejercicio5
Definir x, num, tam como Entero;
Escribir "Define el tamao del arreglo: ";
Leer tam;
Dimension num[tam];
Para x<-0 Hasta tam-1 Hacer
Escribir "Introduce un numero";
Leer num[x];
FinPara
Para x<-0 Hasta tam-1 Hacer
Escribir num[x];
FinPara
FinProceso
Proceso Ejercicio6
Definir x, num, tam, suma como Entero;
suma<- 0;
Escribir "Define el tamao del arreglo: ";
Leer tam;
Dimension num[tam];
Para x<-0 Hasta tam-1 Hacer
Escribir "Introduce un numero";
Leer num[x];
FinPara
Para x<-0 Hasta tam-1 Hacer
suma<- suma + num[x];
FinPara
Escribir "Suma = " , suma;
FinProceso
Proceso Ejercicio7
Definir x, num, tam como Entero;
Definir promedio como Real;
promedio<- 0;
Escribir "Define el tamao del arreglo: ";
Leer tam;
Dimension num[tam];
Para x<-0 Hasta tam-1 Hacer
Escribir "Introduce un numero";
Leer num[x];
FinPara
Para x<-0 Hasta tam-1 Hacer
promedio<- promedio + num[x];
FinPara
promedio <- promedio / tam;
Escribir "Promedio = " , promedio;
FinProceso
Proceso Ejercicio8
Definir x, tam como Entero;
Definir matricula, nombre como Caracter;
Escribir "Define el tamao del arreglo: ";
Leer tam;
Dimension matricula[tam], nombre[tam];
Para x<-0 Hasta tam-1 Hacer
Escribir "Introduce la matricula";
Leer matricula[x];
Escribir "Indroduce el nombre";
Leer nombre[x];
FinPara
Para x<-0 Hasta tam-1 Hacer
Escribir matricula[x], " - ", nombre[x];
FinPara
FinProceso
Proceso Ejercicio9
Definir x, tam, num1, num2, total como Entero;
Escribir "Define el tamao del arreglo: ";
Leer tam;
Dimension num1[tam], num2[tam], total[tam];
Escribir "llenando arreglo 1";
Para x<-0 Hasta tam-1 Hacer
Leer num1[x];
FinPara
Escribir "llenando arreglo 2";
Para x<-0 Hasta tam-1 Hacer
Leer num2[x];
FinPara
Para x<-0 Hasta tam-1 Hacer
total[x] <- num1[x] + num2[x];
FinPara
Para x<-0 Hasta tam-1 Hacer
Escribir total[x];
FinPara
FinProceso
Proceso Ejercicio10
Definir x, tam, num1, num2, total como Entero;
Escribir "Define el tamao del arreglo: ";
Leer tam;
Dimension num1[tam], num2[tam], total[tam];
Escribir "llenando arreglo 1";
Para x<-0 Hasta tam-1 Hacer
Leer num1[x];
FinPara
Escribir "llenando arreglo 2";
Para x<-0 Hasta tam-1 Hacer
Leer num2[x];
FinPara
Para x<-0 Hasta tam-1 Hacer
total[x] <- num1[x] + num2[x];
FinPara
Para x<-0 Hasta tam-1 Hacer
Escribir total[x];
FinPara
FinProceso
Proceso Ejercicio11
Definir x, tam, num1 como Entero;
Dimension num1[5];
num1[0] <- 1;
num1[1] <- 2;
num1[2] <- 3;
num1[3] <- 4;
num1[4] <- 5;
Para x<-0 Hasta 4 Hacer
Escribir num1[x];
FinPara
FinProceso
El Tiempo de Espera (TE) lo calculas con la suma de los tiempos de espera de los
procesos anteriores
4.- Hacer la simulacin de sistema de turnos para pasar a una ventanilla a hacer un
movimiento o consulta. Para esto se sabe que el sistema de turnos tiene una cola de
tamao mximo de 20 por da, cuando llega un cliente se le asigna un turno, si la cola esta
llena se le manda el mensaje de regresar otro da. Para avanzar la cola, el empleado de la
ventanilla va solicitando los turnos hasta que la cola queda vaca.
10
Matrices
Tambin conocidos como arreglos bidimensionales
son el inicio de una base de datos, ya que contienen filas y columnas
Es un conjunto de elementos, todos del mismo tipo.
una matriz tiene al menos dos dimensiones y por cada una de ellas un subndice.
para el caso de una matriz de dos dimensiones el subndice de la izquierda se refiere a las
filas y el de la derecha a las columnas [Filas, Columnas]
Una matriz es muy utilizada para calificaciones de una clase, datos estadsticos, datos
financieros, calendarios, juegos como ajedrez o gato etc..
Proceso Ejercicio1
Definir matriz, x, y como Entero;
Dimension matriz[2,2];
matriz[0,0] <- 0;
matriz[0,1] <- 1;
matriz[1,0] <- 2;
matriz[1,1] <- 3;
Para x<-0 Hasta 1 Hacer
Para y<-0 Hasta 1 Hacer
Escribir matriz[x,y];
FinPara
FinPara
FinProceso
11
12
Funciones
Una funcin no es ms que un bloque de cdigo con un determinado fin o propsito,
podemos definir ms de una y nos permiten ahorrar lneas cdigo si nuestros programas
son muy extensos o hay codificacin redundante.
13
Escribir suma;
FinSubProceso
Proceso Ejercicio3
Operacion(10, 5);
FinProceso
Envio de variables y retornando un valor:
SubProceso suma <- Operacion (num1, num2)
Definir suma Como Entero;
suma <- num1 + num2;
FinSubProceso
Proceso Ejercicio3
Escribir Operacion(10, 5);
FinProceso
14