0% encontró este documento útil (0 votos)
21 vistas13 páginas

Taller de Lógica de Programación en Python

El documento presenta un taller de lógica de programación en Python que incluye la conversión de diagramas de flujo a código. Se abordan diferentes estructuras de control como WHILE, FOR y la simulación de DO-WHILE para calcular promedios y series matemáticas. Además, se incluyen ejercicios prácticos con explicaciones detalladas y ejemplos de entrada y salida esperados.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas13 páginas

Taller de Lógica de Programación en Python

El documento presenta un taller de lógica de programación en Python que incluye la conversión de diagramas de flujo a código. Se abordan diferentes estructuras de control como WHILE, FOR y la simulación de DO-WHILE para calcular promedios y series matemáticas. Además, se incluyen ejercicios prácticos con explicaciones detalladas y ejemplos de entrada y salida esperados.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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

También podría gustarte