You are on page 1of 22

UNIVERSIDAD DE CUENCA

NOMBRE:
Jose Luis Zapata
CICLO:
Segundo
PROFESOR:
Ing. Johnny Solrzano
FECHA:
28-04-2014
MATERIA:
Programacin

AO LECTIVO:

2014-2015





CUENCA-AZUAY-ECUADOR
TRABAJO DE PROGRAMACION
Codificacin en Python
EJERCICIO 1. Interseccin de circunferencias
Una circunferencia en el plano est definida por tres valores: las coordenadas (x, y) de su
centro, y su radio r. Escriba un programa que determine si dos circunferencias se intersectan o
no.
x1=float(input("ingrese la cordenada en x de la primera circuferencia "))
y1=float(input("ingrese la cordenada en y de la primera circuferencia "))
r1=float(input("ingrese el radio de la primera circuferencia "))
x2=float(input("ingrese la cordenada en x de la segunda circuferencia "))
y2=float(input("ingrese la cordenada en y de la segunda circuferencia "))
r2=float(input("ingrese el radio de la segunda circuferencia "))
c1=(x1-x2)**2
c2=(y1-y2)**2
distancia=float((c1+c2)**0.5)
suma=r1+r2
if suma>=distancia:
print("se intersectan las circuferencias ")
else:
print("no se intersectan las circuferencias ")
EJERCICIO 2. Palabras palndromas
Escriba un programa que reciba como entrada una palabra e indique si es palndromo o no.
Para simplificar, suponga que la palabra no tiene acentos y todas sus letras son minsculas:
t=input("ingrese la palabra ")
a=""
b=""
c=""
d=""
x=t.lower()
for i in range(len(x)):
y=i+1
p=len(x)-y
c=c+x[i]
d=d+x[p]
if c==d:
a="la palabra es palindroma"
else:
b="no es palindroma"
print(a)
print(b)
Modifique su programa para que reconozca oraciones palndromas. La dificultad radica en que
hay que ignorar los espacios:
h=input("ingrese la frase ")
cad=""
cad1=""
c1=""
d1=""
for j in h:
if j==" ":
cad=cad+j
else:
cad1=cad1+j
a1=""
b1=""
x1=cad1.lower()
for k in range(len(x1)):
y1=k+1
p1=len(x1)-y1
c1=c1+x1[k]
d1=d1+x1[p1]
if c1==d1:
a1="la palabra es palindroma"
else:
b1="no es palindroma"
print(a1)
print(b1)
EJERCICIO 3. Mquina dispensadora
Una mquina dispensadora de snacks tiene productos de tres tipos, X, Y y Z, y sus precios son
US$
4.50, US$7.40 y US$8.90 respectivamente. La mquina acepta y da cambio en monedas de 10
centavos, 50 centavos y 1 dlar.
Escriba un programa que pida al usuario elegir el producto y luego le pida ingresar las monedas
hasta alcanzar el monto a pagar. Si el monto ingresado es mayor que el precio del producto, el
programa debe entregar las monedas de vuelto, una por una.
a=input("ingrese su opcion: x,y o z ")
if a=="x":
print("cuesta 4.50")
uno=float(input("ingrese el numero de monedas de un dolar "))
c=float(input("ingrese el numero de monedas de cicuenta "))
d=float(input("ingrese el numero de monedas de diez "))
p1=(uno*1)+(c*0.5)+(d*0.10)
if p1<4.50:
v1=4.50-p1
print("falta",v1)
elif p1==4.50:
print("esta correcto no hay vuelto")
else:
v2=p1-4.50#es para encontrar el vuelto de lo que se ingrese
v21=v2//1#se divide para 1, 0.5, 0.10 para esas monedas
b1=v2-(v21*1)
v22=b1//0.5
b2=b1-(v22*0.5)
v23=b2//0.10
print("su vuelto es:")
print(v21,"monedas de un dolar")><
print(v22,"monedas de cicuenta")
print(v23,"monedas de diez")
z1=(v21*1)+(v22*0.5)+(v23*0.10)
print("su canbio es",z1)
if a=="y":#se analiza el producto y
p2=("su valor es: 7.40")
uno1=float(input("ingrese las monedas de dolar "))
c1=float(input("ingrese las monedas de cicuenta "))
d1=float(input("ingrese las monedas de diez "))
p3=(uno1*1)+(c1*0.5)+(d1*0.10)
if p3<7.40:
v3=7.40-p3
print("falta",v3)
elif p3==7.40:
print("esta correcto no hay vuelto")
else:
v4=p3-7.40#es para encontrar el vuelto de lo que se ingrese
v41=v4//1#se divide para 1, 0.5, 0.10 para esas monedas
b3=v4-(v41*1)
v42=b3//0.5
b4=b3-(v42*0.5)
v43=b4//0.10
print("su vuelto es:")
print(v41,"monedas de un dolar")
print(v42,"monedas de cicuenta")
print(v43,"monedas de diez")
z2=(v41*1)+(v42*0.5)+(v43*0.10)
print("su canbio es",z2)
if a=="z":#se analiza el producto z
p4=("su valor es: 8.90")
uno2=float(input("ingrese las monedas de dolar "))
c2=float(input("ingrese las monedas de cicuenta "))
d2=float(input("ingrese las monedas de diez "))
p5=(uno2*1)+(c2*0.5)+(d2*0.10)
if p5<8.90:
v5=8.90-p5
print("falta",v5)
elif p5==8.90:
print("esta correcto no hay vuelto")
else:
v6=p5-8.90#es para encontrar el vuelto de lo que se ingrese
v61=v6//1#se divide para 1, 0.5, 0.10 para esas monedas
b5=v6-(v61*1)
v62=b5//0.5
b6=b5-(v62*0.5)
v63=b6//0.10
print("su vuelto es:")
print(v61,"monedas de un dolar")
print(v62,"monedas de cicuenta")
print(v63,"monedas de diez")
z3=(v61*1)+(v62*0.5)+(v63*0.10)
print("su canbio es",z3)
EJERCICIO 4. Heladera
En una heladera se parte al inicio del da con un stock de x helados de fresa, y helados de
vainilla y z helados de chocolate, con un precio de 0.40, 0.65 y 0.70 centavos
respectivamente
Realizar un algoritmo que permita registrar la venta de los helados.
Permitir realizar la venta siempre que exista stock disponible
En cada venta visualizar el valor a pagar.
Se cerrar la heladera cuando al menos uno de los tipos de helado sea menor a s
Al final de la venta visualizar el total recaudado por cada tipo de helado vendido y el total
general de la venta
Visualizar tambin el stock restante por cada tipo de helado.
x=int(input("ingrese cuanto helatos de fresa hay en el estock"))
y=int(input("ingrese cuanto helatos de vainilla hay en el estock"))
z=int(input("ingrese cuanto helatos de chocolate hay en el estock"))
s=int(input("cual es la minima cantidad de helados para que se cierre la tienda "))
f=0
v=0
c=0
v_fresa=0#estos son contadores para obtener el total de dinero
v_vainilla=0#reunido por las ventas de helado de fresa
v_chocolate=0#vainilla y chocolate
total_ventas=0
while x>s or y>s or z>s:
x1=int(input("cuantos helados de fresa desea "))
y1=int(input("cuantos helados de vainilla desea "))
z1=int(input("cuantos helados de chocolate desea "))
p1=x1*0.40#presio de helados de fresa
p2=y1*0.65#presio de helados de vainilla
p3=z1*0.70#presio de helados de chocolate
p=p1+p2+p3
print("debe pagar",p)#te imprimira el valor a pagar de los helados
f=f+x1
v=v+y1
c=c+z1
x=x-x1
y=y-y1
z=z-z1
v_fresa=v_fresa+p1
v_vainilla=v_vainilla+p2
v_chocolate=v_chocolate+p3
total_ventas=total_ventas+p
print("total de dinero por la venta de fresa es:",v_fresa)
print("total de dinero por la venta de vainilla es:",v_vainilla)
print("total de dinero por la venta de chocolate es:",v_chocolate)
print("total de dinero por la venta de hoy es:",total_ventas)
JERCICIO 5. Set de tenis
Un periodista debe relatar un partido de tenis, pero no conoce las reglas del deporte. En
particular, no ha logrado aprender cmo saber si un set ya termin, y quin lo gan.
Un partido de tenis se divide en sets. Para ganar un set, un jugador debe ganar 6 juegos, pero
adems debe haber ganado por lo menos dos juegos ms que su rival. Si el set est empatado
a 5 juegos, el ganador es el primero que llegue a 7. Si el set est empatado a 6 juegos, el set se
define en un ltimo juego, en cuyo caso el resultado final es 7-6.
Sabiendo que el jugador A ha ganado m juegos, y el jugador B, n juegos, al periodista le
gustara saber:
Si A gan el set, o si B gan el set, o si el set todava no termina, o si el resultado es
invlido (por ejemplo, 8-6 o 7-3).
Desarrolle un programa que solucione el problema del periodista:
a=int(input("ingrese los juegos ganados de a "))
b=int(input("ingrese los juegos ganados de b "))
if a<6 and b<6:
print("no termina")
if a==6 and b==6:
print("no termina")
if a==6 and b==5:
print("no termina")
if a==5 and b==6:
print("no termina")
if a==6 and b<=4:
print("gano a")
if a<=4 and b==6:
print("gano b")
if a==7 and b==5:
print("gano a")
if a==5 and b==7:
print("gano b")
if a==7 and b==6:
print("gano a")
if a==6 and b==7:
print("gano b")
if a==7 and b==7:
print("invalido")
if a>7 and b>7:
print("invalido")
if a>=7 and b<4:
print("invalido")
if a<4 and b>=7:
print("invalido")
if a<0:
print("invalido")
if b<0:
print("invalido")

