Ejercicios de Programacion
Ejercicios de Programacion
Ejercicios de Programacion
VICERRECTORA ACADMICA
PROYECTOS DE INNOVACIN DOCENTE
SANTIAGO - CHILE
Marzo 2016
Contenido
UNIDAD 1. PRELIMINARES ....................................................................................................................... 5
1.1
Qu es un Algoritmo? ........................................................................................................................... 6
1.2
Qu es la Abstraccin de procesos?..................................................................................................... 6
1.3
1.4
1.3.1
1.3.2
Desafio 2.
Desafio 3.
Utilizando las funciones seno (sin) y coseno (cos) del mdulo MATH..................................... 10
Desafio 4.
Desafio 5.
Desafio 6.
Desafio 7.
Desafio 8.
Desafio 9.
Desafio 10.
Desafio 11.
Desafio 12.
Desafio 13.
Desafio 14.
Desafio 15.
Desafio 16.
Desafio 17.
Determinacin de masa.......................................................................................................... 14
Desafio 18.
Desafio 19.
Desafio 21.
Desafio 22.
Desafio 23.
Desafio 24.
Desafio 26.
Desafio 27.
Desafio 28.
Desafio 30.
Desafio 31.
Desafio 32.
Desafio 33.
Pg. 2
Desafio 34.
Desafio 35.
Desafio 37.
Desafio 38.
Desafio 39.
Desafio 40.
Desafio 42.
Desafio 44.
Desafio 45.
Desafio 46.
Desafio 47.
Pg. 3
PREFACIO
INTRODUCCIN
Pg. 4
UNIDAD 1. PRELIMINARES
CONTENIDOS
Pg. 5
1.1
Qu es un Algoritmo?
1.2
Qu es la Abstraccin de procesos?
Limpieza
Dental
Qu necesita
para el proceso
Qu hacer
Dentadura limpia
Qu entrega
como resultado
Por ejemplo, qu hace que una mesa sea lo que se conoce como mesa?, si
comparamos varias mesas obtendremos ms diferencias que similitudes (color,
material, formas, rasgos de deterioro, altos, anchos, espesores, etc.) y sin embargo
y a pesar de sus diferencias, somos capaces de indicar cules objetos son una
mesa y cules no lo son. Aquello que hace que una mesa sea una mesa, no es que
sea cuadrada, redonda, rectangular, de madera, de mrmol, verde, amarilla o roja,
sino que abstraemos (separamos un rasgo o una cualidad) de estos objetos, su
color, su forma, el material del cual estn hechas y nos quedamos con la idea o
el concepto de mesa. Dicho concepto se obtiene del proceso mental de abstraccin
que como resultado nos proporcionan la(s) caracterstica(s) esencial(es) del objeto
y separa lo secundario o accidental.
Pg. 6
1.3
RAE: Prescindir, en cantidades, de pequeas diferencias en ms o en menos, para tener en cuenta solamente
unidades de orden superior.
Mdulo Bsico de Ingeniera
Fundamentos de Computacin y Programacin
Pg. 7
Redondeo a 4
decimales
Redondeo a 3
decimales
Redondeo a 2
decimales
1.4
Mdulo MATH
Este mdulo proporciona acceso a las funciones matemticas para operaciones con
potencia, logoritmo, trigonometra, conversin de ngulos, hiperblicas, raz
cuadrada y otras. Para que estn disponibles en el programa, se debe incorporar la
sentencia de importacin from math import funcin, donde funcin puede ser
una, varias o todas las funciones que estn en el mdulo Math.
Pg. 8
Desafio 1.
Calcular con Python, el saldo en dinero al final del da considerando que los movimientos
econmicos son: recib $3.000 al inicio del da, compre $600 en alimento para el
desayuno, a media jornada compre colacin por $1.800, recib $100 por concepto de
devolucin de dinero prestado a un amigo y gast $420 en movilizacin
Ilustracin 3 - Abstraccin del proceso
Pg. 9
Desafio 2.
3
4
17
25
Desafio 3.
MATH
Desafio 4.
Utilizando las funciones radians y degrees del mdulo MATH, realice las siguientes
conversiones de grados a radianes y de radianes a grados; exprese las cifras con un
mximo de 4 decimales:
a)
b)
c)
d)
e)
f)
30 = 0.6632 radianes
2.4 radianes = 137.5099
2 radianes = 360 (utilice la constante definida en mdulo math)
radianes = 180
5.2360 radianes = 300.00 (redondear resultado a dos decimales)
2/2 radianes = 270
coseno(47)
seno(105)
tangente(300)
Desafio 5.
Conversin de temperaturas
Pg. 10
Resultados objetivos:
a) 40 C = 104 F = 313.14 K
b) 68 C = 154.4 F = 341.15 K
c) 98 C = 208.4 F = 371.15 K
d) -73.15 C = -99,67 F = 200 K
e) 0 C = 32 F = 273.15 K
Desafio 6.
Calcule en Python la masa molar para un vapor indeterminado de masa ; que ocupa
un volumen de , a la presin de , y a la temperatura de .
Para probar su desarrollo considere los siguientes datos:
= 0,846
354
100
100 = 373
Dado que la cantidad de sustancia est dada en masa, se propone ocupar la siguiente
ecuacin:
=
373
100 0,354
0,846 8,314
Donde:
m : masa
R: Constante universal de los gases ideales
T: Temperatura
P : Presin absoluta
V : Volumen
Desafio 7.
Densidad de un gas
Donde:
m : masa
R: Constante universal de los gases ideales
T: Temperatura
P : Presin absoluta
V : Volumen
Pg. 11
Desafio 8.
Calculando la constante
L = 50,27 cms
r = 8 cms
Desafio 9.
2.3026
200
5.2983
0.6065
20.086
=
300
Pg. 12
ln 2 0.6932
= ; = 2; = ln 2 ; =
=
= 1,733
0
0.4
0.4
b)
1 = 4
2 = 4
11+48
8
Resultado objetivo:{
1 = 1
2 = 34
Pg. 13
ln 0,5
; =
ln 0,5
0,0244
; =
0.6932
0,0244
= 28,40
(1)
= 10
(2)
B
= 8
(3)
= 20,2
= 35 = 308
b) Desarrollo
=
309
Pg. 14
10
donde:
= 0.816
(Observe que al tener en y en / 2 , obtendremos en , unidades SI)
0.816
=
80 106
donde:
= 10.2 103 3 = 10.2 3
Desarrolle un programa en Python que permita calcular el Principio de Arqumedes
para cualquier cilindro que flote en un lquido de cualquier densidad.
Pg. 15
El inters que se paga exclusivamente sobre el capital se llama inters simple (veremos
en otros ejercicios el inters compuesto), y su frmula es:
=
donde:
I = Inters simple
K = Capital
i = Tasa de inters
n = nmero de periodos
Es imprescindible que los periodos de i y n sean correspondientes; si i se expresa
como porcentaje anual, n habr que expresarlo en aos. De manera similar si i se
expresa como porcentaje mensual, n deber expresarse en nmero de meses.
Ahora, desarrolle una ecuacin en Python que permita obtener la cantidad de inters
que se pagara por cada mes, por un prstamo de $500.000 solicitado a una
organizacin crediticia que cobra un inters simple a una tasa de 10% al ao. Complete
el siguiente cuadro con el resultado obtenido en Python:
Mes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Cantidad de
inters en
pesos
(Clculo)
Respuesta
correcta
(Seguimiento)
$8.333
$25.000
$54.167
$70.833
Pg. 16
CONTENIDOS
Problemas resueltos y propuestos que permitirn comprender cmo se
definen funciones propias y cmo se utilizan dentro de un programa.
Estructura de una funcin, parmetros de entrada, funcin propiamente tal y
parmetros de salida.
APRENDIZAJE ESPERADO
a) Analiza un problema y dividirlo en partes significativas
b) Crear funciones propias en Python para resolver tareas especficas
c) Combinar el uso de funciones propias para resolver problema propuestos
d) Evaluar resultados obtenidos luego de uso de funciones propias
ORIENTACIN DIDCTICA
Una funcin es una seccin reutilizable de un programa. Las funciones se crean para
resolver tareas especficas en un programa. El programa puede contener tantas
funciones como tareas a realizar.
En esta seccin trabajaremos con funciones propias, creadas por nosotros y las
utilizaremos de forma combinada para resolver problemas propuestos.
Pg. 17
entrada1
entrada2
Qu necesita
para el proceso
salida
funcin
Qu hacer
Qu entrega
como resultado
Como puede observar, la funcin se ha creado, existe dentro del programa pero no es
suficiente, necesitamos llamarla para que se ejecute de lo contrario slo existe porque
est definida pero no presta utilidad. Usted podra tener funciones intiles dentro de
su programa?, la respuesta es SI, tantas como defina en su programa y que nunca las
utilice (las llame). Bien !, hagamos que esta funcin nos preste utilidad, utilicmosla:
Pg. 18
Definicin de la
funcin
La llamamos (ejecutamos) con los
valores 4 y 5. El resultado lo guardamos
en la variable su_nota
La volvemos a llamamos (ejecutamos)
con los valores 1 y 2. El resultado lo
guardamos en la variable su_nota
La volvemos a llamamos (ejecutamos)
con los valores 2 y 1. El resultado lo
guardamos en la variable su_nota
Un error comn de los estudiantes en las pruebas, es definir las funciones pero nunca
utilizarlas (llamarlas). Otro error comn es no definir la salida de la funcin, no incluir la
sentencia return que es la sentencia que entrega el resultado y finaliza el proceso de la
funcin.
Existen varias funciones incorporadas en Python que ayudan a la programacin, esas
funciones ya estn definidas y solo se requiere que usted las ejecute (las llame) cuando
usted las necesite. Estas funciones Nativas o incorporadas estn a su disposicin para
ayudar a hacer ms fcil su programacin, sino, tendra que construirlas usted.
5
120
0 100
Pg. 19
Desarrollo
Paso 1)
Paso 2)
Por qu es necesario
agregar una cifra con
decimales al clculo?
Paso 3)
Pg. 20
Hasta aqu pareciera que todo funcion muy bien, sin embrago, existe un detalle
importante que debemos considerar. Las cifras obtenidas en cada evaluacin
de la funcin estn con decimales y, en la moneda peso no existen las
fracciones de peso, por ejemplo $1,5 o $273,6 todo se aproxima a la unidad
monetaria, el peso ($, CLP). Para ello debemos utilizar la funcin round de
Python que nos permite redondear las cifras a los decimales que indiquemos.
Ahora, complete el grfico con los resultados obtenidos para cada valores de
rehabilitacin solicitados (10, 15, 20, 25,,100) y observe qu tipo de curva
representa.
Pg. 21
Mes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Cantidad
de inters
en pesos
(Clculo)
Respuesta
correcta
(Seguimiento)
$8.333
$25.000
$54.167
$70.833
Pg. 22
Ejemplo:
Una persona lanza oblicuamente una pelota con una
velocidad inicial 0 = 60 . Suponga que = 10 2 ,
desprecie la resistencia del aire y considere el
momento del lanzamiento como el origen del conteo
del tiempo ( = 0). En el instante = 0,50 la
velocidad de la pelota es:
a) = 0 cos = 10 cos 60 = 5,0
b) = 0 sin = 10 sin 60 10
0,50 = 3,6
c) = 2 + 2 = 5,02 + 3,62 = 6,1
d) = (0 cos ) = 10 cos 60 0,50 = 2,5
1
1
e) = (0 ) 2 2 = 10 60 0,50 2 10 0,502 = 3,1
f)
El proyectil va en ascenso
Pg. 23
Pg. 24
Pg. 25
#----------------#BLOQUE PRINCIPAL
#----------------#------#ENTRADA
#------ingreso = obtenerIngreso()
#-----------------#PROCESO PRINCIPAL
#-----------------if ingreso <= DECIL1:
decilFamliar = 1
tope = DECIL1+1
elif ingreso <= DECIL2:
decilFamiliar = 2
tope = DECIL2+1
elif ingreso <= DECIL3:
decilFamiliar = 3
tope = DECIL3+1
elif ingreso <= DECIL4:
decilFamiliar = 4
tope = DECIL4+1
elif ingreso <= DECIL5:
decilFamiliar = 5
tope = DECIL5+1
elif ingreso <= DECIL6:
decilFamiliar = 6
tope = DECIL6+1
elif ingreso <= DECIL7:
decilFamiliar = 7
tope = DECIL7+1
elif ingreso <= DECIL8:
decilFamiliar = 8
tope = DECIL8+1
elif ingreso <= DECIL9:
decilFamiliar = 9
tope = DECIL9+1
else:
decilFamiliar = 10
#------#SALIDA
#------print ""
print ""
print "RESULTADO DE LA CONSULTA"
print "------------------------"
if decilFamiliar < 6 :
print "El total de ingresos familiar pertenece al decil N", decilFamiliar, "inferior a $",
tope, "por persona"
print "FELICIDADES !!!!, usted TIENE DERECHO a la educacin superior gratuita con recursos
del estado"
else:
print "El total de ingresos familiar pertenece al decil N", decilFamiliar, "superior a $",
DECIL5, "por persona"
print "por lo tanto, usted NO tiene derecho a la educacin superior gratuita"
print " "
Pg. 26
Monto de la Renta
Desde
Hasta
Factor
Rebaja
1
611.766
0
0
611.767 1.359.480
0,04
24.471
1.359.481 2.265.800
0,08
78.850
2.265.801 3.172.120
0,135
203.469
3.172.121 4.078.440
0,23
504.820
4.078.441 5.437.920
0,304
806.625
5.437.921 6.797.400
0,355 1.083.959
6.797.401
y ms
0,4 1.389.842
Cuadro : Impuesto nico de trabajadores 3
Para calcular el impuesto se toma la renta imponible (renta total descontado las
imposiciones AFP y Salud), esa renta imponible se compara con los Monto de la Renta
y se obtiene el tramo al que pertenece. Luego, se multiplica la renta imponible por el
factor correspondiente al tramo, se descuenta la rebaja y se obtiene el valor de impuesto
a pagar.
Ejemplo:
a) Renta Imponible: 824.576 (por comparacin, se busca el tramo al que
pertenece pertenece al tramo 2)
3
La tabla pertenece a Mayo de 2015. Cada mes el Servicio de Impuestos Internos calcula una nueva tabla
Mdulo Bsico de Ingeniera
Fundamentos de Computacin y Programacin
Pg. 27
=
8.512 = 824.576 0,04 24.471
El desafo consiste en construir un programa que permita calcular el impuesto a pagar.
Debe solicitar e ingreso de un sueldo imponible (por entrada estndar) y determinar el
impuesto considerando la tabla anterior y la ecuacin de clculo.
El Desafo consiste en construir un programa que permita
Pg. 28
UNIDAD 5. LISTAS
CONTENIDOS
La unidad ejercita el uso de estructuras de datos conocidas como LISTAS. Las Listas
son secuencias de datos
APRENDIZAJE ESPERADO
Construccin de programas que utilicen la estructura de datos LISTAS.
ORIENTACIN DIDCTICA
Las Listas son secuencias de datos mutables o sea, posibles de alterar o cambiar
sus contenidos. La lista se puede recorrer desde el principio hacia el final como
tambin desde el final hacia el principio, de posicin en posicin o alternando
posiciones, no tiene restricciones en la forma de recorrerla.
Se puede iterar sobre una lista utilizando las sentencias WHILE y FOR
Pg. 29
Desafio 29. Iterar sobre una lista de forma ascendente, de inicio a fin
Construyamos un programa sencillo para ver cmo recorrer una lista, observe el
siguiente programa que recorre una lista de dos formas, la primera utilizando un for y
la segunda usa un while
Slo que el uso del for tiene la particularidad de no requerir ni el largo de la lista ni un
ndice para indicar la posicin a consultar.
Desafio 30. Iterar sobre una lista de forma descendente, de fin a inicio
Construya un programa que pida al usuario que ingrese una lista, y recorra esa lista
mostrando los valores por pantalla. Se pide recorrer la lista con for y con while,
desde el final de la lista hasta el inicio.
Observe el desafo anterior y considrelo como base para este desafo.
Mdulo Bsico de Ingeniera
Fundamentos de Computacin y Programacin
Pg. 30
2 3
3 0
) =(
5 6
7 1
2
)
8
4 2 5
+ =(
)
3 6 2
Pg. 31
Pg. 32
UNIDAD 6. ITERACIONES
CONTENIDOS
APRENDIZAJE ESPERADO
Pg. 33
!
1 ! 2 !
14!
= 605.404.800
3! 2! 1! 2! 3! 1! 1! 1!
Desarrollo
Los procesos propuestos para resolver el desafo son:
4
RAE : Cada una de las ordenaciones posibles de los elementos de un conjunto finito.
Mdulo Bsico de Ingeniera
Fundamentos de Computacin y Programacin
Pg. 34
Tipo
alimento
mg/porcin
7,5
4,5
10
2,5
Pg. 35
TABLA DE DESARROLLO
Capital Tasa Inters
nuevo Capital
Periodo
1
2
3
4
5
6
100
110
121
133
146
161
10%
10%
10%
10%
10%
10%
10
11
12
13
15
16
110
121
133
146
161
177
$ 100
$ 77
10%
77%
$ 177
b) El inters compuesto es mayor que el inters simple, ello se debe a que el inters
ganado produce tambin inters despus.
Existe una forma directa para obtener el monto final:
= (
+ 1)
100
Donde :
: Valor futuro o final
: Valor presente o monto inicial
: tasa de inters
: plazo
6
10
= 100 (
+ 1) = $177
100
Pg. 36
Pg. 37
Luego, graba el archivo en tu disco con el nombre archivo.txt, tal como se indica a
continuacin:
Pg. 38
Lo guardaremos con
el nombre archivo.txt
Pg. 39
Pg. 40
APRENDIZAJE ESPERADO
Conocer el tipo de preguntas que el estudiante puede enfrentar en las futuras
pruebas, analizar la forma en que se han resuelto algunas preguntas y aprender de
ello.
ORIENTACIN DIDCTICA
Existen varias forma para resolver un problema mediante la programacin, la
solucin no es nica, depende ms del ingenio de la persona que de la rigurosidad
con que se utilizan las sentencias.
Los desarrollos de las preguntas son autora de la coordinacin.
con las que se puede encontrar un estudiante al enfrentar las actividades evaluadas,
observar cmo se han resuelto algunas preguntas y orientar el estudio de los
estudiantes.
Trabajar con archivos como fuente de informacin, utilizndola como datos de datos
al proceso o como dato de salida del proceso y que requiere ser almacenar para
futuros usos.
Pg. 41
Pg. 42
Pg. 43
Pg. 44
Pg. 45
Desarrollado
Pg. 46
Desarrollo
Pg. 47
Pg. 48
Pg. 49
Pg. 50
Pg. 51
Pg. 52
Pg. 53
Pg. 54
Pg. 55
Operadores de
comparacin
Conectores lgicos
**
Exponenciacin
Identidad
Cambio de signo
Multiplicacin
Divisin
Mdulo
Suma
Resta
<
Menor
>
Mayor
<=
Menor o igual
>=
Mayor o igual
==
Igual
!=
Distinto
Not
negacin
And
conjuncin
Or
disyuncin
raw_input
open
close
readline
readlines
write
writelines
Pg. 56
while
map
filter
str(x)
String + string
String * x
x.isalnum()
x.isalpha()
x.isdigit()
.islower()
.isupper()
.isspace()
.lower()
.upper()
.split()
.strip()
.rstrip()
Pg. 57
.lstrip()
.replace(,[,])
in
.index()
.find([, [,]])
.rfind([, [,]])
.capitaize()
x.count([, [,]])
max()
min()
list[i:j] = t
del s[i:j]
s.append(x)
s.count(x)
s.index(x)
s.insert(i, x)
s.pop([i])
s.remove(x)
Pg. 58
s.reverse()
x = []
max(list)
min(list)
len(x)
Pg. 59
REFERENCIAS
Python Documento de Python
Pg. 60