Vista previa del material en texto
Algoritmia y Programación Tema 3: Variables Multivalor Profesora: Luz Estela Muñoz ceballos email: lemunozc@uao.edu.co Dando cumplimiento a la Ley estatutaria 1581 de 2012, la Universidad Autónoma de Occidente se permite informar que esta sesión académica será transmitida en vivo, se podrán tomar imágenes de los asistentes y ser grabada en video para usos y fines estrictamente académicos. Los derechos de autor sobre el contenido de la sesión académica se encuentran protegidos conforme a lo dispuesto por el artículo 20 de la Ley 23 de 1982, modificado por el artículo 28 de la Ley 1450 de 2011. Queda prohibida su difusión, distribución o divulgación en redes sociales o cualquier otro medio no institucional. INFORMACIÓN LEGAL ¿Qué es una variable multivalor? Arreglos unidimensionales Operaciones Variables Multivalor Ordenamiento Que el estudiante conozca sobre el procesamiento, uso de arreglos y cómo su utilización es necesaria cuando se va a manejar conjuntos de muchos datos. VARIABLES MULTIVALOR Arreglos - Objetivo de aprendizaje Un arreglo es un tipo especial de variable que permite almacenar más de un valor al mismo tiempo. VARIABLES MULTIVALOR Arreglos - Definición Estructura de datos que permite referenciar varios datos con un mismo nombre, que se distinguen entre ellos mediante un subíndice. Es homogénea; es decir, contiene valores de un solo tipo de dato. Su aplicación se enmarca al uso masivo de datos, mediante la utilización de los ciclos. VARIABLES MULTIVALOR Arreglos - Características Todos los arreglos tienen un tamaño máximo que es definido cuando se crean. La información dentro de los arreglos se reconoce por un índice ó posición, en la que se almacenan los valores. El primer valor se guarda en el índice ó posición 0 y el último en el índice ó posición tamaño-1. VARIABLES MULTIVALOR Arreglos - Particularidades subíndices Arreglo de longitud 10 Elemento en el subíndice 8 : datos[8] Nombre del Arreglo: datos VARIABLES MULTIVALOR Arreglos - Unidimensionales (vectores) Estrategia Pedagógica Aprender Haciendo Manos a la obra Una empresa de comidas rápidas vende OnLine su producto estrella “Pastelitos Demenciales”. Para medir la efectividad del servicio de ventas por internet, cada vez que se realiza una venta, la cantidad de pasteles vendidos es almacenada para su posterior análisis. En el transcurso de un día, la empresa necesita conocer la cantidad total de pasteles vendidos, la cantidad promedio, la venta con mayor cantidad de pasteles y la de menor cantidad. VARIABLES MULTIVALOR Arreglos Unidimensionales - Ejemplo Supongamos que se hicieron 10 ventas en un día. Actividades: ● Dibuje un arreglo de tamaño 10, enumere cada posición iniciando con el índice 0. ● Las cantidades vendidas fueron: 32, 25, 7, 421, 24, 48, 60, 95, 300 y 91. ● Asigne los valores en el arreglo. VARIABLES MULTIVALOR Arreglos Unidimensionales - Ejemplo El arreglo con las cantidades vendidas queda así: VARIABLES MULTIVALOR Arreglos Unidimensionales - Ejemplo Se necesita calcular y mostrar: ● El promedio de las ventas ● La mayor venta ● La menor venta Finalmente muestre los datos del arreglo VARIABLES MULTIVALOR Arreglos Unidimensionales - Ejemplo / análisis VARIABLES MULTIVALOR Arreglos Unidimensionales - Ejemplo / propuesta de solución 1 VARIABLES MULTIVALOR Arreglos Unidimensionales - Ejemplo / propuesta de solución 2 VARIABLES MULTIVALOR Arreglos Unidimensionales - Ejemplo / prop. 1 Vs Prop. 2 VARIABLES MULTIVALOR Arreglos Unidimensionales - subproceso calcularPromedio VARIABLES MULTIVALOR Arreglos Unidimensionales - subproceso calcularMayorVenta VARIABLES MULTIVALOR Arreglos Unidimensionales - subproceso calcularMenorVenta VARIABLES MULTIVALOR Arreglos Unidimensionales - subproceso mostrarDatos Operación Resultado nombreArreglo = [0]*T Crea un arreglo de enteros con T ceros nombreArreglo = [0.0]*T Crea un arreglo de reales con T ceros nombreArreglo = [None]*T Crea un arreglo para almacenar hasta T datos. nombreArreglo = [] Crea un arreglo vacío VARIABLES MULTIVALOR Arreglos Unidimensionales - Funciones de Python Operación Resultado nombreArreglo.append(dato) Añade un dato al final del arreglo nombreArreglo.insert(posición ,dato) Inserta un dato en una posición especificada del arreglo. Si la posición dada no existe, lo añade al final nombreArreglo[posición]=Dato Modifica el contenido de una posición en el arreglo nombreArreglo = [d1, d2, d3, d4…,dn] Crea un arreglo con n datos donde n es el número de elementos del arreglo. VARIABLES MULTIVALOR Arreglos Unidimensionales - Funciones de Python Operación Resultado nombreArreglo.remove(dato) Elimina el dato del arreglo len(nombreArreglo) Retorna el número de elementos del arreglo min(nombreArreglo) Retorna el menor elemento del arreglo VARIABLES MULTIVALOR Arreglos Unidimensionales - Funciones de Python Operación Resultado max(nombreArreglo) Retorna el mayor elemento del arreglo sum(nombreArreglo) Retorna la suma de los elementos en el arreglo VARIABLES MULTIVALOR Arreglos Unidimensionales - Funciones de Python VARIABLES MULTIVALOR Arreglos Unidimensionales - Propuesta 1 / Implementación VARIABLES MULTIVALOR Arreglos Unidimensionales - Propuesta 1 / Implementación VARIABLES MULTIVALOR Arreglos Unidimensionales - Propuesta 1 / Implementación VARIABLES MULTIVALOR Arreglos Unidimensionales - Propuesta 1 / Implementación VARIABLES MULTIVALOR Arreglos Unidimensionales - Propuesta 1 / Implementación VARIABLES MULTIVALOR Arreglos Unidimensionales - Propuesta 1 / Resultados VARIABLES MULTIVALOR Arreglos Unidimensionales - Propuesta 2 / Implementación VARIABLES MULTIVALOR Arreglos Unidimensionales - Usando Funciones de Python VARIABLES MULTIVALOR Arreglos Unidimensionales - otra alternativa ● Búsqueda. ● Contar elementos con algún patrón. ● Ordenar. VARIABLES MULTIVALOR Arreglos Unidimensionales - Operaciones Verificar si en un arreglo unidimensional se encuentra almacenado un dato solicitado por el usuario. Búsqueda secuencial. VARIABLES MULTIVALOR Arreglos Unidimensionales - Búsqueda VARIABLES MULTIVALOR Arreglos Unidimensionales - Búsqueda VARIABLES MULTIVALOR Arreglos Unidimensionales - Búsqueda Realice el flujograma para un método en que determine si algún estudiante tuvo como definitiva una nota superior a 4.5, en el curso de Algoritmia y Programación. VARIABLES MULTIVALOR Arreglos Unidimensionales - Ejercicio Busqueda Realice el flujograma para un subproceso que determine cuántos estudiantes aprobaron el curso ?. VARIABLES MULTIVALOR Arreglos Unidimensionales - Ejercicio Conteo Realice el análisis modular para las siguientes situaciones: ● Un subproceso que reciba un arreglo de notas de un curso de Algoritmia y Programación, para calcular la nota promedio del curso; ● Un subproceso que reciba el arreglo de notas y la nota promedio, para determinar cuántas notas son mayores que la nota promedio. ● Proceso principal, que procese el arreglo, llame los métodos y muestre los resultados. VARIABLES MULTIVALOR Arreglos Unidimensionales - Ejercicio VARIABLES MULTIVALOR Arreglos Unidimensionales - Ordenamiento Consiste en dar organización particular a los datos dentro del arreglo. El ordenamiento numérico puede ser ascendente o descendente. El de cadenas de caracteres, es alfabético. Métodos populares: Burbuja, Inserción, Selección, QuickSort, ShellSort, MergeSort. VARIABLES MULTIVALOR Arreglos Unidimensionales - Ordenamiento 12 -5 4 -8 12 -5 4 -8 -5 12 Conjunto de valores a ordenar 4 -8Primera pasada 4 12-5 -8-5 12 4 -8 -5 4 -8 12|-5 4 12 -8 -8 4-5 12 Segunda pasada -5 4 -8 12 No hay intercambio -5 4 -8 12 -5 -8 4 12 No hay intercambio -8 -5 4 12Tercera pasada -5 -8 4 12 -8 -5 4 12 No hay intercambio -8 -5 4 12 No hay intercambio -8 -5 4 12 No hay intercambio -8 -5 4 12 No hay intercambio Cuarta pasada -8 -5 4 12 No hayintercambio VARIABLES MULTIVALOR Arreglos Unidimensionales - Ordenamiento Burbuja VARIABLES MULTIVALOR Arreglos Unidimensionales - Ordenamiento Burbuja Ascendente VARIABLES MULTIVALOR Arreglos Unidimensionales - Clonamiento VARIABLES MULTIVALOR Arreglos Unidimensionales - Clonamiento Operación Resultado dato in nombreArreglo Buscar dato en el arreglo nombreArreglo.sort() Ordena ascendentemente los datos de un arreglo nombreArreglo.sort(reverse = True) Ordena descendentemente los datos de un arreglo VARIABLES MULTIVALOR Arreglos Unidimensionales - Funciones de Python Operación Resultado nombreArreglo.index(dato) Devuelve el índice donde se encuentra el dato en el arreglo. “Solo si el dato existe” “Si está más de una vez devuelve la primera coincidencia” nombreArreglo.count(dato) devuelve el número de veces que un dato está en el arreglo. VARIABLES MULTIVALOR Arreglos Unidimensionales - Funciones de Python Operación Resultado copia = nombreArreglo[:] Crea una copia del arreglo slicing (Extraer) VARIABLES MULTIVALOR Arreglos Unidimensionales - Funciones de Python