Está en la página 1de 9

Ejercicios de estructuras de control

Conversión entre temperaturas

Análisis

Cree un programa que convierta una temperatura, en Celcius o Fahrenheit, a su contraparte. Las fórmulas de conversión
son:
5
Fahrenheit a Celcius: TC = (TF − 32)
9
Celcius a Fahrenheit: TF = 95 TC + 32

Diseño

leer temperatura leer escala si la escala es celcius: calcular la temperatura en fahrenheit si la escala es fahrenheit: calcular la
temperatura en celcius si no mostrar un error mostrar la conversión

Implementación

In [6]: temp = float(input("Ingrese la temperatura: "))


escala = input("Ingrese la escala: ")

if escala == "C":
temp_nueva = (9/5)*temp + 32
elif escala == "F":
temp_nueva = (5/9)*(temp - 32)
else:
print("Error, escala no reconocida.")

if escala == "C" or escala == "F":


print("La temperatura es %.3f" % temp_nueva)

Ingrese la temperatura: 20
Ingrese la escala: C
La temperatura es 68.000

Calculadora

Análisis

Cree un programa que funcione como una calculadora. Pida dos números, luego una de 4 posibles operaciones: suma (+),
resta (-), multiplicación (+) o división (/).
Diseño

leer operacion leer numero1 leer numero2 si la operacion es suma: sumar numero1 y numero2 si la operacion es resta: restar
numero1 y numero2 si la operacion es multiplicación: multiplicar numero1 y numero2 si la operacion es división: dividimos
numero1 entre numero2 mostrar el resultado

Implementación

In [14]: operacion = input("Ingrese la operación: ")


numero1 = float(input("Ingrese el número 1: "))
numero2 = float(input("Ingrese el número 2: "))

if operacion == "+":
resultado = numero1 + numero2
print(resultado)
if operacion == "-":
resultado = numero1 - numero2
print(resultado)
if operacion == "*":
resultado = numero1 * numero2
print(resultado)
if operacion == "/":
try:
resultado = numero1 / numero2
print(resultado)
except:
print("Error, división entre 0!")
else:
print("Operacion no soportada")

Ingrese la operación: 5
Ingrese el número 1: 5
Ingrese el número 2: 5
Operacion no soportada

Tablas

Análisis

Escriba un programa que muestre, para los números entre 1 y 10, el número, su cuadrado y su cubo.

Implementación
In [15]: numero = 1
while numero <= 10:
print("%d %d %d" % (numero, numero**2, numero**3))
numero += 1

1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000

In [16]: for numero in range(1, 11, 1):


print("%d %d %d" % (numero, numero**2, numero**3))

1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000

Entrada válida

Análisis

Cree un código que lea correctamente un número real. El programa deberá seguir pidiendo un número hasta que se le
ingrese un real verdadero.
Nota: Pueden usar esto en sus tareas.

Implementación

In [2]: while True:


try:
numero = float(input("Deme solo un número: "))
break
except:
print("Eso no era un número")

Deme solo un número: g


Eso no era un número
Deme solo un número: g
Eso no era un número
Deme solo un número: g
Eso no era un número
Deme solo un número: 10
In [4]: valido = False
while not(valido):
try:
numero = float(input("Deme solo un número: "))
valido = True
except:
print("Eso no era un número")

Deme solo un número: dfd


Eso no era un número
Deme solo un número: dfdf
Eso no era un número
Deme solo un número: aa
Eso no era un número
Deme solo un número: 2

Promedio

Análisis

Escriba un programa al que se le ingrese un número n. El programa ahora deberá pedir otros n nuevos números. Sobre
estos, calculará su promedio (media aritmética), su media geométrica y media armónica.
Media aritmética:
x1 + x2 +. . . +xn
n
Media geométrica:
1
(x1 ⋅ x2 ⋅. . . ⋅xn ) n
Media armónica:
n
1 1
x1 + x2 . . . + x1n

