Está en la página 1de 48

Curso de

Algorimia y Programación

ARREGLOS
UNIDIMENSIONALES EN
Arreglos Unidimensionales
Objetivos instruccionales
◉Comprender el concepto de arreglo
◉Identificar las operaciones básicas sobre los arreglos
(insertar, modificar datos, lectura y recorrido del arreglo)
◉Aplicar algoritmos básicos de búsqueda en arreglos
◉Desarrollar la solución a un problema que requiera
almacenar datos para posteriores operaciones cuya
solución involucre el uso de esos datos
INTRODUCCIÓN AL USO DE
ARREGLOS
En un laboratorio se esta realizando un experimento sobre
un material y una de las pruebas requiere registrar valores
del cambio de temperatura del material cada minuto
durante cinco minutos

¿Como registraría los valores en Python?


¿Cuantas veces se requiere hacerlo?
¿Cómo calcularía un promedio?
INTRODUCCIÓN AL USO DE
ARREGLOS

E !
¿Como registraría los valores en
N T Python?
C I
temp1 = int(input("digite la temperaturaE en el minuto 1")
F I
E
temp2 = int(input("digite la temperatura en el minuto 2")
la S
temp3 = int(input("digite E temperatura en el minuto 3")
NO la temperatura en el minuto 4")
temp4 = int(input("digite
temp5 = int(input("digite la temperatura en el minuto 5")

Cuantas veces se requiere hacerlo?


¿Se requiere hacerlo 5 veces

◉ ¿Cómo calcularía un promedio?


Sumando los datos uno por uno y dividiendolos por la cantidad
INTRODUCCIÓN AL USO DE
ARREGLOS

◉ Problema propuesto: Plantee un ejemplo similar relacionado


con su carrera. Responda las preguntas:

◉ ¿Como almacenaría los valores en Python?


◉ ¿Cuantas veces se requiere hacerlo?
◉ ¿Qué variable estadística de interés se puede estimar a partir de
los datos?
QUÉ ES UN ARREGLO
UNIDIMENSIONAL
◉ Un arreglo es un conjunto de datos con un numero fijo
de componentes, todos del mismo tipo, que están
referenciados bajo el mismo nombre.
◉ Cada componente del arreglo se puede acceder
mediante índices (0, 1, 2, 3, …) encerradas entre
corchetes [ ]
Para Qué Sirven Los Arreglos?
Los arreglos permiten manejar de forma sencilla y directa
conjuntos de datos del mismo tipo, de los cuales
conocemos su cantidad y con los cuales se realizarán
operaciones similares.
QUÉ ES UN ARREGLO
UNIDIMENSIONAL
Un arreglo se puede ver como un conjunto de espacios
finitos donde se almacenan elementos (todos del mismo
tipo).
Un arreglo también puede verse como cajas ordenadas en
fila y numeradas, donde en cada caja se almacena un
solo elemento u objeto.
QUÉ ES UN ARREGLO
UNIDIMENSIONAL
◉ Para acceder a un dato especifico en una de las
posiciones de un arreglo se requiere de un índice (0, 1,
2, 3, 4) encerrado entre corchetes [ ]

temperatura
0 1 2 3 4
28 29 30 28 31

El valor en temperatura[0] es igual a 28


El valor en temperatura[4] es igual a 31

◉ Nota: Aunque el tamaño del arreglo es 5 la ultima


posición es 4 (porque la posición inicia en 0)
QUÉ ES UN ARREGLO
UNIDIMENSIONAL

◉ Problema propuesto: Escriba el nombre de un arreglo relacionado con


algún problema de su carrera, escriba algunos datos que podría llevar el
arreglo, identifique algunos valores y los respectivos índices.
QUÉ ES UN ARREGLO
UNIDIMENSIONAL
Suponga que se desean analizar los siguientes datos
correspondientes al consumo de electricidad durante un
mes, en el que se obtuvieron 50 muestras de casa en una
zona residencial de la ciudad:

Se desea encontrar los consumos promedio, máximo,


mínimo, la desviación estándar, la mediana del consumo y
la varianza de la muestra.
QUÉ ES UN ARREGLO?
Ejemplo: Escriba un programa en Python que solicite los
nombres de cada estudiante de cualquier curso y los muestre
todos al final.
Sin arreglos tendríamos que declarar un número
arbitrariamente grande de variables de tipo String (¿100?,
¿200?) de tal forma que nunca hubiera más estudiantes que
variables del programa.

!
C O
TI
A C
P R
ES
N O
QUÉ ES UN ARREGLO?
Recordar:
Un arreglo se usa para almacenar elementos del mismo tipo.
Un arreglo es de tamaño fijo
Cada elemento se almacena en un espacio independiente.
Cada espacio se referencia con un índice (0, 1, 2, 3, …, n)
nombre
“Oscar” “Pedro” “Rosa” “Carlos” “Luisa”
nombre es un arreglo de Strings que tiene 5 elementos

nota
3.5 2.8 3.9 5.0
nota es un arreglo de reales que tiene 4 elementos
QUÉ ES UN ARREGLO?
Cuales son arreglos?
0 1 2 3 4
5.0 12.5 3.7 4.1 9.3
QUÉ ES UN ARREGLO?
Cuales son arreglos?
0 1 2 3 4
5.0 12.5 3.7 4.1 9.3

0 1 2 3
“Oscar” “Pedro” 34 46
QUÉ ES UN ARREGLO?
Cuales son arreglos?
0 1 2 3 4
5.0 12.5 3.7 4.1 9.3

0 1 2 3
“Oscar” “Pedro” 34 46

0 1
-4 5
DECLARANDO UN ARREGLO
La declaración de un arreglo se hace de la siguiente forma:
variable = [dato1, dato2, … , daton]

Ejemplo:
b = [6.0, 1, 3, 9, 8]

Declaración de una lista vacía:


variable = [None]*longitudlista

Ejemplo:
d = [None]*5
DECLARAR E INICIALIZAR UN
ARREGLO
Declarar e inicializar un arreglo se hace de la siguiente
forma:
variable = [dato1, dato2, … , daton]

Ejemplo:
nombre = [“Oscar”, “Pedro”, “Rosa”, “Carlos”, “Luisa”]

nota = [3.5, 2.8, 3.9, 5.0]

edadEstudiante = [18, 21, 17, 24, 19]


INSERCIÓN DE DATOS EN UN
ARREGLO
Para ingresar datos en un arreglo se debe indicar la
posición (por medio de un índice) del arreglo en el que se
va a insertar el valor:

nombreArreglo [posición] = valor

NOTA: No importa el orden en el cual se guardan los datos


en el arreglo
INSERCIÓN DE DATOS EN UN
ARREGLO
Existen métodos que permiten ingresar datos en el arreglo:
append(“Valor") // agrega un elemento a una lista en
última posición.
insert(2, “vlr") // agregar elemento a lista en la posición
indicada 
extend(["dos", “cosa"]) // agregar lista al final de una lista
Ejemplo:
ELIMINACIÓN DE DATOS
Existen métodos que permiten eliminar datos en un arreglo:
pop() // elimina el último elemento del arreglo.
pop(3) // elimina el elemento de la posición indicada
del arreglo
remove(“valor") // elimina el elemento definido en
“valor” de la lista
Ejemplo:
ELIMINACIÓN E INSERCIÓN DE
DATOS
MÁS INSERCIÓN DE DATOS

nombre = [None]*4
Guarda el texto
nombre[1] = “Oscar” “Oscar” en la
posición 1 del
arreglo nombre

0 1 2 3
“Oscar”
MÁS INSERCIÓN DE DATOS

nombre = [None]*4
Guarda el texto
nombre[1] = “Oscar” “Rosa” en la
nombre[2] = “Rosa” posición 2 del
arreglo.

0 1 2 3
“Oscar” “Rosa”
MÁS INSERCIÓN DE DATOS

nombre = [None]*4
Guarda el texto
nombre[1] = “Oscar” “Iván” en la
nombre[2] = “Rosa” posición ? del
arreglo.
nombre[?] = “Iván”

0 1 2 3
“Iván” “Oscar” “Rosa”

Cuál debe ser el índice?


MÁS INSERCIÓN DE DATOS

nombre = [None]*4
Guarda el texto
nombre[1] = “Oscar” “Iván” en la
nombre[2] = “Rosa” posición ? del
arreglo.
nombre[0] = “Iván”

0 1 2 3
“Iván” “Oscar” “Rosa”

El indice debe ser 0


MÁS INSERCIÓN DE DATOS

nombre = [None]*4
nombre[1] = “Oscar” La instrucción
nombre[4] = “Sara”
nombre[2] = “Rosa”
es válida?
nombre[0] = “Iván”

0 1 2 3
“Iván” “Oscar” “Rosa”
MÁS INSERCIÓN DE DATOS
¿Cuál es el error en cada una de las líneas?

nombre = [None]*4
Índice fuera del rango (5)
nombre[0] = 21.2;

nombre[5] = 90
Carácter inválido (es una
nombre[2] = “100” cadena de texto)

0 1 2 3
MÁS INSERCIÓN DE DATOS
¿Cuáles son las instrucciones necesarias para obtener el
arreglo que se muestra abajo?

nota = [None]*4
nota[?] = 2.7
nota[?] = ?
nota[?] = ?

nota[?] = ?
0 1 2 3
2.7 3.1 4.5 2.0
EXTRACCIÓN DE DATOS
Para recuperar datos de un arreglo se debe indicar la
posición(índice) del arreglo que se quiere conocer:

nombreArreglo [posición]

nombre[2]

0 1 2 3
“Iván” “Oscar” “Rosa” null
nombre[2] indica que el valor en la posición 2 es “Rosa”
EXTRACCIÓN DE DATOS
Para imprimir el valor de un datos en un arreglo se debe
indicar la posición(índice) del arreglo:

print (nombre [2])

0 1 2 3
“Iván” “Oscar” “Rosa” null

Salida:
Rosa
EXTRACCIÓN DE DATOS

datosExp = [None]*5
datosExp[0] = 21
datosExp[1] = datosExp[0] + 30
datosExp[2] = 10* datosExp[1]

0 1 2 3 4
EJEMPLOS CON ARREGLOS
Presente el conjunto de instrucciones Python para crear
un arreglo de enteros de tamaño 100
Adicione las instrucciones que necesite para solicitar al
usuario cada uno de los 100 números
después, muestre todos los números en un solo mensaje
Luego, muestre solo los números almacenados en
posiciones pares
Y finalmente, muestre los números impares contenidos
en el arreglo
Ejemplos con Arreglos
Presente el conjunto de instrucciones Python para crear
un arreglo de enteros de tamaño 100

numero = [None]*100
Ejemplos con Arreglos
Adicione las instrucciones que necesite para solicitar al
usuario cada uno de los 100 números:

numero = [None]*100 !
C O
numero[0]=int (input(“Ingrese un valor”)) TI
numero[1]=int (input(“Ingrese un valor”)) AC
P R
...
ES
numero[99]=int (input(“Ingrese un valor”)) O
N
Ejemplos con Arreglos
Adicione las instrucciones que necesite para solicitar al
usuario cada uno de los 100 números:

numero = [None]*100
for i in range (0, 100):
numero[i] = int (input(“Ingrese un valor”))
Ejemplos con Arreglos
después, muestre todos los números en un solo mensaje

mensaje = “”
for i in range (0,100):
mensaje=mensaje + " \t " + str(numero[i])
print (mensaje)
Ejemplos con Arreglos
y, muestre los números impares contenidos en el arreglo

mensaje = “”
for i in range (0, 100):
if (numero[i] %2 <> 0):
mensaje=mensaje + " \t " + str(numero[i])
print (mensaje)
Arreglos y ciclo for
La función len(arreglo) indica la cantidad de elementos
del arreglo.

b = [None]*5 b = [None]*5
m = 3 m = 3
for i in range (0,5): for i in range (0,len(b)):
b[i] = m b[i] = m
m+ = 3 m+ = 3

0 1 2 3 4
3 6 9 12 15
Ejemplo con Arreglos
Escriba un programa en Python que solicite los nombres de
cada estudiante de cualquier curso y los muestre todos de
forma numerada al final. Use un arreglo para almacenar el
nombre de cada estudiante.

1. Análisis del problema


Entradas: nro de estudiantes, nombre de los estudiantes
Salidas: lista con todos los nombres enumerados.
Proceso: ?
Ejemplo con Arreglos
Escriba un programa en Python que solicite los nombres de cada estudiante de
cualquier curso y los muestre todos de forma numerada al final. Use un arreglo
para almacenar el nombre de cada estudiante.

1. Análisis del problema


Entradas: nro de estudiantes, nombre de los estudiantes
Salidas: lista con todos los nombres enumerados.
Proceso: ?
Debemos capturar los nombres de n estudiantes. por lo tanto
requerimos primero conocer el valor de n para saber cuál será el
tamaño del arreglo.

El arreglo será un arreglo de datos tipo String de tamaño n.

La salida del programa será un String que contendrá la lista


numerada de los nombres de los estudiantes.
Ejemplo con Arreglos
Escriba un programa en Python que solicite los nombres de cada estudiante de cualquier
curso y los muestre de forma numerada. Use un arreglo para almacenar los datos.

2. Diseñar el algoritmo y escribirlo en pseudocódigo


Proceso: ?
INICIO
n,i: entero
lista="Lista de nombres de los Estudiantes es:\n ": texto
leer(n)
nombre[n]: texto
//insertamos datos en el arreglo
para j=0 hasta que j<n incrementando j en 1
Haga
leer(nombre[j])
Fin desde

//Formamos la salida
para i=0 mientras i<n incrementando i en 1
haga
lista= lista+(i+1)+nombre[i]+“\n”
Fin desde
imprimir (lista)
FIN
Ejemplo con Arreglos
Escriba un programa en Python que solicite los nombres de cada estudiante de cualquier
curso y los muestre de forma numerada. Use un arreglo para almacenar los datos.

3. Prueba de escritorio del pseudocódigo


INICIO
n,i: entero
lista="Lista de nombres de los Estudiantes es:\n ": texto

leer(n)
nombre[n]: texto
//insertamos datos en el arreglo
para j=0 mientras j<n incrementando j en 1
Haga Probarlo!
leer(nombre[j])
Fin desde

//Formamos la salida
para i=0 mientras i<n incrementando i en 1
haga
lista= lista+(i+1)+nombre[i]+“\n”
Fin desde
imprimir (lista)
FIN
Ejemplo con Arreglos
Escriba un programa en Python que solicite los nombres de cada estudiante de cualquier
curso y los muestre de forma numerada. Use un arreglo para almacenar los datos.

4. Codificar algoritmo usando un lenguaje de programación


nombre = [None]*5
lista= "La lista de nombres de los Estudiantes es:\n"
n = int(input(“Ingrese el numero de estudiantes: "))

// Ingreso de los nombres de los estudiantes


for j in range (0,n):
nombre[j] = (input(“Ingrese nombre del estudiante ”))

// Despliegue de la lista de estudiantes:


for i in range (0,n):
lista = lista + str((i+1)) + ". " + nombre[i] + '\n‘

print (lista)
Ejemplo con Arreglos
Desarrolle un programa en Python que permita leer el nombre
de 10 productos de una tienda y su correspondiente precio.
La aplicación debe decir cuántos de ellos cuestan más de
3.000 pesos y mostrar su nombre y precio.

Utilice arreglos para almacenar los precios y nombres de


productos
Ejercicios sobre Arreglos
1) Escriba un programa en Python que lea una lista de n enteros,
calcule el promedio de los datos ingresados, el mayor y el menor
de ellos.
2) Escriba un programa en Python que dada una lista de enteros y
un valor x por parte del usuario, diga cuántas veces aparece el
valor x en la lista. El programa como salida debe mostrar la lista
ingresada por el usuario e indicar cuántas veces aparece el valor x
y en cuáles posiciones
3) En una competencia de natación se desea implementar una
aplicación para almacenar el tiempo por cada competidor y además
determinar con base en todos los tiempos de los competidores
quienes ocupan los tres primeros lugares. El usuario debe
especificar cuantos tiempos (competidores) desea ingresar.
4) Desarrolle un programa que recorra un arreglo de enteros,
evalúe si sus datos son múltiplos de 7 y los muestre en pantalla.
Ejercicios sobre Arreglos
3) La Universidad del Valle requiere un programa que le permita conocer cómo califican
los estudiantes la comida de la cafetería central. Para ello definió una escala de 1 a 10 (1
denota horrible y 10 denota excelente). El programa debe ser capaz capturar la
calificación de cualquier número de estudiantes (no se sabe cuántos estudiantes se
encuestarán, así que cuando el encuestador ingrese la calificación de 0, se sabrá que la
encuesta habrá concluido).
El programa deberá mostrar en su salida cuántos estudiantes fueron encuestados así
como el resumen de la encuesta con histograma así:

Estudiantes encuestados: 111


Frecuencia de las calificaciones:
Calificación núm. Estudiantes Histograma
1 3 ***
2 2 **
3 10 **********
… … ...
8 9 *********
9 15 ***************
10 7 *******
Arreglos en Python
Se cumplieron los objetivos?
Comprende el concepto de arreglo?
Se Identifican cuales son las operaciones básicas sobre
los arreglos?
Esta en capacidad de insertar, modificar datos en un
arreglo?
Puede realizar la lectura de datos y hacer el recorrido por
el arreglo?
Es capaz de realizar una búsqueda dentro de un arreglo?
Puede resolver un problema donde se requiera almacenar
datos, cuya solución involucre el uso de arreglos?

También podría gustarte