Sesión 1: Algoritmos, datos y variables¶
Objetivo¶
Comprender qué es un algoritmo, aplicar un método básico para resolver problemas e identificar datos para almacenarlos en variables según su tipo.
Producto de la sesión¶
Elabora una ficha simple que organice y muestre datos mediante variables.
Resultado esperado¶
Construye una ficha simple identificando datos, variables y la estructura entrada, proceso y salida.
Alcance de la sesión¶
- Base conceptual: algoritmos, datos, variables, tipos de datos y constantes.
- Representación de algoritmos: lenguaje natural, pseudocódigo y diagrama de flujo.
- Método de trabajo: entrada, proceso, salida y casos de prueba.
- Práctica guiada: construcción de fichas simples con variables y lectura básica de datos.
- Aprendizaje autónomo: variaciones de fichas y práctica con variables y registro de datos.
- Evaluación de la sesión: verificación de entradas, variables, tipos de datos y pruebas.
Base conceptual de la sesión¶
La programación inicia con la capacidad de resolver problemas de manera ordenada. Antes de escribir código, se debe comprender el problema, identificar los datos necesarios, diseñar un algoritmo y representar la solución de una forma clara.
- Algoritmos
- Estructura de los algoritmos
- Representación de algoritmos
- Datos y tipos de datos básicos
- Variables y reglas de nombrado
- Constantes
- Metodología para resolver problemas
1. Algoritmos
Concepto Un algoritmo es un conjunto ordenado y finito de pasos que permite resolver un problema.
Características
- Preciso: cada instrucción debe ser clara.
- Definido: con la misma entrada produce el mismo resultado.
- Finito: termina después de una cantidad limitada de pasos.
- Ordenado: sigue una secuencia lógica.
2. Estructura básica de un algoritmo
Concepto Todo algoritmo organiza la solución en tres partes.
Elementos
- Entrada: datos que recibe.
- Proceso: operaciones o transformaciones que realiza.
- Salida: resultado que muestra u obtiene.
3. Representación de algoritmos
Concepto Representar un algoritmo ayuda a ordenar la solución antes de programarla.
Formas principales
- Lenguaje natural: describe los pasos con palabras comunes.
- Pseudocódigo: expresa la lógica con una escritura cercana a la programación.
- Diagrama de flujo: representa los pasos mediante símbolos.
Ejemplo en lenguaje natural
- Leer dos números.
- Sumar los números.
- Mostrar el resultado.
Ejemplo en pseudocódigo
Inicio
Leer numero1
Leer numero2
suma <- numero1 + numero2
Escribir suma
Fin
Ejemplo de diagrama de flujo
flowchart TD inicio([Inicio]) --> entrada[/Leer dos numeros/] entrada --> proceso[Sumar los numeros] proceso --> salida[/Mostrar la suma/] salida --> fin([Fin])
4. Datos y tipos de datos
Concepto Un dato es una representación de información que puede almacenarse y procesarse. El tipo de dato indica qué valor guarda y cómo puede usarse.
Datos simples
- Entero: número sin decimales. Ejemplos:
5,-10,200. - Real: número con decimales. Ejemplos:
3.14,25.8,-7.5. - Carácter: un solo símbolo. Ejemplos:
'A','7','#'. - Cadena: conjunto de caracteres. Ejemplos:
"Carlos","Lima". - Lógico o booleano: valor de verdad. Ejemplos:
Verdadero,Falso.
Criterio de uso
Se elige el tipo según la información: números para calcular, cadenas para texto y valores lógicos para condiciones.
5. Variables y reglas
Concepto Una variable es un espacio de memoria identificado por un nombre, donde se almacena un dato que puede cambiar.
Componentes
- Nombre: identificador de la variable.
- Tipo: clase de dato almacenado.
- Valor: información guardada.
Reglas para nombrar variables
Son adecuados nombres como edad, promedio, total_ventas y nota_final. No son adecuados 1edad, total ventas o @numero.
Declaración y asignación
Definir edad Como Entero
Definir sueldo Como Real
Definir nombre Como Cadena
edad <- 20
sueldo <- 1500.50
nombre <- "Juan"
6. Constantes
Concepto Una constante es un valor que no debe cambiar durante la ejecución del programa.
Ejemplo de aplicación
PI <- 3.1416
En Python se escriben en mayúsculas por convención para indicar que no deben modificarse.
Metodología para resolver problemas¶
- Comprender el problema: ¿qué se pide?
- Identificar entradas: ¿qué datos necesito?
- Diseñar el proceso: ¿qué operaciones o decisiones realizaré?
- Definir salidas: ¿qué debe mostrar o registrar la solución?
- Diseñar pruebas: ¿con qué casos comprobaré que funciona?
- Escribir, ejecutar y corregir el código.
En cada ejercicio aplicaremos estos pasos antes de programar.
Mini laboratorio¶
Explora variables, tipos básicos, salida en pantalla y conversión de datos antes de resolver problemas completos.
# Salida fija
print('Hola Mundo')
print("Hola Mundo")
# Entrada y Salida fija
nombre = "Juan Pérez"
edad = 16
promedio = 18.5
admitido = True
print(nombre, type(nombre))
print(edad, type(edad))
print(promedio, type(promedio))
print(admitido, type(admitido))
# Entrada y Salida dinámica
edad_texto = input("Edad: ")
print("Tipo antes de convertir:", type(edad_texto))
print("Edad el próximo año:", edad_texto + 1) # esto se rompe porque edad_texto no es un número, quita + 1
edad = int(edad_texto)
print("Tipo después de convertir:", type(edad))
print("Edad el próximo año:", edad + 1)
# Entrada y Salida dinámica con booleanos
admitido = bool(int(input('Admitido (0 no, 1 sí): ')))
print(admitido)
Ejercicio 1: Ficha con datos almacenados en variables¶
Construir una ficha de postulante, almacenando los datos en variables y usando constantes para los datos institucionales.
Resolución guiada
- Comprender: se necesita separar los datos de la salida y usar tipos de datos distintos.
- Entradas: datos escritos en el programa y guardados en variables: textos, enteros, decimales y lógicos.
- Procesos:
- declarar constantes con nombres en mayúsculas para datos fijos
- declarar variables con nombres claros para los datos del postulante
- asignar un valor a cada variable según su tipo
- mostrar los valores usando
print()y etiquetas
- Salidas: ficha de postulante construida a partir de variables.
- Pruebas:
- caso normal: ejecuta el programa y comprueba que la ficha use los valores de las variables
- caso de variación: cambia
postulante,edadopromedioy vuelve a ejecutar - caso de nombres: revisa si las variables describen claramente el dato que guardan
- Código:
INSTITUCION = "Universidad Peruana Unión"
carrera = "Ingeniería de Sistemas"
postulante = "Jarib Sullon"
edad = 16
promedio = 18.5
admitido = True
print('--- Ficha de postulante ---')
print('Institución:', INSTITUCION)
print('Carrera:', carrera)
print('Postulante:', postulante)
print('Edad:', edad)
print('Promedio:', promedio)
print('Admitido:', admitido)
Ejercicio 2: Ficha de producto con datos ingresados por teclado¶
Solicitar por teclado los datos de un producto y calcular el precio total. Convertir cantidad y precio al tipo adecuado.
Resolución guiada
- Comprender: el usuario ingresará los datos durante la ejecución; el programa debe convertirlos y calcular un resultado.
- Entradas: nombre del producto, categoría, cantidad y precio unitario.
- Procesos:
- leer textos con
input() - convertir la cantidad con
int()porque es un número entero - convertir el precio con
float()porque puede tener decimales - calcular el precio total multiplicando cantidad por precio unitario
- mostrar una ficha ordenada con los datos y el resultado
- Salidas: ficha de producto con precio total calculado.
- Pruebas:
- caso normal: ingresa datos completos, una cantidad entera y un precio decimal
- caso de variación: prueba con otro producto y otra cantidad
- caso excepcional: si escribes texto en la cantidad, el programa fallará; ese caso se usará luego para hablar de validación
- Código:
nombre = input('Nombre del producto: ')
categoria = input('Categoría: ')
cantidad = int(input('Cantidad: '))
precio = float(input('Precio unitario: '))
total = cantidad * precio
print('--- Ficha de producto ---')
print('Nombre:', nombre)
print('Categoría:', categoria)
print('Cantidad:', cantidad)
print('Precio unitario:', precio)
print('Total:', total)
Ejercicio 3: Código de postulante¶
En una competencia de programación, los enunciados suelen pedir una salida exacta. En este reto, debes leer los datos de un postulante y construir un código de registro con el formato indicado.
Problema
Leer el nombre del postulante, el año de postulación, el semestre y el puesto de ingreso. Luego mostrar una ficha con esos datos y un código formado por el año, el semestre, un guion y el puesto.
Entrada
- Nombre del postulante como texto.
- Año de postulación como texto numérico.
- Semestre como texto numérico.
- Puesto de ingreso como texto de cuatro dígitos.
Salida esperada
Mostrar los datos en este formato:
POSTULANTE: Ana
ANIO: 2026
SEMESTRE: 1
PUESTO: 0415
CODIGO: 20261-0415
Resolución guiada
- Comprender: el programa debe leer datos y mostrarlos con formato exacto.
- Entradas:
postulante,anio,semestreypuesto, todos como texto. - Procesos:
- leer cada dato con
input() - conservar el puesto con cuatro dígitos, por ejemplo
0415 - construir el código concatenando
anio,semestre,-ypuesto
- Salidas: datos del postulante y código de registro.
- Pruebas: usa el ejemplo y luego cambia el nombre, año, semestre y puesto.
- Código:
postulante = input('Postulante: ')
anio = input('Año: ')
semestre = input('Semestre: ')
puesto = input('Puesto: ')
codigo = anio + semestre + '-' + puesto
print('POSTULANTE:', postulante)
print('ANIO:', anio)
print('SEMESTRE:', semestre)
print('PUESTO:', puesto)
print('CODIGO:', codigo)
Aprendizaje autónomo¶
1
Crea una ficha para tu versículo favorito de la Biblia. Incluye libro, capítulo, versículo y texto. Usa variables con tipos str e int.
# Actividad 1: ficha de versículo bíblico directamente en variables
2
Crea una ficha para tu mascota favorita. Incluye nombre, especie, edad y peso. Usa int para la edad y float para el peso.
# Actividad 2: ficha de mascota desde entrada de datos por teclado
3 Plantee un ejercicio nuevo y desarróllelo en dos versiones: primero como una ficha simple usando variables y luego con datos ingresados por teclado. Este trabajo constituye el producto de la sesión.
# Actividad 3: producto de la sesión
# Actividad 3: segunda version con datos ingresados por teclado
Evaluación del producto de la sesión¶
Lista de cotejo para revisar el producto elaborado por el estudiante:
- Plantea un ejercicio coherente con una entrada, un proceso y una salida identificables.
- Desarrolla una primera versión de la ficha usando variables con nombres y tipos de datos adecuados.
- Desarrolla una segunda versión de la ficha con datos ingresados por teclado.
- Presenta una salida clara, ordenada y funcional en ambas versiones.
- Entrega la evidencia solicitada del trabajo realizado.