EJERCICIO 6 Valor actual neto
En finanzas, el valor actual neto es un indicador de cun rentable ser un proyecto.
Se calcula sumando los flujos de dinero de cada mes divididos por (1+r)n, donde n es el
nmero del mes y r es la tasa de descuento mensual, y restando la inversin inicial.
Por ejemplo, en un proyecto en que la inversin inicial es $900, los flujos de dinero estimados
para los primeros cuatro meses son $550, $230, $341 y $190, y la tasa de descuento mensual
es de 4%, el valor actual neto es:
VAN=900+550(1+0.04)1+230(1+0.04)2+341(1+0.04)3+190(1+0.04)4.
Si el VAN da negativo, entonces no es conveniente comenzar el proyecto.
Escriba un programa que pida al usuario ingresar la inversin inicial y el porcentaje de tasa de
descuento. A continuacin, debe preguntar el flujo de dinero estimado para cada mes y
mostrar cul es la parte entera del VAN hasta ese momento.
El programa debe terminar apenas el VAN comience a dar positivo.
x=float(input("ingrese la inversion inicial "))
y=float(input("ingrese el porcentaje "))
n=int(input("ingrese el numero de meses "))
r=float(y/100)
van=x*-1
con=0
while van<0:
a=float(input("ingrese el flujo de dinero "))
con=con+1
p=(a/(1+r)**con)
van=van+p
print(int(van))
EJERCICIO 7. Multiplicacin rusa
El mtodo de multiplicacin rusa consiste en multiplicar sucesivamente por 2 el multiplicando
y dividir por 2 el multiplicador hasta que el multiplicador tome el valor 1. Luego, se suman
todos los multiplicandos correspondientes a los multiplicadores impares.
Dicha suma es el producto de los dos nmeros. La siguiente tabla muestra el clculo realizado
para multiplicar 37 por 12, cuyo resultado final es 12 + 48 + 384 = 444.
Desarrolle un programa que reciba como entrada el multiplicador y el multiplicando, y
entregue como resultado el producto de ambos, calculado mediante el mtodo de
multiplicacin rusa.
x=int(input("ingrese el multiplicador "))
y=int(input("ingrese el multiplicando "))
suma=0
p=x
while p!=1:
if x%2!=0:
suma=suma+y
p=x
p=p/2
y=y*2
if p%2!=0:
suma=suma+y
print("su producto es",suma)
Pseudocdigo o Diagrama de Flujo
EJERCICIO 1.
Leer x1
Leer y1
Leer r1
Leer x2
Leer y2
Leer r2
Calcular c1=(x1-x2)**2
Calcular c2=(y1-y2)**2
Calcular distancia=((c1+c2)**0.5)
Calcular suma=r1+r2
Si suma>=distancia
Mostrar se intersectan las circunferencias "
Caso contrario.
Mostrar "no se intersectan las circunferencias
EJERCICIO 2
1.- Palabras palndromas
Leer t
Calcular a=""
Calcular b=""
Calcular c=""
Calcular d=""
Calcular x=t.lower()
Para i en el rango (len(x))
Calcular y=i+1
Calcular p=len(x)-y
Calcular c=c+x[i]
Calcular d=d+x[p]
Si c==d
Calcular a="la palabra es palndroma"
Caso contrario
Calcular b="no es palndroma"
Mostrar a
Mostrar b
2.- frases palndromas.
Leer h
Calcular cad=""
Calcular cad1=""
Calcular c1=""
Calcular d1=""
Para j en h
Si j==""
Calcular cad=cad+j
Caso contrario
Calcular cad1=cad1+j
Calcular a1=""
Calcular b1=""
Calcular x1=cad1.lower()
Para k en el rango (len(x1))
Calcular y1=k+1
Calcular p1=len(x1)-y1
Calcular c1=c1+x1[k]
Calcular d1=d1+x1[p1]
Si c1==d1
Calcular a1="la palabra es palindroma"
Caso contrario
Calcular b1="no es palindroma"
Mostrar a1
Mostrar b1
EJERCICIO 3
Leer a
Si a=x
Mostrar "cuesta 4.50"
Leer uno
Leer c
Leer d
Calcular p1=(uno*1)+(c*0.5)+(d*0.10)
Si p1<4.50:
Calcular v1=4.50-p1
Mostrar "falta", v1
Entonces p1==4.50
Mostrar "esta correcto no hay vuelto"
Caso contrario
Calcular v2=p1-4.50
Calcular v21=v2//1
Calcular b1=v2-(v21*1)
Calcular v22=b1//0.5
Calcular b2=b1-(v22*0.5)
Calcular v23=b2//0.10
Mostrar "su vuelto es:"
Mostrar v21,"monedas de un dlar"
Mostrar v22,"monedas de cincuenta"
Mostrar v23,"monedas de diez"
Calcular z1=(v21*1)+(v22*0.5)+(v23*0.10)
Mostrar su cambio es,z1
Si a="y"
Calcular p2="su valor es: 7.40"
Leer Uno1
Leer c1
Leer d1
Calcular p3=(uno1*1)+(c1*0.5)+(d1*0.10)
Si p3<7.40:
Calcular v3=7.40-p3
Mostrar "falta",v3
Entonces p3==7.40
Mostrar "esta correcto no hay vuelto"
Caso contrario
Calcular v4=p3-7.40
Calcular v41=v4//1
Calcular b3=v4-(v41*1)
Calcular v42=b3//0.5
Calcular b4=b3-(v42*0.5)
Calcular v43=b4//0.10
Mostrar "su vuelto es:"
Mostrar v41,"monedas de un dlar"
Mostrar v42,"monedas de cincuenta"
Mostrar v43,"monedas de diez"
Calcular z2=(v41*1)+(v42*0.5)+(v43*0.10)
Mostrar "su canbio es",z2
Si a="z
Mostrar "su valor es: 8.90"
Leer uno2
Leer c2
Leer d2
Calcular p5=(uno2*1)+(c2*0.5)+(d2*0.10)
Si p5<8.90:
Calcular v5=8.90-p5
Mostrar "falta",v5
Entonces p5==8.90
Mostar esta correcto no hay vuelto"
Caso contrario
Calcular v6=p5-8.90
Calcular v61=v6//1
Calcular b5=v6-(v61*1)
Calcular v62=b5//0.5
Calcular b6=b5-(v62*0.5)
Calcular v63=b6//0.10
Mostrar "su vuelto es:"
Mostrar v61,"monedas de un dlar"
Mostrar v62,"monedas de cincuenta"
Mostrar v63,"monedas de diez"
Calcular z3=(v61*1)+(v62*0.5)+(v63*0.10)
Mostrar "su cambio es",z3
Ejercicio 4
Leer x
Leer y
Leer z
Leer s
Calcular f=0
Calcular v=0
Calcular c=0
Calcular v_fresa=0
Calcular v_vainilla=0
Calcular v_chocolate=0
Calcular total_ventas=0
Mientras x>s o y>s o z>s:
Leer x1 valor entero
Leer y1 valor entero
Leer z1 valor entero
Calcular p1=x1*0.40
Calcular p2=y1*0.65
Calcular p3=z1*0.70
Calcular p=p1+p2+p3
Mostrar "debe pagar",p
Calcular f=f+x1
Calcular v=v+y1
Calcular c=c+z1
Calcular x=x-x1
Calcular y=y-y1
Calcular z=z-z1
Calcular v_fresa=v_fresa+p1
Calcular v_vainilla=v_vainilla+p2
Calcular v_chocolate=v_chocolate+p3
Calcular total_ventas=total_ventas+p
Mostrar "total de dinero por la venta de fresa es:",v_fresa
Mostrar "total de dinero por la venta de vainilla es:",v_vainilla
Mostrar "total de dinero por la venta de chocolate es:",v_chocolate
Mostrar "total de dinero por la venta de hoy es:",total_ventas
EJERCICIO 5
Leer a valor entero
Leer b valor entero
Si a<6 y b<6
Mostrar "no termina"
Si a=6 y b=6
Mostrar "no termina"
Si a=6 y b=5
Mostrar "no termina"
Si a=5 y b=6
Mostrar "no termina"
Si a=6 y b<=4
Mostrar "gano a"
Si a<=4 y b=6
Mostrar "gano b"
Si a=7 y b=5
Mostrar "gano a"
Si a=5 y b=7
Mostrar "gano b"
Si a=7 y b=6
Mostrar "gano a"
Si a=6 y b=7
Mostrar "gano b"
Si a=7 y b=7
Mostrar "invalido"
Si a>7 y b>7
Mostrar "invalido"
Si a>=7 y b<7
Mostrar "invalido"
Si a<7 y b>=7
Mostrar "invalido"
Si a<0
Mostrar "invalido"
Si b<0
Mostrar "invalido"
EJERCICIO 6
Leer x
Leer y
Leer n
Calcular r=y/100
Calcular van=x*-1
Calcular con=0
Mientras van<0
Leer a
Cacular con=con+1
Calcular p=(a/(1+r)**con)
Calcular van=van+p
Mostrar (van)
EJERCICIO 7
Prueba de Escritorio
EJERCICIO 1
X1 Y1 R1 X2 Y2 R2 C1 C2 Distancia Suma Mostrar
5 6 3.5 10 5 3 25 1 5.099 6.5 Se intersecta
3.5 5 2 10 4 3 42.25 1 6,5765 5 No se intersectan
5 4.5 3 6 5 4.5 1 0.25 1.118 7 Se intersectan

