Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 EjercicioRecuperativo
1 EjercicioRecuperativo
Ejercicio Recuperativo
7 de Enero 2021
P1. La empresa de videojuegos Xmart maneja los juegos en venta y preventa en dos archivos
diferentes con la siguiente estructura: titulo;empresa, como por ejemplo los siguientes:
venta.txt
1 starcraft i i ; blizzard
2 t h e l a s t o f us ; naughty dog
3 ...
preventa.txt
1 u n c h a r t e d 4 ; naughty dog
2 t h e w i t c h e r 3 ; cd p r o j e k t RED
3 s i m s 4 ;EA
4 ...
Los archivos anteriores son ejemplos, pueden contener más juegos y no necesariamente se llaman
venta.txt y preventa.txt.
venta.txt
1 starcraft i i ; blizzard
2 t h e l a s t o f us ; naughty dog
3 assasins creed iv ; ubisoft
venta.txt
1 starcraft i i ; blizzard
2 t h e l a s t o f us ; naughty dog
3 assasins creed iv ; ubisoft
4 s i m s 4 ;EA
1
Universidad de O’Higgins
Instituto de Ciencias de la Ingeniería
IN1007 – Programación
nuevapreventa.txt
1 u n c h a r t e d 4 ; naughty dog
2 t h e w i t c h e r 3 ; cd p r o j e k t RED
P2. Escribir una función que calcule la persistencia multiplicativa de un entero positivo utilizando
la técnica de recursividad. La persistencia multiplicativa es el número de veces que se deben
multiplicar los dígitos del entero positivo hasta que se obtenga un sólo dígito. Por ejemplo:
persistencia(39) => 3 Porque 3*9 = 27, 2*7 = 14, 1*4=4 y 4 tiene un sólo dígito.
persistencia(999) => 4 Porque 9*9*9 = 729, 7*2*9 = 126, 1*2*6 = 12, y finalmente 1*2 = 2.
persistencia(4) => 0 Porque 4 es un entero positivo de un sólo dígito
Sugerencia: Utilice un contador para determinar la persistencia del entero positivo. Para esto,
considere el siguiente ejemplo donde se utiliza un contador:
1 def E j e m p l o R e c u r s i o n ( x , count = 0 ) :
2
3 # Caso b a s e
4 i f x <= 1 0 :
5 return count
6
7 # Recursion
8 x −= 2 # d i s m i n u i r x nos l l e v a h a c i a e l c a s o b a s e
9 return E j e m p l o R e c u r s i o n ( x , count+1 ) # c o n t a d o r u t i l i z a d o como argumento
10
11 print ( E j e m p l o R e c u r s i o n ( 2 0 ) ) # −−> imprime 5