Programación estructurada en Python
Instrucciones para realizar la actividad:
- Copia cada programa en tu entorno de Python.
- Ejecuta cada ejemplo y observa su resultado.
- Modifica algunos valores para comprobar cómo cambia la salida.
- Responde las preguntas de comprensión.
- 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
- ¿Qué valor tiene la variable
numero? - ¿Qué condición se está evaluando en el
if? - ¿Qué significa el operador
>=? - ¿Qué mensaje imprimirá el programa con el valor actual?
- ¿Qué mensaje imprimiría si
numero = 3? - ¿Qué parte del código se ejecuta cuando la condición es falsa?
- ¿Qué estructura de control se utiliza en este ejemplo?
- ¿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
- ¿Qué estructura se utiliza para repetir instrucciones?
- ¿Cuál es la variable de control del ciclo?
- ¿Qué valores toma
idurante la ejecución? - ¿Cuántas veces se ejecuta
print()? - ¿Qué significa
range(1, 6)? - ¿Por qué no aparece el número
6en la salida? - ¿Qué pasaría si el rango fuera
range(1, 4)? - ¿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
- ¿Con qué valor inicia la variable
contador? - ¿Con qué valor inicia
acumulado? - ¿Qué condición controla el ciclo
while? - ¿Cuáles son los valores que se van sumando en
acumulado? - ¿Qué resultado final imprimirá el programa?
- ¿Por qué es necesario aumentar el valor de
contadordentro del ciclo? - ¿Qué ocurriría si se elimina la línea
contador = contador + 1? - ¿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
forpara imprimir un conteo desde1hasta 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
- ¿Qué valores contiene la lista
numeros? - ¿Con qué valor inicia la variable
positivos? - ¿Con qué valor inicia
suma_positivos? - ¿Cuál es la función de la variable
indice? - ¿Qué condición controla el ciclo
while? - ¿Qué instrucción permite obtener el número actual de la lista?
- ¿Qué condición se evalúa en el bloque
if? - ¿Qué operador relacional se usa para decidir si un número es positivo?
- ¿Qué mensaje se imprime cuando el número es negativo?
- ¿Qué ocurre con la variable
positivoscuando el número es3? - ¿Qué ocurre con
suma_positivoscuando el número es5? - ¿Por qué el número
0entra en la parte de positivos? - ¿Qué pasaría si se eliminara la línea
indice = indice + 1? - ¿Para qué sirve el ciclo
foral final del programa? - ¿Qué valores toma la variable
ien el ciclofor? - ¿Cuál es el resultado final de
suma_positivosy por qué?