Programación en Python (1.º Bachillerato)
CDYPC1BACH
📌 Saberes Básicos A.1, A.2 y A.3: Fundamentos de Programación y Estructuras de Control
1. Conceptos Fundamentales
- Algoritmo: Secuencia ordenada y finita de pasos lógicos para resolver un problema. Es independiente del lenguaje utilizado.
- Código (Programa): Traducción concreta de un algoritmo a un lenguaje de programación específico (en nuestro caso, Python) mediante instrucciones que la máquina puede interpretar.
- Instrucción: Cada una de las líneas u órdenes individuales de un programa.
- Secuenciación: Ejecución ordenada de las instrucciones, una detrás de otra, de arriba abajo.
2. Variables, Tipos de Datos e Interacción
En Python no es necesario declarar el tipo de variable previamente; el lenguaje lo detecta automáticamente (tipado dinámico).
Tipos de datos elementales:
- Enteros (
int): Números sin decimales. Ejemplo:edad = 17 - Decimales (
float): Números reales. Ejemplo:nota = 8.5 - Cadenas de texto (
str): Texto delimitado por comillas. Ejemplo:nombre = "Ana" - Booleanos (
bool): Valores lógicos de verdad. Solo pueden serTrueoFalse.
Entrada y Salida de datos:
Python
# Impresión en pantalla
print("Hola mundo")
# Captura de datos (input devuelve siempre un string, por lo que debemos convertir el tipo si es número)
nombre = input("¿Cómo te llamas? ")
edad = int(input("¿Cuántos años tienes? ")) # Conversión explícita a entero
3. Estructuras de Control Selectivas (Condicionales)
Permiten ejecutar bloques de código según se cumpla o no una condición lógica.
Python
if nota >= 9:
print("Sobresaliente")
elif nota >= 5:
print("Aprobado")
else:
print("Suspenso")
Operadores relacionales:== (igual a), != (diferente de), >, <, >=, <=
Operadores lógicos:and (Y lógico), or (O lógico), not (Negación)
4. Estructuras de Control Iterativas (Bucles)
Permiten repetir un conjunto de instrucciones.
A. Iteración Finita / Determinada (for)
Se utiliza cuando sabemos con certeza cuántas veces queremos repetir el bloque de código.
Python
# Repite 5 veces (los valores de 'i' irán de 0 a 4)
for i in range(5):
print(f"Iteración número {i}")
B. Iteración Indeterminada o Infinita (while)
Se ejecuta mientras la condición sea verdadera. Si la condición nunca se vuelve falsa, se genera un bucle infinito.
Python
# Bucle finito (con condición de parada)
intentos = 0
while intentos < 3:
print("Intentándolo...")
intentos += 1 # Incremento para evitar bucle infinito
# Bucle infinito explícito (usado habitualmente en videojuegos o sistemas continuos)
while True:
print("Servidor activo...")
5. Modularidad: Funciones Básicas
Las funciones permiten empaquetar bloques de código reutilizables para mantener un programa estructurado y limpio.
Python
# Definición de la función con parámetros y retorno de valor
def calcular_area_rectangulo(base, altura):
area = base * altura
return area
# Llamada a la función
resultado = calcular_area_rectangulo(5, 3)
print(f"El área es: {resultado}")
📝 PARA TU LIBRETA (Sintaxis imprescindible a memorizar)
Copia en tu cuaderno estas 6 fórmulas sintácticas fundamentales:
- Lectura de número entero:
variable = int(input("Texto: "))- Condicional múltiple:
if cond1:...elif cond2:...else:...- Bucle de recuento finito:
for i in range(N):- Bucle condicional:
while condicion:- Definición de función:
def nombre_funcion(parametro1, parametro2):return resultado- Regla de Indentación: Todo bloque dentro de un
if,for,whileodefdebe llevar 4 espacios de sangría a la izquierda.
📄 FICHA DE EJERCICIOS: ESTRUCTURAS BÁSICAS EN PYTHON
Materia: Creación Digital y Pensamiento Computacional (1.º Bachillerato)
Saber Básico A.1 / A.2: Fundamentos de Programación y Estructuras de Control
Nombre y Apellidos: ____________________________________________________
Curso y Grupo: 1.º Bach. ____ | Fecha://2026
🧩 BLOQUE 1: Traza de Código y Predicción de Salida (15 min)
Analiza los siguientes fragmentos de código e indica qué se mostrará por pantalla al ejecutar cada uno.
1.1. Análisis de condicionales y variables
Python
x = 15
y = 20
if x > 10 and y < 15:
print("Caso A")
elif x <= 15 or y == 20:
print("Caso B")
else:
print("Caso C")
- Salida por pantalla: ____________________________________________________
1.2. Traza de bucle for
Python
suma = 0
for i in range(1, 5):
suma = suma + i
print(f"Resultado: {suma}")
- Escribe la evolución de las variables en cada vuelta:
- Vuelta 1:
i = 1|suma = _____ - Vuelta 2:
i = 2|suma = _____ - Vuelta 3:
i = 3|suma = _____ - Vuelta 4:
i = 4|suma = _____
- Vuelta 1:
- Salida final por pantalla: ____________________________________________________
1.3. Bucle while con acumulador
Python
contador = 3
while contador > 0:
print(contador)
contador -= 1
print("¡Despegue!")
- Salida por pantalla (línea a línea):
🐛 BLOQUE 2: Depuración y Caza de Errores (15 min)
Cada uno de los siguientes programas contiene errores de sintaxis o lógica. Identifícalos y escribe la versión corregida.
2.1. Registro de usuario
Python
# CÓDIGO CON ERRORES:
edad = input("Introduce tu edad: ")
if edad >= 18
print("Eres mayor de edad")
- Errores encontrados:
- Código corregido:
Python
2.2. Definición y llamada a función
Python
# CÓDIGO CON ERRORES:
def calcular_doble(numero)
return numero * 2
mi_numero = 5
print(Calcular_doble(mi_numero))
- Errores encontrados:
- Código corregido:
Python
✍️ BLOQUE 3: Programación en Papel (20 min)
Escribe en Python el código correspondiente a cada uno de los siguientes retos.
Reto A: Control de temperatura con if/elif/else
Pide al usuario la temperatura actual en grados Celsius (número entero).
- Si la temperatura es menor a 10, muestra
"Frío". - Si está entre 10 y 25 (ambos incluidos), muestra
"Templado". - Si es mayor a 25, muestra
"Calor".
Python
Reto B: Generador de tabla de multiplicar con for
Pide al usuario un número entero y muestra su tabla de multiplicar del 1 al 10 con el formato N x i = resultado.
Python
Reto C: Sistema de autenticación con while
Crea un programa que pida una clave de acceso mediante un bucle while. La clave correcta es "estartit". El programa debe seguir pidiendo la clave continuamente hasta que el usuario la introduzca correctamente. Al acertar, debe imprimir "Acceso concedido".
Python
Reto D: Función de cálculo de IVA
Crea una función llamada aplicar_iva(precio) que reciba un precio numérico y devuelva el precio total con el 21% de IVA aplicado. Posteriormente, pide un precio al usuario, llama a la función y muestra el importe final por pantalla.
Python
🔑 SOLUCIONARIO RÁPIDO (Para el profesor/a de guardia)
- Bloque 1.1:
Caso B - Bloque 1.2:
sumatoma valores 1, 3, 6, 10. Salida:Resultado: 10 - Bloque 1.3:
3,2,1,¡Despegue! - Bloque 2.1: Falta
int()en la lectura; faltan los dos puntos:tras elif; falta la indentación enprint. - Bloque 2.2: Faltan los dos puntos
:en la definición de la función; falta la indentación enreturn; llamada con mayúsculaCalcular_doble(Python distingue mayúsculas/minúsculas).
