Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejercicios Pep1 PDF
Ejercicios Pep1 PDF
Facultad de Ingeniera
Fundamentos de Computacin y Programacin
GUA DE EJERCICIOS
PEP N1
Autores : Felipe Fuentes
Juan Francisco Gonzlez
Luciano Hidalgo
Manuel Manrquez
Ejemplo:
listaN = [12,4,34,1,2,52,1,54,98,5,235,76,57,87,123,32,32]
menor = 1
mayor = 235
2. Dada una lista de n nmeros, no ordenados, ordene la lista, utilizando iteraciones, de mayor a
menor.
La raz digital se obtiene mediante la suma de todos dgitos de un nmero. Si esa suma tiene
ms de un dgito se deben sumar estos ltimos nuevamente, es decir, la raz digital siempre
debe estar entre el valor 0 y el 9.
Los nmeros palndromos son aquellos que al leerlos al revs y al derecho son iguales, por
ejemplo el 123321 o el 98789.
9. Sumar todos los nmeros pares entre n y m, donde n y m son dados por el usuario.
10. Sumar todos los nmeros impares entre n y m, donde n y m son dados por el usuario.
11. Dado n y m, obtenga todos los nmeros entre 0 y n que sean mltiplos de m.
12. Dado un nmero n, obtenga todos los nmeros que posean raz cuadrada exacta.
13. Obtenga el mximo comn divisor entre dos nmeros utilizando el algoritmo de Euclides.
15. Dado un texto, convirtalo en estilo Camel Case, vea el siguiente ejemplo:
16. Dado un texto y una letra indique cuantas veces se repite la letra dentro del texto, vea el
siguiente ejemplo:
Texto inicial: Este es un texto de ejemplo para contar la cantidad de veces que aparece cierta
letra.
Letra a buscar: e
Respuesta: La letra e aparece 15 veces.
Observacin: Las maysculas y minsculas deben ser contadas.
17. Dado un texto y una letra, reemplace todas las apariciones de esa letra en el texto.
18. Dado un texto y una letra indique cuantas palabras aparecen que contengan esa letra.
19. Dado un texto realice un diccionario de ste, mostrando las palabras que se encuentran
dentro del texto que aparecen con a, las que aparecen con b y as sucesivamente para todo el
abecedario. Si dentro del texto no hay palabras que comiencen con una letra indicada, no
debe mostrar esa letra.
20. Dado un texto y un nmero realice el proceso de cifrado csar al texto. El cifrado csar
consiste en realizar un cambio de una letra por otra, de acuerdo a un nmero que indica un
21. Construya un programa que muestre todos los nmeros pares, o impares entre 1 y un nmero
mayor a 1000 ingresado por el usuario.
23. Construya un programa en Python que indique si un nmero ingresado es primo o no.
24. Construya un programa en Python que muestre por pantalla todos los nmeros primos entre 1
y un nmero dado por el usuario.
26. Construya un programa que genera la secuencia de Fibonacci hasta el ensimo trmino, sin
utilizar recursin.
27. Construya un programa que, indicando una fecha de nacimiento (da, mes, ao) y la fecha
actual, muestre por pantalla la cantidad de das que han pasado (considere aos bisiestos)
28. Construya un programa que permita realizar la conversin de unidades de longitud, masa,
velocidad y temperatura entre el Sistema Internacional y el Sistema Imperial. Donde dada una
medida en cualquier unidad, se entregue la conversin a todas las restantes. Considere las
siguientes unidades:
29. Construya un programa que pida al usuario un digito entre 2 y 9 y muestre por pantalla todos
los nmeros entre 0 y 1000 que no contenga ese digito, o sea mltiplo de ese dgito (ej. Dgito
= 3, mostrar 0 1 2 4 5 7 8 10 11 14 16 17 19 20 22 25 26 28 29 40 41 44 ) .
30. Construya un programa que reciba un nmero decimal y muestre por pantalla su
representacin en binario y viceversa.
Comnmente el uso de esta representacin se utiliza para ahorrar espacio, pues un nmero
como por ejemplo el 100 en base10, en hexadecimal se representa como 64, y el nmero 511,
se representa como 1FF dado que 1 * 162 + 15 * 161+ 15 * 160 = 256 + 240 + 15 = 511.
El proceso inverso se realiza dividiendo, por ejemplo para pasar de 511 en base10 a
hexadecimal, se realiza la divisin:
A partir de estos ejemplos construya un programa que reciba como entrada un nmero
en base10 por pantalla y muestre su equivalente en hexadecimal en pantalla.
33. Construya un programa que permita realizar conversin de nmeros decimales a cualquier
base menor a 10.
36. Imagine que ud. es el profesor del ramo Fundamentos de Computacin y Programacin, y
necesita realizar un informe final con las tres notas de cada alumno, ms el promedio final del
curso y si debe dar PA o no.
Requisitos:
Cada alumno debe ser identificado con rut, nombres y apellidos.
Se debe solicitar por teclado la cantidad de alumnos a ingresar.
Se debe ingresar por teclado los datos de cada alumno.
Luego de mostrar la lista de todos los alumnos con su promedio, debe mostrar:
Promedio del curso.
- Cantidad de alumnos a dar PA.
- Promedio ms alto.
( 2 + /( + 1)) 3
=0 =0
Implemente en Python un programa que pida un ao y diga si este es bisiesto o no. (Opcional:
trate de realizar todo en un solo if)
40. Determine con hoja y papel la salida del siguiente cdigo en Python:
a = 3
b = 6
c = b
b = b + 1
if b > c and a < 3 or c != b :
print "Caso 1"
else :
print "Caso 3"
i = 1
j = 0
suma = 0
for n in range(2,20):
if suma < 10 :
suma = suma + j * i
else :
suma = suma + j + i
i = i + 1
j = j + 2
NOTA: La funcin range genera una lista de nmeros que van de 2 hasta 20, sin incluir el 20.
42. Escriba un programa en Python que pida N nmeros por teclado y que el usuario elija que
desea hacer con esa lista:
- Opcin 1: Remover el menor y mostrarlo.
- Opcin 2: Remover el mayor y mostrarlo.
- Opcin 3: Calcular la suma de todos los nmeros ingresados.
- Opcin 4: Volver a pedir N nmeros, con nuevo N.
- Opcin 5: Salir.
Una vez que se entregue el resultado, se debe volver a preguntar que se desea hacer.
Debe verificar que la opcin ingresada sea una opcin vlida, de no serlo, muestre de nuevo
las opciones.
43. Escriba un programa en Python que pida una frase y diga cuantas palabras contiene esta frase.
44. Escriba un programa en Python que pida una ecuacin matemtica y diga si los parntesis
estn bien o no. Ejemplos:
8 + (4 -5) est bien.
( (6 - 5) * 3 +4 / 7 ) ) no est bien.
( 6 * ( 5 * ( 7 3 ) ) no est bien.
( 45 * ( 5 2) + 6 * ( 77 3) ) + (4 ( 5-2 ) ) est bien.
)8 6( no est bien.
45. Escriba un programa en Python que pida un nmero y dibuje una pirmide, con tantos niveles
como el nmero ingresado. Ejemplo de una pirmide con 4 niveles:
#
###
#####
#######
46. El Mail Delivery Subsystem de Google, pierde actualmente mucho tiempo intentando enviar
correos electrnicos cuyos formatos no son vlidos, por lo que desea un programa, que revise
si un correo electrnico est escrito correctamente antes de enviarlo. En una primera etapa,
han decidido considerar los correos electrnicos que cumplan con uno de los siguientes
formatos:
caracteres@caracteres.cl o caracteres@caracteres.com
Dnde los caracteres vlidos son Letras, Nmeros y nicamente los caracteres punto (.),
guion bajo (_) y guion (-).
Por ejemplo:
Entrada N1: Alumnos.FCYP@usach.cl
Salida N1: El correo electrnico est bien escrito
Para cumplir este objetivo, implemente la funcin validar correo, de acuerdo al bloque
principal entregado a continuacin.
# BLOQUE PRINCIPAL
# ENTRADA
correoElectronico = raw_input("Ingrese el correo electrnico a
evaluar: ")
# PROCESAMIENTO
correoCorrecto = validarCorreo(correoElectronico)
# SALIDA
if correoCorrecto :
print "El correo electrnico est bien escrito"
else :
47. Se ha construido un programa para el clculo de la serie de Taylor para expresar la funcin
sen(x) (en torno a cero), que corresponde a la serie presentada en la Figura 1.
2+1
( ) = (1)
(2 + 1)!
=0
Figura 1 - Expresin de Taylor para sen(x)
a) Construya una funcin que permita calcular la potencia de un nmero b (nmero real)
utilizado como base y un nmero e (nmero entero) utilizado como exponente.
b) Utilizando la funcin construida en (a), construya la funcin calculaSerieTaylor, que
reciba como entradas los nmeros n (lmite de la sumatoria) y x (valor a evaluar) y
entregue como resultado el valor de sen(x) aproximado con precisin de n trminos
utilizando la expresin presentada en la Figura 1.
# BLOQUE PRINCIPAL
# ENTRADA
valorDeX = input("Ingrese el valor a calcular: ")
valorDeN = input("Ingrese la cantidad de trminos necesarios: ")
# PROCESAMIENTO
resultado = calculaSerieDeTaylor(valorDeX, valorDeN)
# SALIDA
print "El valor de la serie de Taylor de", valorDeX, "con ",
valorDeN, "trminos"
print "es: ", resultado
48. En matemticas existe la posibilidad de calcular a travs del uso de series el resultado
aproximado de una funcin conocida, en particular, es posible calcular el valor del coseno de un
ngulo a travs de la siguiente sucesin:
2 4 6
( ) = 1 + +
2! 4! 6!
Con esta informacin, genere un programa en Python que permita el clculo del coseno de un
ngulo x, con una aproximacin de n trminos.
49. En matemticas existe la posibilidad de calcular a travs del uso de series el resultado
aproximado de una funcin conocida, en particular, es posible calcular el valor del logaritmo
natural de un valor a travs de la siguiente sucesin:
1 1 1 3 1 1 5 1 1 7
() = 2 [( )+ ( ) + ( ) + ( ) + ]
+1 3 +1 5 +1 7 +1
Con esta informacin, genere un programa recursivo en Python que permita el clculo del
logaritmo natural de un ngulo x, con una aproximacin de n trminos.
50. Implemente en Python el juego del gato, para que un jugador juegue contra el computador,
utilice el mdulo random para generar jugadas pseudoaleatorias para la mquina.
51. Implemente en Python el juego de cartas del blackjack, con un jugador y el computador, utilice
el mdulo random para generar jugadas pseudoaleatorias para la mquina.