logica de programacion: arreglos
TRANSCRIPT
8-2 Temas Conceptos básicos de arreglos
Secuencialmente buscando en arreglos
Procesar el contenido de un arreglo
Arreglos paralelas
Arreglos bidimensionales
Arreglos de tres o más dimensiones
8-3
Conceptos básicos de arreglos
Un arreglo permite almacenar un grupo de elementos del mismo tipo de datos juntos en la memoria
¿Por qué? En lugar de crear múltiples variables similares, como Employee1, Employee2, employee3 etc…
Es más eficiente para crear un solo variable
Declare String employees[50]
Declare Real salesAmounts[7]
El número en el [] es el tamaño de la matriz
8-4
Arreglos básicos
Los lugares de almacenamiento en una matriz son elementos
Cada elemento de la matriz tiene un número único llamado un subíndice que lo identifica - el subíndice siempre empieza en 0
Subindice de arreglos
8-5Arreglos básicos
Asignación de valores se pueden hacer de forma individual mediante un subíndice…
Set numbers[0] = 20
Set numbers[1] = 30
Set numbers[2] = 40
Set numbers[3] = 50
Set numbers[4[ = 60Pero, es mucho más eficaz utilizar un bucle para recorrer la matriz
8-7
Arreglos básicos
Las matrices se pueden inicializar a 0 o valores específicos
Declare String days[7] = “Sunday”, “Monday”, “Tuesday”, Wednesday”, “Thursday”, “Friday”, “Saturday”
Límites de la matriz de comprobación se debe realizar para evitar la utilización de un subíndice no válido
Days[7] = “Saturday” is invalid because there is no 7 index
Un error común está ejecutando un bucle una vez más de lo necesario, superando la cuota de la matriz
Apagado por uno de error
8-8
Arreglos básicos
Matriz parcialmente lleno
A veces, un arreglo sólo se llena parcialmente
Para evitar el procesamiento de los elementos sin relleno, deben tener una variable entera acompañada que contiene el número de elementos almacenados en la matriz.
Cuando la matriz está vacía, 0 se almacena en esta variable
La variable se incrementa cada vez que se agrega un elemento a la matriz
El valor de la variable se utiliza como el tamaño de la matriz al entrar a través de la matriz.
Constant Integer SIZE = 100
Declare Integer values[SIZE]
Declare Integer count = 0
Declare Integer number
Declare Integer Index
Display "Enter a number, or -1 to quit."
Input number
While (number != -1 AND count < SIZE)
Set values[count] = number
Set count = count + 1
Display "Enter a number, or -1 to quit."
Input number
End While
Display "Here are the values you entered:"
For index = 0 To count - 1
Display values[index]
End For
8-9
Arreglos básicos
Ejemplo de
Matriz parcialmente lleno
La variable de recuento contiene el número
de elementos almacenados en la matriz.
8-10Arreglos básicos
El For Each Loop Algunos lenguajes proporcionan un bucle For Each Se trabaja con una matriz, la iteración es una vez para cada
elemento de la matriz Durante cada iteración, el bucle copia de un elemento de valor a
una variable.
8-11Arreglos básicos
Constant Integer SIZE = 5
Declare Integer numbers[SIZE] = 5, 10, 15, 20, 25
Declare Integer num
For Each num In numbers
Display num
End For
Ejemplo For Each
8-12
Secuencialmente Buscando en un arreglo
Un algoritmo de búsqueda secuencial es una técnica sencilla para encontrar un elemento en una cadena o una matriz numérica Utiliza un bucle secuencial a través de una matriz Compara cada elemento con el valor que se busca Detiene cuando el valor se encuentra o el final de la matriz
es golpeado Set found = False
Set index = 0While found == False AND index <= SIZE -1
If (array[index] == searchValue ThenSet found = True
ElseSet index = index + 1
End IfEnd While
8-13
Procesando el contenido de un arreglo
Para un total de los valores en una matriz y el cálculo de la media
Los Loops se utilizan para acumular los valores
Entonces, el total se divide simplemente Por el tamaño
8-15
Procesando el contenido de un arreglo
Encontrar a los más altos y más bajos valores en una matriz
El más alto Crear una variable para contener el valor más alto Asigne el valor en el elemento 0 al más alto Utilice un bucle al paso por el resto de los
elementos Cada iteración, se hace una comparación con la
variable más alto Si el elemento es mayor que el valor más alto, que
el valor es entonces la asigna a la variable más alto El mas bajo
Mismo proceso, pero comprueba si el elemento es menor que el valor más bajo
8-16
Procesando el contenido de un arreglo
Copia de un arreglo se puede hacer utilizando bucles
For index = 0 to SIZE – 1
Set secondArray[index] = firstArray[index]
End For
Pasando un arreglo como argumento
Por lo general debe pasar la matriz y el tamaño
Llamad del modulo
getTotal(numbers, SIZE)
Header del modulo
Function Integer getTotal (Integer array[], Integer arraySize)
8-17
Arreglos paralelos
Al utilizar el mismo subíndice, se puede establecer una relación entre los datos almacenados en dos o más matrices.
Los nombres y direcciones arreglos
8-18
Arreglos de dos dimensiones
Un arreglo bidimensional es como varios arreglos idénticos juntos Supongamos que un profesor tiene seis estudiantes que toman cinco
pruebas
Array de dos dimensiones con seis filas y cinco columnas
8-19
Arreglos de dos dimensiones
Se requieren dos variables de tamaño al declarar
Constant Integer ROWS = 3
Constant Integer COLS = 4
Declare Integer values[ROWS][COLS]
Acceso se realiza con dos loops, y ambos subíndices
For row = 0 To ROWS -1
For col = 0 To COLS – 1
Display “Enter a number.”
Input values[row][col]
End For
End For