Programación estructurada en Python

Instrucciones para realizar la actividad:

  1. Copia cada programa en tu entorno de Python.
  2. Ejecuta cada ejemplo y observa su resultado.
  3. Modifica algunos valores para comprobar cómo cambia la salida.
  4. Responde las preguntas de comprensión.
  5. En las preguntas donde se solicite, explica con tus propias palabras el funcionamiento del código.

Ejemplo 1

Determinar si un número es positivo o negativo

numero = -4

if numero >= 0:
    print("El número es positivo")
else:
    print("El número es negativo")

Explicación breve

Este programa:

  • evalúa una condición
  • decide entre dos caminos posibles
  • muestra un mensaje según el valor de la variable

Preguntas

  1. ¿Qué valor tiene la variable numero?
  2. ¿Qué condición se está evaluando en el if?
  3. ¿Qué significa el operador >=?
  4. ¿Qué mensaje imprimirá el programa con el valor actual?
  5. ¿Qué mensaje imprimiría si numero = 3?
  6. ¿Qué parte del código se ejecuta cuando la condición es falsa?
  7. ¿Qué estructura de control se utiliza en este ejemplo?
  8. ¿Por qué este programa no siempre muestra el mismo mensaje?

Ejemplo 2

Contador con ciclo for

for i in range(1, 6):
    print("Número:", i)

Explicación breve

Este programa:

  • repite una instrucción varias veces
  • usa una variable de control
  • muestra números del 1 al 5

Preguntas

  1. ¿Qué estructura se utiliza para repetir instrucciones?
  2. ¿Cuál es la variable de control del ciclo?
  3. ¿Qué valores toma i durante la ejecución?
  4. ¿Cuántas veces se ejecuta print()?
  5. ¿Qué significa range(1, 6)?
  6. ¿Por qué no aparece el número 6 en la salida?
  7. ¿Qué pasaría si el rango fuera range(1, 4)?
  8. ¿Este ejemplo pertenece a una estructura secuencial, selectiva o repetitiva?

Ejemplo 3

Acumulador de suma con ciclo while

contador = 1
acumulado = 0

while contador <= 4:
    acumulado = acumulado + contador
    contador = contador + 1

print("Suma total:", acumulado)

Explicación breve

Este programa:

  • inicia un contador
  • acumula valores de forma progresiva
  • repite hasta cumplir una condición
  • imprime la suma final

Preguntas

  1. ¿Con qué valor inicia la variable contador?
  2. ¿Con qué valor inicia acumulado?
  3. ¿Qué condición controla el ciclo while?
  4. ¿Cuáles son los valores que se van sumando en acumulado?
  5. ¿Qué resultado final imprimirá el programa?
  6. ¿Por qué es necesario aumentar el valor de contador dentro del ciclo?
  7. ¿Qué ocurriría si se elimina la línea contador = contador + 1?
  8. ¿Qué tipo de estructura representa este programa?

Ejemplo 4

Varias estructuras. Este ejemplo combina:

  • estructura selectiva con if
  • ciclo for
  • ciclo while
  • contador
  • acumulador
  • condiciones
numeros = [3, -2, 5, 0, -1]

positivos = 0
suma_positivos = 0
indice = 0

while indice < len(numeros):
    numero = numeros[indice]

    if numero >= 0:
        print("Número positivo:", numero)
        positivos = positivos + 1
        suma_positivos = suma_positivos + numero
    else:
        print("Número negativo:", numero)

    indice = indice + 1

print("Cantidad de positivos:", positivos)

for i in range(1, positivos + 1):
    print("Conteo positivo", i)

print("Suma de positivos:", suma_positivos)

Explicación breve

Este programa recorre varios números, identifica si son positivos o negativos, cuenta cuántos positivos hay y acumula su suma.

El programa trabaja con una lista de números:

[3, -2, 5, 0, -1]

Primero usa un ciclo while para recorrer cada elemento de la lista. En cada vuelta:

  • toma un número de la lista
  • revisa si es positivo o negativo con if
  • si es positivo, lo cuenta y lo suma
  • si es negativo, solo lo reporta

Al terminar el ciclo while:

  • muestra cuántos números positivos encontró
  • usa un ciclo for para imprimir un conteo desde 1 hasta la cantidad de positivos
  • finalmente muestra la suma de los números positivos

En este programa, el número 0 se considera positivo porque la condición usada es numero >= 0.

Preguntas

  1. ¿Qué valores contiene la lista numeros?
  2. ¿Con qué valor inicia la variable positivos?
  3. ¿Con qué valor inicia suma_positivos?
  4. ¿Cuál es la función de la variable indice?
  5. ¿Qué condición controla el ciclo while?
  6. ¿Qué instrucción permite obtener el número actual de la lista?
  7. ¿Qué condición se evalúa en el bloque if?
  8. ¿Qué operador relacional se usa para decidir si un número es positivo?
  9. ¿Qué mensaje se imprime cuando el número es negativo?
  10. ¿Qué ocurre con la variable positivos cuando el número es 3?
  11. ¿Qué ocurre con suma_positivos cuando el número es 5?
  12. ¿Por qué el número 0 entra en la parte de positivos?
  13. ¿Qué pasaría si se eliminara la línea indice = indice + 1?
  14. ¿Para qué sirve el ciclo for al final del programa?
  15. ¿Qué valores toma la variable i en el ciclo for?
  16. ¿Cuál es el resultado final de suma_positivos y por qué?