Está en la página 1de 10

Universidad de Santiago de Chile

Facultad de Ingeniera
Fundamentos de Computacin y Programacin

GUA DE EJERCICIOS
PEP N1
Autores

Felipe Fuentes
Juan Francisco Gonzlez
Luciano Hidalgo
Manuel Manrquez

1. Dada una lista de n elementos, no necesariamente ordenada, busque:


a) El elemento menor.
b) El elemento mayor.
c) El promedio de los elementos en la lista.
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.
3. Obtenga la mediana de una lista de nmeros ordenada.
La mediana se obtiene mediante el trmino que se encuentra en la posicin central de una
lista ordenada.
4. Obtenga la moda de una lista, la cual no posee un orden especfico.
La moda es el trmino que ms se repite dentro de una lista de nmeros.
5. Obtenga la cantidad de dgitos pares e impares en un nmero.
6. Obtenga la suma de todos los dgitos de un nmero.
7. Obtenga la raz digital de un nmero.
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.
8. Vea si un nmero es palndromo o no.

Segundo semestre de 2015

Universidad de Santiago de Chile


Facultad de Ingeniera
Fundamentos de Computacin y Programacin

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

Segundo semestre de 2015

Universidad de Santiago de Chile


Facultad de Ingeniera
Fundamentos de Computacin y Programacin

corrimiento. Por ejemplo, si el corrimiento es de tres, el cambio de letra es el mostrado a


continuacin:

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

En este caso, como el corrimiento es 3, el


texto Hola se debe codificar como
krod

En cambio, si el corrimiento es de 13, el cambio es el siguiente:

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

Entonces, el texto Hola, se codificara


como ubyn

21. Construya un programa que muestre todos los nmeros pares, o impares entre 1 y un nmero
mayor a 1000 ingresado por el usuario.

Segundo semestre de 2015

Universidad de Santiago de Chile


Facultad de Ingeniera
Fundamentos de Computacin y Programacin

22. Construya un programa que entregue todos los divisores de un nmero.


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.
25. Construya un programa que entregue el factorial de un nmero n.
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:
Magnitud

Sistema internacional

Longitud

Centmetro, metro,
kilmetro.

Masa

Miligramo, gramo,
kilogramo, tonelada
mtrica.
m/s, km/hr

Grano, onza, libra,


quintal, arroba

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.

Segundo semestre de 2015

Universidad de Santiago de Chile


Facultad de Ingeniera
Fundamentos de Computacin y Programacin

31. Una de las representaciones utilizadas en computacin para manejar memoria, es la


representacin hexadecimal o base16, dicha representacin utiliza los dgitos del 0 al 9 para
los primeros nmeros y las letras A=10, B=11, C=12, D=13, E=14 y F=15 para representar los
valores restantes.
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 255, se representa como FF.
A partir de estos ejemplos construya un programa que reciba como entrada un
hexadecimal por pantalla y muestre su valor en decimal.
32. Una de las representaciones utilizadas en computacin para manejar memoria, es la
representacin hexadecimal o base16, dicha representacin utiliza los dgitos del 0 al 9 para
los primeros nmeros y las letras A=10, B=11, C=12, D=13, E=14 y F=15 para representar los
valores restantes.
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:
511 dividido 16
31 dividido 16
1 dividido 16

->

resultado = 31
resto = 15
-> resultado = 1
resto = 15
->
resultado = 0
resto = 1

Entonces, el nmero sera 1,15,15 que en notacin hexadecimal es 1FF

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

Universidad de Santiago de Chile


Facultad de Ingeniera
Fundamentos de Computacin y Programacin

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

39. La forma de determinar si un ao es bisiesto o no es:


1. Si el ao es divisible por 4, vaya al paso 2. Si no es as, vaya al paso 5.
2. Si el ao es divisible por 100, vaya al paso 3. Si no es as, dirjase al paso 4.
3. Si el ao es divisible por 400, vaya al paso 4. Si no es as, vaya al paso 5.
4. El ao es un ao bisiesto (tiene 366 das).
5. El ao no es un ao bisiesto (tiene 365 das).
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"
elif c == b and b > a:
print "Caso 2"
Segundo semestre de 2015

Universidad de Santiago de Chile


Facultad de Ingeniera
Fundamentos de Computacin y Programacin

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.

Segundo semestre de 2015

Universidad de Santiago de Chile


Facultad de Ingeniera
Fundamentos de Computacin y Programacin

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 :

Segundo semestre de 2015

Universidad de Santiago de Chile


Facultad de Ingeniera
Fundamentos de Computacin y Programacin

print "El correo electrnico no est bien escrito"

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)

Sin embargo, el bloque de definiciones se ha corrompido, quedando solamente el bloque principal,


por lo tanto se le solicita a usted, que implemente las siguientes funciones a fin de resolver el
problema:
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.
Puede importar la funcin factorial desde el mdulo math, o definirla directamente.

# 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:

Segundo semestre de 2015

Universidad de Santiago de Chile


Facultad de Ingeniera
Fundamentos de Computacin y Programacin

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.

Segundo semestre de 2015

También podría gustarte

  • Horari1 PDF
    Horari1 PDF
    Documento1 página
    Horari1 PDF
    Esteban Valenzuela
    Aún no hay calificaciones
  • Libro 1
    Libro 1
    Documento8 páginas
    Libro 1
    Esteban Valenzuela
    Aún no hay calificaciones
  • Documento 1
    Documento 1
    Documento3 páginas
    Documento 1
    Esteban Valenzuela
    Aún no hay calificaciones
  • Documento 5
    Documento 5
    Documento2 páginas
    Documento 5
    Esteban Valenzuela
    Aún no hay calificaciones
  • Huella Hídrica
    Huella Hídrica
    Documento2 páginas
    Huella Hídrica
    Esteban Valenzuela
    Aún no hay calificaciones
  • Documento 2
    Documento 2
    Documento1 página
    Documento 2
    Esteban Valenzuela
    Aún no hay calificaciones
  • Documento 4
    Documento 4
    Documento1 página
    Documento 4
    Esteban Valenzuela
    Aún no hay calificaciones
  • Apunte LEO Dia 07-10-19
    Apunte LEO Dia 07-10-19
    Documento1 página
    Apunte LEO Dia 07-10-19
    Esteban Valenzuela
    Aún no hay calificaciones
  • Plan de Práctica Administracion RRHH
    Plan de Práctica Administracion RRHH
    Documento24 páginas
    Plan de Práctica Administracion RRHH
    Esteban Valenzuela
    Aún no hay calificaciones
  • Pluginfile PDF
    Pluginfile PDF
    Documento10 páginas
    Pluginfile PDF
    Esteban Valenzuela
    Aún no hay calificaciones
  • Pauta
    Pauta
    Documento3 páginas
    Pauta
    Esteban Valenzuela
    Aún no hay calificaciones
  • Yaque Carnet
    Yaque Carnet
    Documento1 página
    Yaque Carnet
    Esteban Valenzuela
    Aún no hay calificaciones
  • Plug in File
    Plug in File
    Documento62 páginas
    Plug in File
    Esteban Valenzuela
    Aún no hay calificaciones