Vous êtes sur la page 1sur 14

Estructura de Datos

Arreglos
Experiencia Educativa de Algortmica

ESTRUCTURA DE DATOS - ARREGLOS

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:

Arreglos (Vectores y Matrices)

Registros

Ficheros (Archivos)

Conjuntos

Cadenas

Dinmicos:

Listas (Pilas y Colas)

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.

ESTRUCTURA DE DATOS - ARREGLOS

El tipo ms simple de un arreglo es aquel que denominamos por unidimencional, es decir


una matriz de una dimensin
Comando usado en pseint es Dimension seguido del nombre del arreglo y su tamao
entre corchetes [ ]
Hay que recordar que un arreglo antes de ser utilizado debe de ser definido, en caso de
ser de tipo numrico, ya sea entero o real, se define como Numeros, si es de Carcter
como Caracter.
Dimension variable [ ]

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

ESTRUCTURA DE DATOS - ARREGLOS

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

ESTRUCTURA DE DATOS - ARREGLOS

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

ESTRUCTURA DE DATOS - ARREGLOS

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

ESTRUCTURA DE DATOS - ARREGLOS

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

ESTRUCTURA DE DATOS - ARREGLOS

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

ESTRUCTURA DE DATOS - ARREGLOS

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

ESTRUCTURA DE DATOS - ARREGLOS

Prctica 7: Realizar los siguientes ejercicios


1.- Llenar una pila de tamao 10 dinmicamente a travs de la secuencia numrica de 2, 4,
8, 16, 32, . e imprimir sus elementos
2.- Llenar una cola de tamao 20 dinmicamente a travs de la secuencia numrica de 2, 4,
6, 12, 14, 16,. e imprimir sus elementos
3.- Llenar una cola de procesos de acuerdo a la metodologa de First-come, first-served
(FCFS) y determinar el Tiempo de Finalizacin (TF) y el Tiempo de Retorno (TR) de los
procesos enlistados a continuacin:

Proceso Tiempo de Servicio


(TS)

TF = Tiempo de Servicio del proceso Actual + Tiempo de Espera de los procesos


anteriores.

El Tiempo de Espera (TE) lo calculas con la suma de los tiempos de espera de los
procesos anteriores

El Tiempo de Retorno (TR), es el tiempo transcurrido entre el Tiempo de Llegada del


proceso y el Tiempo de Finalizacin (TR = TF Llegada)

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.

ESTRUCTURA DE DATOS - ARREGLOS

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

ESTRUCTURA DE DATOS - MATRICES

11

Prctica 8: Realizar los siguientes ejercicios


1.- Crear una matriz de enteros, llenarla estticamente e imprimirla en pantalla.
2.- Crear una matriz de nmeros reales, llenarla estticamente e imprimirla en pantalla.
3.- Crear una matriz de enteros de tamao, llenarla dinmicamente e imprimirla en
pantalla.
4.- Crear una matriz de caracteres, llenarla dinmicamente e imprimirla en pantalla.
5.- crear una tabla que contenga el nombre de 5 atletas de salto de longitud y almacene los
resultados correspondientes a la longitud de sus saltos en sus 5 pruebas realizadas.
6.- En una escuela se desea controlar los resultados de los alumnos en las distintas
asignaturas. El programa debe permitir ingresar las calificaciones de los alumnos y
visualizar en pantalla el promedio de las notas por alumno y el promedio de notas por
asignatura. Se tienen 5 materias y estn inscritos 10 alumnos (las calificaciones las pueden
introducir de forma dinmica o esttica)
7.- En un complejo habitacional se cuenta con 7 edificios de departamentos de 10 pisos
cada uno de ellos y cada piso tiene 2 departamentos.
Debes almacenar de forma esttica el nmero de habitantes por departamento.
Se desea saber:
a) Cantidad total de habitantes del complejo
b) Cantidad promedio de habitantes por piso de cada edificio
c) Cantidad promedio de habitantes por edificio

ESTRUCTURA DE DATOS - MATRICES

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.

En PseInt las Funciones o Subprocesos comienzan con la palabra reservada Funcin y


terminan con FinFuncion o tambin se puede usar SubProceso - FinSubProceso.
Siempre se declaran afuera del proceso principal para ser llamados o invocados en ste.
Tambin pueden o no retornar un valor o recibir cierta cantidad de argumentos.
El ejemplo base del uso de funciones es:
Funcion mensaje()
Escribir "Usando funciones";
FinFuncion
Proceso Ejercicio1
mensaje();
FinProceso
En el caso de SubProcesos:
SubProceso mensaje()
Escribir "Usando sub procesos";
FinSubProceso
Proceso ejercicio2
mensaje();
FinProceso
Ahora como se hace el envo de variables sin retornar:
SubProceso Operacin (num1, num2)
Definir suma Como Entero;
suma <- num1 + num2;

ESTRUCTURA DE DATOS - FUNCIONES

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

ESTRUCTURA DE DATOS - FUNCIONES

14

Vous aimerez peut-être aussi