¿Qué son los arrays?
Hasta ahora, has visto contenedores para un solo valor, como son las variables o las constantes. ¿Qué te parece si te digo que hay contenedores especiales capaces de almacenar varios valores a la vez sin perder los anteriores?
Pues bien, aquí es donde entran en juego los arrays.
Array en español se suele traducir como Arreglo. La palabra arreglo es un anglicismo. Proviene de la palabra inglesa array, que significa ordenar.
En Python (sin complementos), hay un elemento que podemos denominar array, pero que en realidad no lo es. Se le conoce como lista.
Espacio publicitario
Ejemplo práctico de array con PSeInt
Vamos a crear 5 variables para almacenar estos valores: (5, 78, 43, 1, 467) y hacemos una suma de ellos. Aún no vamos a utilizar arrays.
Verás muy pronto, que hay mejores maneras de hacer esto.
Algoritmo arrays
// Variables
Definir numero1 Como Entero
Definir numero2 Como Entero
Definir numero3 Como Entero
Definir numero4 Como Entero
Definir numero5 Como Entero
Definir resultado Como Entero
numero1 <- 5
numero2 <- 78
numero3 <- 43
numero4 <- 1
numero5 <- 467
// Calcula y muestra el resultado
resultado <- numero1 + numero2 + numero3 + numero4 + numero5
Escribir "El resultado es: ", resultado
FinAlgoritmo
Podemos evitar utilizar 5 variables, si utilizamos un array:
Algoritmo arrays
// Creamos el array y la variable de resultado
Definir array_numerico Como Entero
Definir resultado Como Entero
// Especificamos el tamaño del array
Dimension array_numerico[5]
// Asignamos los valores a cada espacio del array
array_numerico[1] <- 5
array_numerico[2] <- 78
array_numerico[3] <- 43
array_numerico[4] <- 1
array_numerico[5] <- 467
// Calcula y muestra el resultado
resultado <- array_numerico[1] + array_numerico[2] + array_numerico[3] + array_numerico[4] + array_numerico[5]
Escribir "El resultado es: ", resultado
FinAlgoritmo
Primero, definimos el array como si fuera una variable. Después, le indicamos el tamaño del array. Si queremos guardar 5 elementos, le ponemos un 5. Si son 7, pues un 7.
Asignamos los valores a cada posición del array. Lo
indicamos en los corchetes. [1]
es el primer
espacio del array, pues ahí se guarda el valor
5
. Finalmente, para utilizar el array, hay
que llamarlo con su nombre e indicar qué posición.
¿Queremos el valor 43? Pues llamamos a la posición
array_numerico[3]
.
Array fuera de rango
Un error muy común cuando trabajamos con arrays, es el de salirse del rango de valores:
Algoritmo arrays
// Creamos el array
Definir array_numerico Como Entero
// Especificamos el tamaño del array
Dimension array_numerico[5]
// Asignamos los valores a cada espacio del array
array_numerico[1] <- 5
array_numerico[2] <- 78
array_numerico[3] <- 43
array_numerico[4] <- 1
array_numerico[5] <- 467
Escribir array_numerico[7]
FinAlgoritmo
En la línea 16, estoy intentando llamar a la posición 7 de un array que solo tiene 5. A estas posiciones se les conoce en programación como índice. Este índice, es simplemente una numeración para poder referenciar a los elementos del array en el código (llamarlos).
Índice en inglés se dice index y subíndice, subindex.
Fuera de rango en inglés se dice out of range.
En las listas de Python no tenemos que especificar el tamaño de las estas. Estas se van expandiendo solas a medida que le añadimos valores. Además, mientras que muchos lenguajes de programación, solo nos dejan tener un mismo tipo de dato en todas las posiciones del array (si son enteros, todos enteros, si son decimales, todos decimales), Python nos deja poner los tipos de datos mezclados, si así lo queremos. Eso si, si llamamos a una posición inexistente como en este ejemplo, también nos dará un error de este tipo.
Espacio publicitario
Espacio publicitario
Ejercicios de programación para resolver
42. Crea un array, que contenga estos elementos:
- 10.5
- 34
- 56.8
En este caso, debías definir un array como
Decimal
, dado que hay valores decimales.
Aunque haya un valor entero, da igual. No vas a tener
un error, recuerda que el tipo de dato
Real
de PSeInt, admite valores decimales
y enteros.
Algoritmo arrays
// Creamos el array
Definir array_numerico Como Real
// Especificamos el tamaño del array
Dimension array_numerico[3]
// Asignamos los valores a cada espacio del array
array_numerico[1] <- 10.5
array_numerico[2] <- 34
array_numerico[3] <- 56.8
FinAlgoritmo
43. Crea un array que contenga estos elementos:
- "rojo"
- "verde"
- "azul"
- "amarillo"
Esta vez, debías crear el array como
Cadena
, ya que son datos de ese tipo.
Algoritmo arrays
// Creamos el array
Definir array_colores Como Cadena
// Especificamos el tamaño del array
Dimension array_colores[4]
// Asignamos los valores a cada espacio del array
array_colores[1] <- "rojo"
array_colores[2] <- "verde"
array_colores[3] <- "azul"
array_colores[4] <- "amarillo"
FinAlgoritmo
44. Mediante el array del ejercicio anterior, imprime en la consola el valor "azul".
"azul"
está en la posición 3, es tan
fácil como llamar a su posición de índice:
Algoritmo arrays
// Creamos el array
Definir array_colores Como Cadena
// Especificamos el tamaño del array
Dimension array_colores[4]
// Asignamos los valores a cada espacio del array
array_colores[1] <- "rojo"
array_colores[2] <- "verde"
array_colores[3] <- "azul"
array_colores[4] <- "amarillo"
Escribir array_colores[3]
FinAlgoritmo
Espacio publicitario