miércoles, 12 de noviembre de 2014

ARREGLOS


ARREGLO


Un arreglo en LPP puede ser considerado como una agrupación de objetos del mismo tipo que se nombran mediante un único identificador; tales objetos ocupan una posición al interior del arreglo y pueden ser leídos o escritos accediendo a dicha posición. Los arreglos suelen dividirse en vectores (arreglos unidimensionales) y matrices (arreglos bidimensionales).

Nota: se pueden crear arreglos de más dimensiones (arreglos n-dimensionales donde n es un número natural) pero, típicamente, los arreglos de mayor dimensión que se usan son los tridimensionales (de 3 dimensiones).

Como ejemplo se podría tomar una lista de estudiantes de un grupo particular: se puede intuir que cada posición de la lista es ocupada por un único estudiante pero, cuando se hace referencia al total de estudiantes se puede hablar de “la lista de estudiantes del grupo X” y, si se desea llamar a un estudiante específico bastaría con saber su posición en la lista.
Lista.png
Nota: En la imagen anterior, si se llama al estudiante de la posición 3, solamente José López respondería.



Vectores


- Declaración de vectores en LPP

Un arreglo unidimensional en LPP se declara usando las palabra reservada arreglo seguida por una pareja de corchetes cuadrados que entre ellos tiene la cantidad MÁXIMA de datos que puede albergar el arreglo; posteriormente se escribe la palabra reservada de seguida del tipo de datos que se van a guardar y, por último se escribe el nombre que va a llevar el arreglo.
Cifras.png

Ejemplo:
Para declarar el vector de enteros contenidos en la anterior tabla habría que escribir los siguiente:
arreglo[8] de entero Cifras
Donde arreglo[8] de define un arreglo unidimensional que podrá admitir hasta 8 datos, entero simboliza el tipo de datos que pueden ser alojados al interior del arreglo y Cifras es el nombre del arreglo.

- Llenando vectores en LPP

Para llenar un arreglo unidimensional en LPP basta con invocar la posición del arreglo a la cual se quiere acceder (esto se hace escribiendo el nombre del arreglo seguido de un par de corchetes cuadrados con la posición a la que se desea acceder entre ellos) y asignarle el valor que se desea guardar en dicha posición.

Ejemplo:
Para dar un valor de 3 a la primera posición del arreglo que se declaró en el ejemplo anterior, la instrucción sería:
Cifras[1]<-3

- Imprimiendo vectores en LPP

Para conocer el valor que se tiene guardado en una posición de un arreglo dado, basta con ingresar la palabra escriba seguida del nombre del arreglo y la posición (entre dos corchetes cuadrados) a la cual queremos acceder.

  • Ejemplo:
Para ver qué valor tiene la primera posición del arreglo que se usó en el ejemplo anterior, la instrucción sería:


arreglo[8] de entero Cifras
entero n
inicio
 Cifras[1]<-3
 Cifras[2]<-7
 Cifras[3]<-9
 Cifras[4]<-5
 Cifras[5]<-2
 Cifras[6]<-4
 Cifras[7]<-8
 Cifras[8]<-1
 //Los valores para cada posición del arreglo han sido colocados uno por uno solamente para que coincidan con el ejemplo de la tabla
 para n<-1 hasta 8 haga
  escriba Cifras[n]
  llamar nueva_linea 
 fin para
fin



Matriz

- Declaración de matrices en LPP

Un arreglo bidimensional en LPP se declara usando las palabra reservada arreglo seguida por una pareja de corchetes cuadrados que entre ellos tienen dos cifras separadas por una coma: la primera cifra indica la cantidad de filas que tendrá el arreglo, mientras que la segunda cifra indica la cantidad de columnas que tendrá el mismo. Posteriormente se escribe la palabra reservada de seguida del tipo de datos que se van a guardar y, por último se escribe el nombre que va a llevar la matriz.
Matriz.png

Ejemplo:
Para declarar la matriz de cadenas contenidas en la anterior tabla habría que escribir lo siguiente:
arreglo[2,4] de cadena[4] Nombres
Donde arreglo[2,4] de define un arreglo bidimensional con 2 filas y 3 columnas, cadena[4] simboliza el tipo de datos que pueden ser alojados al interior del arreglo (palabras de máximo 4 letras) y Nombres es el nombre del arreglo.

- Llenando matrices en LPP

Para llenar un arreglo unidimensional en LPP basta con invocar la posición del arreglo a la cual se quiere acceder (esto se hace escribiendo el nombre del arreglo seguido de un par de corchetes cuadrados con la posición a la que se desea acceder entre ellos) y asignarle el valor que se desea guardar en dicha posición.

Ejemplo:
Para colocar la palabra "Paco" en el arreglo que se declaró en el ejemplo anterior, la instrucción sería:
Nombres[1,2]<-"Paco"
Nota: tenga en cuenta que la primera cifra del arreglo corresponde a la fila y la segunda cifra corresponde a la columna; en otras palabras la instrucción diría "en la primera fila y segunda columna del arreglo llamado Nombres, coloque la cadena "Paco". Además, el dato a ingresar se debe colocar entre comillas dobles (") para que el programa reconozca que es una cadena.

-Imprimiendo matrices en LPP

Para conocer el valor que se tiene guardado en una posición de un arreglo dado, basta con ingresar la palabra escriba seguida del nombre del arreglo y la posición (fila y columna separadas por coma), entre los corchetes cuadrados, a la cual queremos acceder.
  • Ejemplo:
Para ver qué valor tiene la tercera columna de la segunda fila del arreglo que se usó en el ejemplo anterior, la instrucción sería:

arreglo[2,4] de cadena[4] Nombres
entero filas, columnas
inicio
 Nombres[1,1]<-"Hugo"
 Nombres[1,2]<-"Paco"
 Nombres[1,3]<-"Luis"
 Nombres[1,4]<-"Juan"
 Nombres[2,1]<-"Jose"
 Nombres[2,2]<-"Pepe"
 Nombres[2,3]<-"Topo"
 Nombres[2,4]<-"Nino"
 para filas<-1 hasta 2 haga //Estructura repetitiva que recorre las filas del arreglo
  para columnas<-1 hasta 4 haga //Estructura repetitiva que recorre las columnas del arreglo
   escriba Nombres[filas, columnas]," " //Se concatena con un espacio en blanco por presentación
  fin para
  llamar nueva_linea //Se hace un salto de linea para que muestre los elementos de cada fila en un renglón diferente
 fin para
fin








5 comentarios: