Download EJERCICIOS

Document related concepts

MapReduce wikipedia , lookup

Miranda (lenguaje de programación) wikipedia , lookup

UCBLogo wikipedia , lookup

Icon wikipedia , lookup

QuickCheck wikipedia , lookup

Transcript
EJERCICIOS
INTRODUCCIÓN A LA PROGRAMACIÓN – GRUPO D
PROFESORA: OLGA LUCÍA ROA
ALUMNO: ________________________________
1. Describa la siguiente función y haga una prueba de escritorio.
from list import *
import string
def mLis(cad,salid):
if(len(cad)!=0):
salid=cons(string.upper(str(cab(cad))),salid)
return(mLis(col(cad),salid))
print(str(salid))
Descripción de la función:
Identificación de Variables
Variables de Entrada
cad = lista de caractéres
salid = lista de caractéres de salida
Seguimiento de los valores despues de cada iteración
Del siguiente llamado a la función >>> mLis(['i','n','t','r','o'],[ ])
Iteración\variable =>
1
2
3
4
5
6
7
8
9
cad
col (cad )
salid
17. Escriba una función que reciba como parámetro de entrada una lista de canciones y otra
lista con la duración de cada una de las canciones en minútos, se desea saber cuanto
tiempo se necesita para reproducir todas las canciones.
2. Escriba una función func2 que reciba como parámetro un lista de números y retorne dos
numeros enteros correspondiente a la sumatoria de todos elementos de la lista en las
posiciones pares y las posiciones impares. Por ejemplo:
Se recibe el lista. L = [10,12,40,38]
Contenido
Posicion
4
1
12
2
40
3
38
4
La función debe retornar
sumPares = 50
sumImpares = 44
3. Escriba una función fuMenor que reciba como parámetro una lista de números y retorne un
número entero correspondiente al menor elemento de la lista.
4. Escriba una función fuPali que reciba como parámetro una lista de caracteres (que
corresponden a una palabra ) y determine si esta palabra es palíndrome, es decir si se lee
igual del inicio al final que del final al inicio. La función retorna un boolean (True: si es
palíndrome ó False: no es palíndrome). Por ejemplo:
Entrada : pala = [‘r’,’a’,’d’,’a’,’r’] Salida: True
Entrada : pala = [‘c’,’a’,’s’,’a’] Salida: Falsa
Entrada : pala = [‘a’,’m’,’a’] Salida: True
5. Escriba una función fuMaxCDiv que reciba como parámetro dos números y retorne un
número entero correspondiente al máximo común divisor
Usando el algoritmo de Euclides, información disponible en:
http://es.wikipedia.org/wiki/Algoritmo_de_Euclides
6. Escriba una función que reciba como parámetro de entrada dos listas Nombres y
Apellidos respectivamente y retorne una lista Directorio, la cual integra el contenido de
las dos listas de entrada, por ejemplo:
Parámetros de entrada (Nombres y Apellidos)
Nombres = [“Lina”,”Marcela”,”Maria”,”Pedro”]
Apellidos = [“Romero”,”Giron”,”Saenz”,”Bohorquez”]
Salida (Directorio)
Directorio =[“Lina Romero”,”Marcela Giron”,”Maria Saenz”,”Pedro Bohorquez”]
Recuerde que se le pide retornar (usar la palabra reservada return) la lista Directorio, NO
imprimir.
7. Escriba una función que trabaje con listas y recursividad para solucionar el siguiente
problema:
La NASA está realizando un experimento para determinar el tiempo que un astronauta puede
resistir con una reserva adicional de oxígeno en su tanque personal en caso de un fallo en el
sistema de ventilación de una nave. Para ello colocaron un astronauta en una piscina de
entrenamiento con un tanque de 30 libras y medirán el consumo de oxígeno que realiza el
astronauta durante cada hora hasta que el tanque quede vacío. Como es evidente, no es
posible consumir una cantidad de oxígeno mayor a la disponible. Usted debe realizar un
programa que simule el experimento. El valor del consumo de oxígeno en cada hora se obtiene
en una lista como parámetro de entrada (Oxigeno) hasta que éste se agote, e informando
finalmente en cuál de todas las horas el consumo de oxígeno fue mayor. Recuerde que la
Hora, la puede manejar como la posición dentro de la lista.
Ejemplo1:
Si los datos del experimento son:
Hora
0
1
2
Oxígeno
--7
8
OxígenoRes
30
23
15
3
4
5
-
6.5
5
3.5
8.5
3.5
0
El programa debe retornar solamente la hora de mayor consumo de oxígeno = 2
Ejemplo2:
Si los datos del experimento son:
Hora
0
1
2
3
4
5
6
Oxígeno consumido
durante la hora
--5
4.5
7.5
6
4.2
2.8
Oxígeno restante
30
25
20.5
13
7
2.8
0
El algoritmo debe debe retornar solamente la hora de mayor consumo de oxígeno =3
8. Escriba una función que reciba como parámetro de entrada una lista de Estudiantes y otra
lista con su respectiva Nota de introducción, y retorne una lista de los estudiantes que
pasaron la materia llamada EstudiantesOk.
10. Escriba una función fun10 que reciba como parámetro de entrada una lista de palabras y
una palabra y retorne (return) cuántas veces aparece esa palabra en la lista de palabras.
Variables de Entrada
palabras = ['Carmen', 'Alberto', 'Benito', 'Carmen']
palabra = Carmen
Variable de salida
Retorna = 2
11. Escriba una función que reciba como parámetro de entrada dos listas GrupoD y GrupoA
respectivamente y retorne una lista GrupoDyA, la cual integra el contenido de las dos listas de
entrada intercalando los estudiantes de los dos grupos, por ejemplo:
Parámetros de entrada (GrupoD y GrupoA)
GrupoD = [“Lina Roa”,”Marcela Zapata”,”Maria Romero”,”Pedro Perez”]
GrupoA = [“Sergio Romero”,”Edwin Giron”,”Carlos Saenz”,”Olga Bohorquez”]
Salida (GrupoDyA)
GrupoDyA =[“Lina Roa”,”Sergio Romero”,”Marcela Zapata”,”Edwin Giron”,”Maria Romero”,
“Carlos Sanez, “Pedro Perez”,”Olga Bohorquez”]
Recuerde que se le pide retornar (usar la palabra reservada return) la lista GrupoDyA
NO imprimir.
12. Escriba una función que reciba como parámetro de entrada una lista de palabras y que, a
continuación, cree una segunda lista con las palabras de la primera, pero sin palabras
repetidas. El programa debe retornar la segunda lista, el orden de las palabras en la segunda
lista no es importante.
13. Escriba una función que reciba como parámetro de entrada un número y retorne una lista
de todos los divisores (incluidos uno y él mismo).
14. Escriba una función que reciba un número y retorne una lista de todos los números primos
hasta él..
Entrada: 100
Salida: [1,2, 3,5,7,11, 13,17, 19, 23, 29, 31, 37,41,43,47,53,59,61,67,71,73,79,83,89,97]
15. Escriba una función que reciba como parámetro de entrada una lista de caractéres en
minúscula y retorne una lista con todos los caractéres en mayúscula.
16. Escriba una función que reciba como parámetro de entrada una lista de Estudiantes y tres
listas con las notas del primer, segundo y tercer parcial de introducción se asume que todos los
parciales valen lo mismo, y retorne una lista con la NotaDefinitiva. Recuerde que para cada
uno de los 100000 estudiantes de introducción:
NotaDefinitiva = (notaPrimerParcial + notaSegundoParcial + notaTercerParcial)/3
17. Escriba una función concatena que reciba una lista de listas y devuelva una única lista
que contenga el resultado de concatenar todas las listas de entrada. Por ejemplo para
[[1,2,3],[2,8],[],[3,6]] la función debe retornar [1,2,3,2,8,3,6].
18. Escriba una función que dada una lista de entrada, devuelva un booleando que indique si
la lista de entrada estaba o no ordenada de menor a mayor.
19. Escriba un función que dada una lista de enteros de entrada, devuelva esa mismas lista
pero eliminando en ella todos los números pares. Es decir para la lista [1,34,12,7,8,1,9]
retorna [1,7,1,9]. Escribe otra función que haga lo mismo pero dejando en la lista sólo los
números pares.
20. Existen sistemas numericos como el sistema binario (investiga de que se trata este
sistema). Escribe una función que dado un número entero positivo devuelva una lista de
enteros que contenga la representación binaria (sin signo) del entero de entrada. Por
ejemplo, para 13 la función debe retornar [1,1,0,1].
21. Escribe una función que reciba como parámetro una lista de Docentes, relacionados con
una lista de Profesiones, y una profesión específica La función debe retornar todos los
profesores que tienen esta profesion. Nota. Se asume que por cada elemento de la lista
Docentes existe un elemento en Profesiones, es decir que tienen una relación uno a
uno.