Taller de aplicación no1
Lógica de programación
10ª
Juan David Campuzano
Ricardo Antonio botero
Registre en su cuaderno o documento a enviar,
Convierta los siguientes diagramas de flujo a un
programa en Python:
diagrama 1
Diagrama 2
Diagrama 3
# Promedio de números positivos terminados con un número negativo
print("Calculando el promedio de números positivos. Termina ingresando un número
negativo.")
# 1. Estructura WHILE
numeros = []
numero = float(input("Ingresa un número: "))
while numero >= 0: # Mientras el número sea positivo
numeros.append(numero)
numero = float(input("Ingresa otro número: "))
# Calcular el promedio
if len(numeros) > 0:
promedio = sum(numeros) / len(numeros)
print("Promedio (usando WHILE):", promedio)
else:
print("No ingresaste números positivos.")
# 2. Estructura FOR
numeros = [10, 20, 30, -5] # Lista de prueba
suma = 0
contador = 0
for num in numeros:
if num < 0: # Terminar si hay un número negativo
break
suma += num
contador += 1
if contador > 0:
promedio = suma / contador
print("Promedio (usando FOR):", promedio)
else:
print("No hay números positivos en la lista.")
# 3. Simulación de DO-WHILE
numeros = []
while True:
numero = float(input("Ingresa un número (DO-WHILE simulado): "))
if numero < 0: # Salir si es negativo
break
numeros.append(numero)
if len(numeros) > 0:
promedio = sum(numeros) / len(numeros)
print("Promedio (usando DO-WHILE):", promedio)
else:
print("No ingresaste números positivos.")
ejecución:
Calculando el promedio de números positivos. Termina ingresando un
número negativo.
Ingresa un número:
-56
No ingresaste números positivos.
Promedio (usando FOR): 20.0
Ingresa un número (DO-WHILE simulado):
Sesión finalizada debido a tiempo de espera.
Presione Enter para salir de la terminal
Explicación del Código
Estructura While:
-Solicita números hasta que se ingresa uno negativo.
-Se almacenan los números en una lista y, al final, se calcula el promedio.
Estructura For:
-Usa una lista predefinida (para esta parte, se pueden incluir entradas del usuario
si se prefiere).
-Detiene el cálculo cuando encuentra un número negativo.
Simulación Do-While:
-Realiza al menos una iteración antes de verificar la condición para salir del bucle.
Prueba de escritorio
Entrada de Ejemplo:
Números ingresados: 10, 20, 30, -1
Resultados Esperados:
While:
Números: [10, 20, 30]
Promedio: (10 + 20 + 30) / 3 = 20.0
For:
Números procesados: [10, 20, 30]
Promedio: 20.0
Do-While:
Números: [10, 20, 30]
Promedio: 20.0
Ejercicio 2
# Cálculo de la serie Ex = X^1 + X^2 + ... + X^n
print("Cálculo de la serie E_x = X^1 + X^2 + X^3 + ... + X^n")
# Entradas
X = float(input("Ingresa el valor de X (base): "))
n = int(input("Ingresa el valor de n (exponente máximo): "))
# Validación de entrada para n
if n <= 0:
print("El valor de n debe ser mayor a 0.")
else:
# Inicialización de la variable que almacenará el resultado de la
serie
resultado = 0
# 1. Estructura WHILE
i=1
while i <= n:
resultado += X ** i # Elevar X a la potencia i y sumarlo al
resultado
i += 1
print("Resultado usando WHILE:", resultado)
# 2. Estructura FOR
resultado = 0 # Reiniciar el resultado
for i in range(1, n + 1):
resultado += X ** i
print("Resultado usando FOR:", resultado)
# 3. Simulación DO-WHILE
resultado = 0 # Reiniciar el resultado
i=1
while True:
resultado += X ** i
i += 1
if i > n: # Condición de salida
break
print("Resultado usando DO-WHILE:", resultado)
ejecución:
Cálculo de la serie E_x = X^1 + X^2 + X^3 + ... + X^n
Ingresa el valor de X (base): 8
Ingresa el valor de n (exponente máximo): 6
Resultado usando WHILE: 299592.0
Resultado usando FOR: 299592.0
Resultado usando DO-WHILE: 299592.0
Explicación del Código
1. Entradas:
XXX: Base de la potencia.
nnn: Número de términos a calcular.
Se valida que n>0n > 0n>0 para evitar cálculos inválidos.
2. Cálculo de la Serie:
Estructura While: Calcula la suma iterando desde i=1i = 1i=1 hasta i=ni = ni=n.
Estructura For: Usa un rango de iii para sumar los términos.
Simulación Do-While: Realiza al menos una iteración y detiene cuando i>ni >
ni>n.
3. Salida:
Muestra el resultado de la serie calculado con cada estructura de control.
Prueba de Escritorio
Entrada de Ejemplo:
X=2X = 2X=2, n=4n = 4n=4
Serie: 21+22+23+24=2+4+8+16=302^1 + 2^2 + 2^3 + 2^4 = 2 + 4 + 8 + 16 =
3021+22+23+24=2+4+8+16=30
Resultados Esperados:
While: 30.0
For: 30.0
Do-While: 30.0
Ejercicio 3
Explicación del Código
1. Entrada:
El usuario proporciona nnn, que debe ser un número entero mayor o igual a 1.
2. Casos Base:
Si n=1n = 1n=1, el resultado es 1.
Si n=2n = 2n=2, el resultado es 2.
3. Cálculo con Estructura For:
A partir de n=3n = 3n=3, se utiliza un bucle for para calcular An=An−1+An−2A_n =
A_{n-1} + A_{n-2}An=An−1+An−2.
Se actualizan los valores de An−1A_{n-1}An−1 y An−2A_{n-2}An−2 en cada
iteración.
4. Salida:
Imprime el valor del nnn-ésimo término.
Prueba de Escritorio
Entrada de Ejemplo:
n=6n = 6n=6
Secuencia:
A1=1,A2=2,A3=3,A4=5,A5=8,A6=13A_1 = 1, A_2 = 2, A_3 = 3, A_4 = 5, A_5 = 8,
A_6 = 13A1=1,A2=2,A3=3,A4=5,A5=8,A6=13
Resultado Esperado:
El término Fibonacci número 6 es: 13
Ejercicio 4
Explicación del Código
1. Entrada:
Se solicita al usuario ingresar temperaturas de forma continua.
La entrada termina al ingresar una temperatura de 0.
2. Procesamiento:
Se almacenan todas las temperaturas en una lista.
Si una temperatura es negativa, se incrementa un contador.
Cuando se detiene la entrada, se utilizan las funciones max() y min()
para calcular la temperatura máxima y mínima de la lista.
3. Salida:
Imprime la temperatura máxima y mínima.
Informa el total de temperaturas negativas ingresadas.
4. Validación:
Si no se ingresaron temperaturas (solo se ingresó 0 al principio), se
muestra un mensaje indicando que no hay datos válidos.
Prueba de Escritorio
Entrada de Ejemplo:
Temperaturas ingresadas: 25, -5, 15, -10, 30, 0
Resultados Esperados:
Temperatura máxima: 30
Temperatura mínima: -10
Total, de temperaturas negativas: 2
Ejercicio 5
Explicación del Código
1. Entrada:
El usuario debe ingresar 10 valores, uno por uno.
Los valores se almacenan en una lista (valores) y se suman
directamente en cada iteración.
2. Procesamiento:
Suma: Se acumulan los valores ingresados en la variable suma_total.
Promedio: Se calcula dividiendo la suma total entre 10 (número de
valores).
3. Salida:
Muestra los valores ingresados, la suma de los valores, y el promedio.
Prueba de Escritorio
Entrada de Ejemplo:
Valores ingresados: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50
Resultados Esperados:
Valores ingresados: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
Suma de los valores: 275
Promedio de los valores: 27.5