Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Ingeniera
Fundamentos de Computacin y Programacin
GUA DE EJERCICIOS
PEP N1
Autores
Felipe Fuentes
Juan Francisco Gonzlez
Luciano Hidalgo
Manuel Manrquez
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.
14. Dado un texto, capitalcelo, vea el siguiente ejemplo:
Texto inicial: Este es un texto de ejemplo para mostrar la capitalizacin.
Texto final: Este Es Un Texto De Ejemplo Para Mostrar La Capitalizacin.
15. Dado un texto, convirtalo en estilo Camel Case, vea el siguiente ejemplo:
Texto inicial: Este es un texto de ejemplo para mostrar el Camel Case.
Texto final: EsteEsUnTextoDeEjemploParaMostrarElCamelCase.
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Letra original
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
Letra final
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
16
17
18
19
20
21
22
23
24
25
26
P
Q
R
S
T
U
V
W
X
Y
Z
S
T
U
V
W
X
Y
Z
A
B
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Letra original
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Letra final
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
15
16
17
18
19
20
21
22
23
24
25
26
O
P
Q
R
S
T
U
V
W
X
Y
Z
B
C
D
E
F
G
H
I
J
K
L
M
21. Construya un programa que muestre todos los nmeros pares, o impares entre 1 y un nmero
mayor a 1000 ingresado por el usuario.
Sistema internacional
Longitud
Centmetro, metro,
kilmetro.
Masa
Miligramo, gramo,
kilogramo, tonelada
mtrica.
m/s, km/hr
Quilate
Milla/hr
Mach, nudo,
velocidad de la luz en
el vaco
Kelvin
Fahrenheit
Celsius
Velocidad
Temperatura
Sistema imperial
(Ingls)
Pulgada, pie, milla,
legua, yarda
Otros
Milla nutica, Unidad
astronmica (UA),
Ao luz, parsec
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.
->
resultado = 31
resto = 15
-> resultado = 1
resto = 15
->
resultado = 0
resto = 1
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.
34. Construya en conversor de nmeros decimales a nmeros romanos (entre 1 y 3999) y
viceversa. El usuario debe elegir que conversin hacer.
35. Construya un programa que permita verificar si un RUT ingresado es correcto.
Segundo semestre de 2015
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.
37. Defina dos matrices de 3x3 y realice la multiplicacin entre ellas.
38. Calcule el resultado de la siguiente sumatoria, para n = 10 y m = 5:
( 2 + /( + 1)) 3
=0 =0
else :
print "Caso 3"
41. Realice la traza del siguiente cdigo en Python:
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
print "Suma es:", suma
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
Entrada N2: alumno #FCYP@usach.co
Salida N2: El correo electrnico no 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
# 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.