Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PEP N°1
1. (15 puntos) Genere el diagrama de abstracción para una implementación del juego de cartas
del blackjack, considerando que:
El objetivo del juego es que uno de los jugadores obtenga la puntuación más cercana a 21, a
partir de una mano de cartas.
● El juego considera un jugador y al computador (Que a su vez, hace de croupier, es decir,
reparte las cartas).
● Se reparten inicialmente dos cartas por jugador.
● El jugador revisa sus cartas, puede escoger entre plantarse (quedarse con las cartas que
tiene), o solicitar otra carta.
● El croupier tiene reglas rígidas: si su puntuación inicial fuera 16 o menor está obligado a
tomar otra carta, y si su puntuación alcanza 17 o más, debe plantarse.
● Cuando un jugador tiene más de 21 puntos sumados en su mano, automáticamente
pierde.
● Si el jugador alcanza el valor de 21, gana automáticamente, sino, el jugador que tenga un
valor más cercano a 21 desde abajo gana.
selección mazo
mano mano
escogerOpcion repartirCartas jugadaCroupier
mano
opción mano
opción
repartirCarta plantarse
mano
puntaje
mano
calcularPuntaje determinarGanador calcularPuntaje
puntaje
ganador
2
12 de diciembre de 2015
palabra
(string)
verificarEntrada revisarRimas imprimirPalabras
palabrasQueRiman
(lista de strings)
boolean
vocabulario
(lista de strings)
palabra
(string) vocabulario
(lista de strings)
eliminarPalabra
3
12 de diciembre de 2015
Función revisarRimas
# Función que busca las palabras que rimen con una palabra en particular
# Entrada: palabra a revisar (string), vocabulario (lista de strings)
# Salida: palabras que riman (lista de strings)
def revisarRimas(palabra, vocabulario):
palabrasQueRiman = []
# Genero un substring con las tres últimas letras de la palabra
rima = palabra[len(palabra) - 3] +palabra[len(palabra) - 2] +\
palabra[len(palabra) - 1]
# Ciclo para revisar todas las palabras
for e in vocabulario :
# Genero un substring con las tres últimas letras de cada
# palabra del vocabulario
tresUltimas = e[len(e) - 3] + e[len(e) - 2]+ e[len(e) - 1]
# Si las palabras riman
if rima == tresUltimas :
# Agrego la palabra a la lista de palabrasQueRiman
palabrasQueRiman.append(e)
Bloque principal
# BLOQUE PRINCIPAL
# ENTRADA
# Solicito la entrada con la función para ello
palabra = verificarEntrada()
# PROCESAMIENTO
# Elimino la palabra a buscar del vocabulario
vocabulario = eliminarPalabra(palabra, vocabulario)
# Busco las palabras que riman
palabrasQueRiman = revisarRimas(palabra, vocabulario)
# SALIDA
# Imprimo las palabras y reviso si la función terminó
exito = imprimirPalabras(palabrasQueRiman)
if exito:
print "El programa ha finalizado con éxito"
4
12 de diciembre de 2015
3. (15 puntos) Una empresa tiene el registro de cada uno de sus empleados en una lista con
tres elementos: nombre, sexo y edad. La totalidad de los empleados se agregan a una lista
de listas llamada listaEmpleados. Para su desarrollo considere que esta lista se le entregará
directamente en la entrada del bloque principal, a través de un input().
Tenga en cuenta que la edad de jubilación de los hombres es de 65 años y de las mujeres es
de 60 años.
# BLOQUE DE DEFINICIÓN
return personasAJubilar
# BLOQUE PRINCIPAL
# ENTRADA
# Se solicita la lista de empleados
listaEmpleados = input("Ingrese lista de empleados: ")
# PROCESAMIENTO
# Se obtienen los empleados en edad de jubilar
listaJubilados = obtenerJubilados(listaEmpleados)
# Se obtienen los empleados jóvenes
listaJovenes = obtenerJovenes(listaEmpleados)
#SALIDA