Nota: Probemos primero solo con el promedio, luego agreguemos las otras dos.

Diseño

pedir n, la cantidad de números a ingresar sumatoria = 0 repita n veces pedir un numero sumatoria = sumatoria + numero
calcular media = sumatoria / n mostrar media

Implementación
In [14]: n = int(input("Ingrese la cantidad de números: "))

sumatoria = 0
multiplicatoria = 1
suma_inversa = 0
for i in range(n):
numero = float(input("Ingrese el número %d:" % (i + 1)))
sumatoria += numero
multiplicatoria *= numero
suma_inversa += 1/numero

if n > 0:
media_aritmetica = sumatoria / n
media_geometrica = pow(multiplicatoria, 1/n)
media_armonica = n / suma_inversa
print("La media de los números es %.4f" % media_aritmetica)
print("La media geométrica de los números es %.4f" % media_geometrica)
print("La media armónica de los números es %.4f" % media_armonica)

Ingrese la cantidad de números: 4


Ingrese el número 1:1
Ingrese el número 2:2
Ingrese el número 3:3
Ingrese el número 4:4
La media de los números es 2.5000
La media geométrica de los números es 2.2134
La media armónica de los números es 1.9200

Invertir un número

Análisis

Escriba un programa al que se le ingrese un número entero positivo y lo devuelva invertido. Por ejemplo, si se escribe 1234,
se debería devolver 4321.
Nota: Debe hacerse la conversión como número. No se vale convertir a hilera.

Implementación

In [17]: numero = int(input("Numero: "))

numero_nuevo = 0
while numero > 0:
cociente = numero // 10
residuo = numero % 10

numero_nuevo = 10*numero_nuevo + residuo


numero = cociente
print(numero_nuevo)

Numero: 1236
6321
In [18]: numero = input("Numero: ")

print(numero[::-1])

Numero: 123456789
987654321

El rango

Análisis

Escriba un programa al que se le ingrese el límite superior e inferior de un rango, y un n > 1 que representa una cantidad de
puntos equidistantes dentro de ese rango. Para cada uno de esos números, calcule y muestre su seno y su coseno.

Implementación
In [25]: limite_inferior = float(input("Limite inferior: "))
limite_superior = float(input("Limite superior: "))
n = int(input("Ingrese la cantidad de puntos: "))
incremento = (limite_superior - limite_inferior) / (n - 1)

actual = limite_inferior
while actual <= limite_superior:
print(actual)
actual += incremento
Limite inferior: -10
Limite superior: 10
Ingrese la cantidad de puntos: 10000
-10.0
-9.997999799979999
-9.995999599959998
-9.993999399939996
-9.991999199919995
-9.989998999899994
-9.987998799879993
-9.985998599859991
-9.98399839983999
-9.981998199819989
-9.979997999799988
-9.977997799779986
-9.975997599759985
-9.973997399739984
-9.971997199719983
-9.969996999699982
-9.96799679967998
-9.965996599659979
-9.963996399639978
-9.961996199619977
-9.959995999599975
-9.957995799579974
-9.955995599559973
-9.953995399539972
-9.95199519951997
-9.94999499949997
-9.947994799479968
-9.945994599459967
-9.943994399439966
-9.941994199419964
-9.939993999399963
-9.937993799379962
-9.93599359935996
-9.93399339933996
-9.931993199319958
-9.929992999299957
-9.927992799279956
-9.925992599259954
-9.923992399239953
-9.921992199219952
-9.91999199919995
-9.91799179917995
-9.915991599159948
-9.913991399139947
-9.911991199119946
-9.909990999099945
-9.907990799079943
-9.905990599059942
-9.903990399039941
-9.90199019901994
-9.899989998999938
-9.897989798979937
-9.895989598959936
-9.893989398939935
-9.891989198919934
-9.889988998899932
-9.887988798879931
-9.88598859885993
-9.883988398839929
-9.881988198819927

También podría gustarte