Ir al contenido
Tecnología · 1o de Preparatoria · Desarrollo de Software y Lenguajes de Programación · II Bimestre

Entrada y Salida de Datos

Los estudiantes implementan funciones para interactuar con el usuario, recibiendo datos y mostrando resultados.

Aprendizajes Esperados SEPSEP EMS: Desarrollo de Software

Acerca de este tema

La entrada y salida de datos permite que los programas interactúen con el usuario mediante funciones como input() para recibir información y print() para mostrar resultados. En primer año de preparatoria, bajo los programas SEP de Desarrollo de Software, los estudiantes implementan estas funciones en lenguajes de programación, diseñando interfaces intuitivas que incluyen validación de datos y retroalimentación visual clara. Esto responde a preguntas clave sobre UI amigable, seguridad en entradas y mejora de la experiencia del usuario.

Este tema fortalece habilidades esenciales en programación, como el manejo de tipos de datos, manejo de errores y diseño centrado en el usuario. Conecta con el desarrollo de software real, donde entradas no validadas pueden causar fallos o vulnerabilidades, y salidas efectivas guían al usuario. Los estudiantes practican flujos de interacción completos, desde capturar datos hasta procesarlos y exhibirlos, cultivando pensamiento lógico y depuración.

El aprendizaje activo beneficia este tema porque los estudiantes ejecutan y prueban sus códigos en sesiones colaborativas, identifican errores en tiempo real y refinan interfaces con feedback de pares, haciendo abstractos conceptos de interacción programática concretos y memorables.

Preguntas Clave

  1. ¿Cómo podemos diseñar una interfaz de usuario que sea intuitiva y fácil de usar?
  2. ¿Qué consideraciones de seguridad debemos tener al recibir entrada de datos del usuario?
  3. ¿De qué forma la retroalimentación visual mejora la experiencia del usuario en un programa?

Objetivos de Aprendizaje

  • Diseñar un programa simple que solicite al usuario su nombre y lo salude usando la función `print()`.
  • Implementar la función `input()` para capturar al menos dos datos diferentes proporcionados por el usuario (ej. nombre y edad).
  • Explicar la diferencia entre los tipos de datos de texto (string) y numéricos (integer, float) al recibir entradas del usuario.
  • Crear un programa que realice un cálculo básico (suma, resta) usando datos numéricos ingresados por el usuario y muestre el resultado.
  • Evaluar la claridad de la retroalimentación visual proporcionada por un programa después de procesar la entrada del usuario.

Antes de Empezar

Conceptos básicos de programación: Algoritmos y Pseudocódigo

Por qué: Los estudiantes necesitan comprender la lógica secuencial y la representación de pasos antes de implementar código real.

Introducción a un lenguaje de programación (ej. Python)

Por qué: Es fundamental que los estudiantes conozcan la sintaxis básica del lenguaje que utilizarán para escribir comandos.

Vocabulario Clave

Entrada de datos (Input)Información que un programa recibe del usuario o de otra fuente externa. En Python, se usa comúnmente la función `input()`.
Salida de datos (Output)Información que un programa muestra al usuario o envía a otra fuente. En Python, se usa comúnmente la función `print()`.
VariableUn espacio en la memoria de la computadora que almacena datos. Se le asigna un nombre para poder referenciarla y manipular su contenido.
Tipo de dato (Data Type)Clasificación de los datos que determina qué tipo de valor pueden contener (ej. texto, número entero, número decimal) y qué operaciones se pueden realizar con ellos.
Cadena de texto (String)Una secuencia de caracteres, como letras, números y símbolos, utilizada para representar texto. Se delimita con comillas simples o dobles.
Número entero (Integer)Un tipo de dato numérico que representa números sin decimales, tanto positivos como negativos.

Cuidado con estas ideas erróneas

Idea errónea comúnLa entrada de datos del usuario siempre es segura y correcta.

Qué enseñar en su lugar

Las entradas pueden contener errores o datos maliciosos, por lo que se necesita validación con try-except o chequeos. Actividades en pares ayudan porque los estudiantes prueban entradas inválidas en programas ajenos, ven fallos inmediatos y aprenden a implementar protecciones colaborativamente.

