View
254
Download
0
Category
Preview:
Citation preview
7/26/2019 Laboratorio 06 - listas
1/12
Algoritmos I (IS-141) 1 UNSCH
Ing. Manuel A. Lagos Barzola
LABORATORIO 06
LISTAS Y MUTABILIDAD
I. OBJETIVOS:
1) Conocer las caractersticas de las estructuras tipo listas y diccionarios.2) Escribir programas utilizando estructuras tipo listas.3) Escribir programas utilizando estructuras tipo diccionarios.4) Comprender el concepto de mutabilidad.
II. REVISIN CUESTIONARIO LABORATORIO ANTERIOR
Estructuras repetitivas
III. DESARROLLO DE LA PRCTICA:
A. LISTAS :
Python nos permite definir secuencias de valores de cualquier tipo. Por ejemplo,podemos definir secuencias de nmeros enteros o flotantes, o incluso decadenas. Hablamos entonces de listas. En una lista podemos, por ejemplo,registrar las notas de los estudiantes de una clase, la evolucin de la
temperatura hora a hora, los coeficientes de un polinomio, la relacin denombres de personas asistentes a una reunin, etc.Python sigue una notacin especial para representar las listas. Los valores deuna lista deben estar encerrados entre corchetes y separados por comas. Heaqu una lista con los nmeros del 1 al 3:
7/26/2019 Laboratorio 06 - listas
2/12
Algoritmos I (IS-141) 2 UNSCH
Ing. Manuel A. Lagos Barzola
Nmero de elementos de una lista:
Concatenando Listas: Operador +
Reproduciendo Listas: Operador *
Operador Indexacin:
Cortando listas:
7/26/2019 Laboratorio 06 - listas
3/12
Algoritmos I (IS-141) 3 UNSCH
Ing. Manuel A. Lagos Barzola
Recorriendo los elementos de una lista:
Comando range:
Comparando listas:
7/26/2019 Laboratorio 06 - listas
4/12
Algoritmos I (IS-141) 4 UNSCH
Ing. Manuel A. Lagos Barzola
Otras comparaciones:
Operador is:
Modificando elementos de una lista:
7/26/2019 Laboratorio 06 - listas
5/12
Algoritmos I (IS-141) 5 UNSCH
Ing. Manuel A. Lagos Barzola
Mutabilidad, inmutabilidad y representacin de la informacin enmemoria:
Python procura no consumir ms memoria que la necesaria. Ciertos objetos soninmutables, es decir, no pueden modificar su valor. El nmero 2 es siempre el
nmero 2. Es un objeto inmutable. Python procura almacenar en memoria unasola vez cada valor inmutable. Si dos o ms variables contienen ese valor, susreferencias apuntan a la misma zona de memoria. Considera este ejemplo:
Agregando elementos a una lista:
7/26/2019 Laboratorio 06 - listas
6/12
Algoritmos I (IS-141) 6 UNSCH
Ing. Manuel A. Lagos Barzola
Diferencia:
Leyendo elementos del teclado para llenar una lista:
7/26/2019 Laboratorio 06 - listas
7/12
Algoritmos I (IS-141) 7 UNSCH
Ing. Manuel A. Lagos Barzola
Borrando elementos de una lista:
B. EJERCICIOS:
1. Disear un programa que, dados un elemento y una lista, nos diga si elelemento pertenece o no a la lista mostrando en pantalla el mensajePertenece o No pertenece en funcin del resultado.
2. Hacer un diagrama de flujo que busque en una lista de 100 nmeros, unnmero ingresado por el usuario. La lista de nmeros debe ser ingresado porteclado en un arreglo unidimensional(lista) previamente.
3. Hacer un diagrama de flujo para calcular el mximo y el mnimo de N nmerosalmacenados en una lista. La lista de nmeros debe ser ingresado por tecladoen un arreglo unidimensional(lista) previamente. L as operaciones de lectura denmeros para la lista y el clculo del mayor y menor nmero se deben repetir 5veces.
4. Escriba un programa para almacenar el nombre y correo electrnico de susamistades. Luego este deber pedir un nuevo nombre y correo para registrarse,siempre y cuando no haya otro nombre igual ya registrado. El ingreso de nuevosdatos se realiza mientras el usuario lo desee.
5. Escriba un programa que tome una lista e imprima si hay elementos repetidos;si algn elemento aparece ms de una vez.
6. Escriba un programa que permita crear dos listas de palabras y que a
continuacin elimine de la primera lista los nombres de la segunda.7. 6. Escriba un programa que le permita a un usuario multiplicar los datos de dos
matrices. Este debe ingresar la dimensin de las matrices y los elementos decada matriz.
C. CUESTIONARIO LISTAS
listas_01
7/26/2019 Laboratorio 06 - listas
8/12
Algoritmos I (IS-141) 8 UNSCH
Ing. Manuel A. Lagos Barzola
Escribe un programa que permita crear una lista de palabras. Para ello, elprograma tiene que pedir un nmero y luego solicitar ese nmero de palabraspara crear la lista. Por ltimo, el programa tiene que escribir la lista.
Dime cuntas palabras tiene la lista:3
Dime la palabra 1:AlbertoDime la palabra 2:Benito
Dime la palabra 3:Carmen
La lista creada es: ['Alberto', 'Benito', 'Carmen']
listas_02
Escribe un programa que permita crear una lista de palabras y que, acontinuacin, pida una palabra y diga cuntas veces aparece esa palabra en lalista.
Dime cuntas palabras tiene la lista:4
Dime la palabra 1:Carmen
Dime la palabra 2:Alberto
Dime la palabra 3:Benito
Dime la palabra 4:Carmen
La lista creada es: ['Carmen', 'Alberto', 'Benito', 'Carmen']
Dime la palabra:Carmen
La palabra 'Carmen' aparece 2 veces en la lista.
listas_03
Escribe un programa que permita crear una lista de palabras y que, acontinuacin, pida dos palabras y sustituya la primera por la segunda en la lista.
Dime cuntas palabras tiene la lista:4
Dime la palabra 1:Alberto
Dime la palabra 2:Carmen
Dime la palabra 3:Benito
Dime la palabra 4:Carmen
La lista creada es: ['Alberto', 'Carmen', 'Benito', 'Carmen']
Sustituir la palabra:Carmen
por la palabra:David
La lista es ahora: ['Alberto', 'David', 'Benito', 'David']
listas_04
7/26/2019 Laboratorio 06 - listas
9/12
Algoritmos I (IS-141) 9 UNSCH
Ing. Manuel A. Lagos Barzola
Escribe un programa que permita crear una lista de palabras y que, acontinuacin, pida una palabra y elimine esa palabra de la lista.
Dime cuntas palabras tiene la lista:4
Dime la palabra 1:Alberto
Dime la palabra 2:CarmenDime la palabra 3:Carmen
Dime la palabra 4:Benito
La lista creada es: ['Alberto', 'Carmen', 'Carmen', 'Benito']
Dime la palabra:Carmen
La lista es ahora: ['Alberto', 'Benito']
listas_05
Escribe un programa que permita crear dos listas de palabras y que, acontinuacin, elimine de la primera lista los nombres de la segunda lista.
Dime cuntas palabras tiene la lista:5
Dime la palabra 1:Carmen
Dime la palabra 2:Carmen
Dime la palabra 3:Alberto
Dime la palabra 4:Benito
Dime la palabra 5:David
La lista creada es: ['Carmen', 'Carmen', 'Alberto', 'Benito', 'David']Dime cuntas palabras tiene la lista de palabras a eliminar:3
Dime la palabra 1:Benito
Dime la palabra 2:Juan
Dime la palabra 3:Carmen
La lista de palabras a eliminar es: ['Benito', 'Juan', 'Carmen']
La lista es ahora: ['Alberto', 'David']
listas_06
Escribe un programa que permita crear una lista de palabras y que, acontinuacin, cree una segunda lista igual a la primera, pero al revs (no setrata de escribir la lista al revs, sino de crear una lista distinta).
Dime cuntas palabras tiene la lista:4
Dime la palabra 1:Alberto
Dime la palabra 2:Carmen
Dime la palabra 3:Benito
Dime la palabra 4:DanielLa lista creada es: ['Alberto', 'Carmen', 'Benito', 'Daniel']
La lista inversa es: ['Daniel', 'Benito', 'Carmen', 'Alberto']
7/26/2019 Laboratorio 06 - listas
10/12
Algoritmos I (IS-141) 10 UNSCH
Ing. Manuel A. Lagos Barzola
listas_07
Escribe un programa que permita crear dos listas de palabras y que, a
continuacin, escriba las siguientes listas (en las que no debe haberrepeticiones):
Lista de palabras que aparecen en las dos listas Lista de palabras que aparecen en la primera lista, pero no en la segunda Lista de palabras que aparecen en la segunda lista, pero no en la primera Lista de palabras que aparecen en ambas listas
Dime cuntas palabras tiene la primera lista:3
Dime la palabra 1:CarmenDime la palabra 2:Alberto
Dime la palabra 3:Benito
La primera lista es: ['Carmen', 'Alberto', 'Benito']
Dime cuntas palabras tiene la segunda lista:3
Dime la palabra 1:Benito
Dime la palabra 2:Juan
Dime la palabra 3:Carmen
La segunda lista es: ['Benito', 'Juan', 'Carmen']
Palabras que aparecen en las dos listas: ['Carmen', 'Benito']Palabras que slo aparecen en la primera lista: ['Alberto']
Palabras que slo aparecen en la segunda lista: ['Juan']
Todas las palabras: ['Carmen', 'Benito', 'Alberto', 'Juan']
listas_08
Escribe un programa que permita crear una lista de palabras y que, acontinuacin, ordene la lista por orden alfabtico.
Dime cuntas palabras tiene la lista:4
Dime la palabra 1:Carmen
Dime la palabra 2:Alberto
Dime la palabra 3:Daniel
Dime la palabra 4:Benito
La lista creada es: ['Carmen', Alberto', 'Daniel', 'Benito']
La lista odenada es: ['Alberto', 'Benito', 'Carmen', 'Daniel']
listas_09
7/26/2019 Laboratorio 06 - listas
11/12
Algoritmos I (IS-141) 11 UNSCH
Ing. Manuel A. Lagos Barzola
Escribe un programa que permita crear una lista de palabras y que, acontinuacin, cree una segunda lista con las palabras de la primera, pero sinpalabras repetidas (el orden de las palabras en la segunda lista no esimportante).
Dime cuntas palabras tiene la lista:6Dime la palabra 1:Alberto
Dime la palabra 2:Carmen
Dime la palabra 3:Alberto
Dime la palabra 4:Daniel
Dime la palabra 5:Benito
Dime la palabra 6:Daniel
La lista creada es: ['Alberto', 'Carmen', 'Alberto', 'Daniel', 'Benito', 'Daniel']
La lista sin repeticiones es: ['Alberto', 'Carmen', 'Daniel', 'Benito']
listas_10
Escribe un programa que pida un nmero y a continuacin escriba la lista detodos los divisores del nmero (incluidos el uno y l mismo).
Dime un nmero:36
36 tiene 9 divisores: [1, 2, 3, 4, 6, 9, 12, 18, 36]
Dime un nmero:125
125 tiene 4 divisores: [1, 5, 25, 125]
listas_11
Escribe un programa que pida un nmero y a continuacin escriba la lista detodos los nmeros primos hasta l..
Dime un nmero:100
Primos hasta 100: 1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 7173 79 83 89 97
listas_12
Escribe un programa que calcule trminos de una sucesin del tipo Un+1= aUn+ b. El programa tiene que pedir el valor de a, de b y del trmino U0y elnmero de trminos a calcular.
Clculo de trminos de una sucesin U(n+1)=a.U(n)+b.
Dime el valor de a:2
Dime el valor de b:-1Dime el valor de U(0):3
7/26/2019 Laboratorio 06 - listas
12/12
Algoritmos I (IS-141) 12 UNSCH
Ing. Manuel A. Lagos Barzola
Dime cuntos trminos quieres:8
Los trminos de la sucesin son: [3, 5, 9, 17, 33, 65, 129, 257]
listas_13
Escribe un programa que calcule trminos de la sucesin Un+1= 3 Un+ 1 siUnes impar y U n+1= Un/ 2 si Unes par. El programa tiene que pedir el trminoU0y el nmero de trminos a calcular.
Clculo de trminos de la sucesin U(n+1)=3.U(n)+1 si n es impar yU(n)=U(n)/2 si n es par.
Dime el valor de U(0): 7
Dime cuntos trminos quieres:20
Los trminos de la sucesin son: [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16,8, 4, 2, 1, 4, 2, 1]
Recommended