EJERCICIO 2
Palabra palndroma.
t c d i y p mostrar
sometemos s s 0 1 8
so So 1 2 7
som Som 2 3 6
some Some 3 4 5
somet somet 4 5 4
somete Somete 5 6 3
sometem Sometem 6 7 2
sometemo Sometemo 7 8 1
sometemos sometemos 8 9 0 Si es palndroma

t c D i y p mostrar
rascar r R 0 1 5
ra Ra 1 2 4
ras Rac 2 3 3
rasc Racs 3 4 2
rasca Racsa 4 5 1
rascar Racsar 5 6 0 No es palndroma

Frases palndromas.
h cad Cad1 J K Y1 P1 C1 D1
Dabale arroz
a la zorra el
abad

d 0
da 1
dab 2
daba 3
dabal 4
dabale 5
dabale 6
dabalea 7
dabalea
r
8
Dabalea
rr
9
dabalea
rro
10
dabalea
rroz
11
dabalea
rroz
12
dabalea
rroza
13
Dabalea
rroza
14
dabalea
rrozal
15
dabalea
rrozala
16
Dabalea
rrozala
17
Dabalea
rrozalaz
18
Dabalea
rrozalaz
o
19
Dabalea
rrozalaz
or
20
Dabalea
rrozalaz
orr
21
Dabalea
rrozalaz
orra
22
Dabalea
rrozalaz
orra
23
Dabalea
rrozalaz
orrae
24
Dabalea
rrozalaz
orrael
25
Dabalea
rrozalaz
orrael
26
Dabalea
rrozalaz
orraea
27
Dabalea
rrozalaz
orraeab
28
Dabalea
rrozalaz
orraeab
a
29
Dabalea
rrozalaz
orraeab
ad
30
0 1 26 D d
1 2 25 da da
2 3 24 dab dab
3 4 23 daba daba
4 5 22 dabal dabal
5 6 21 dabale dabale
6 7 20 dabalea dabalea
7 8 19 Dabalear dabalear
8 9 18 Dabalearr Dabalearr
9 10 17 dabalearro dabalearro
10 11 16 dabalearroz dabalearroz
11 12 15 Dabalearroza dabalearroza
12 13 14 dabalearrozal dabalearrozal
13 14 13 dabalearrozala dabalearrozala
14 15 12 Dabalearrozalaz Dabalearrozalaz
15 16 11 Dabalearrozalazo Dabalearrozalazo
61 17 10 Dabalearrozalazor Dabalearrozalazor
17 18 9 Dabalearrozalazor
r
Dabalearrozalazorr
18 19 8 Dabalearrozalazor
ra
Dabalearrozalazorr
a
19 20 7 Dabalearrozalazor
ra
Dabalearrozalazorr
a
20 21 6 Dabalearrozalazor
rae
Dabalearrozalazorr
ae
21 22 5 Dabalearrozalazor
rael
Dabalearrozalazorr
ael
22 23 4 Dabalearrozalazor
raea
Dabalearrozalazorr
aea
23 24 3 Dabalearrozalazor
raeab
Dabalearrozalazorr
aeab
24 25 2 Dabalearrozalazor
raeaba
Dabalearrozalazorr
aeaba
25 26 1 Dabalearrozalazor
raeabad
Dabalearrozalazorr
aeabad
26 27 0 Dabalearrozalazor
raeabad
Dabalearrozalazorr
aeabad
Mostrar Es palinfroma

EJERCICIO 3
A Uno c D P1 V2 V21 B1 V22 B2 V23 Mostrar
x 5 0 0 5.5 1 1 0 0 0 0 1
moneda
de un
dlar
O
monedas
de 50
0
monedas
de 10

EJERCICIO 4
x y z s X1 Y1 Z1 P1 P2
10 10 10 2 3 2 1 1.20 1.30
7 8 9 3 2 0 1.20 1.30
4 6 9 3 0 0 1.20 0
1 6 9
P3 p f v c V_fresa V_vainilla V_chocolate Tota_ventas
0.70 3.20 3 2 1 1.20 1.30 0.70 3.20
0 2.50 6 3 1 2.40 1.95 0.70 5.70
0 1.20 9 3 1 3.60 1.95 0.70 6.90
Mostrar
3.60
1.95
0.70
6.90


EJERCICIO 5
a b mostrar
4 5 No termina
5 7 Gana b
5 6 No termina
3 7 Invalido
6 4 Gana a

EJERCICIO 6
x y n r van a con p Mostrar
1000 10 5 0.10 -1000 768 1 698.18 -301
-301 654 2 540.49 238
238


EJERCICIO 7

You might also like