Idea errónea comúnPrint() solo sirve para resultados finales, no para guiar al usuario.

Qué enseñar en su lugar

Print() se usa para instrucciones, confirmaciones y feedback continuo, mejorando la usabilidad. En grupos pequeños, al crear quizzes, los estudiantes experimentan cómo mensajes intermedios reducen confusiones, refinando su código con observaciones directas.

Idea errónea comúnInput() convierte automáticamente cualquier texto a número.

Qué enseñar en su lugar

Input() siempre devuelve string, requiriendo conversión con int() o float(). Pruebas individuales de depuración muestran crashes por tipos erróneos, permitiendo correcciones prácticas y comprensión profunda de tipos de datos.

Ideas de aprendizaje activo

Ver todas las actividades

Conexiones con el Mundo Real

  • Los cajeros automáticos (ATM) utilizan funciones de entrada y salida para que los usuarios ingresen su número de identificación personal (PIN) y consulten saldos, mostrando la información requerida en pantalla.
  • Las aplicaciones de mensajería instantánea, como WhatsApp, reciben la entrada de texto del usuario para enviar mensajes y muestran las respuestas recibidas como salida, facilitando la comunicación.
  • Los videojuegos interactúan constantemente con el jugador; la entrada (comandos del control, teclado) permite al jugador controlar acciones, y la salida (gráficos, sonido) muestra el estado del juego y las consecuencias de sus acciones.

Ideas de Evaluación

Boleto de Salida

Entrega a cada estudiante una tarjeta con una instrucción simple: 'Escribe un programa corto que pida al usuario su comida favorita y luego imprima un mensaje como: "¡Qué rico! [Comida Favorita] es una excelente elección."' Revisa si usaron `input()` y `print()` correctamente.

Verificación Rápida

Presenta en pantalla fragmentos de código que usan `input()` y `print()`. Pregunta a los estudiantes: '¿Qué tipo de dato crees que se almacenará en esta variable?' o '¿Qué se mostrará en la pantalla cuando se ejecute esta línea?'

Evaluación entre Pares

Los estudiantes trabajan en parejas para crear un programa que calcule el área de un rectángulo pidiendo base y altura. Deben intercambiar sus programas y verificar si el otro programa: 1. Pide ambos valores. 2. Realiza el cálculo correctamente. 3. Muestra el resultado de forma clara. Los compañeros anotan una sugerencia de mejora.

Preguntas frecuentes

¿Cómo enseñar validación de entradas en entrada y salida de datos?
Enfoca en funciones como input() con try-except para capturar errores. Usa ejemplos reales como edades negativas en un formulario. En actividades de pares, estudiantes inyectan datos inválidos, ven impactos y agregan chequeos, reforzando seguridad sin teoría abstracta. Esto alinea con SEP al promover código robusto.
¿Cómo el aprendizaje activo ayuda a entender entrada y salida de datos?
El aprendizaje activo hace tangibles las interacciones usuario-programa mediante ejecución inmediata de códigos en parejas o grupos. Estudiantes depuran errores en vivo, prueban feedback visual y refinan UI con opiniones de pares, acelerando dominio de funciones input/print. Sesiones de 30-45 minutos generan confianza y retención superior a lecturas pasivas.
¿Qué consideraciones de seguridad en entradas de usuario?
Valida tipos, rangos y sanitiza para prevenir inyecciones SQL o crashes. Evita eval() en inputs directos. En quizzes grupales, simula ataques con strings en campos numéricos, enseñando chequeos como if isinstance(). Cumple estándares SEP al preparar para software profesional seguro.
¿Cómo mejorar experiencia usuario con retroalimentación visual?
Usa print() con colores ANSI o formatos como tabs para guías claras. Agrega confirmaciones post-input. En galería de clase, votan programas intuitivos, destacando cómo feedbacks como 'Respuesta aceptada' guían mejor. Esto responde a preguntas curriculares sobre UI amigable y eleva engagement.