Lección 82 — Cómo Hacer un Programa: Proyecto Práctico Paso a Paso

Cómo Hacer un Programa

Aprender cómo hacer un programa es uno de los pasos más importantes para convertir los conocimientos de programación en soluciones reales. Después de estudiar algoritmos, pseudocódigo, variables, operadores, condicionales, ciclos y funciones, ha llegado el momento de integrar estos elementos en un proyecto completo.

En esta lección desarrollarás un sistema básico de registro y cálculo de calificaciones. El programa permitirá introducir las calificaciones de varios estudiantes, calcular sus promedios, determinar si aprobaron o reprobaron y presentar un resumen general de los resultados.

Lo construiremos desde cero, siguiendo un procedimiento ordenado: analizar el problema, identificar los datos necesarios, diseñar el algoritmo, escribir el pseudocódigo, probar su funcionamiento y corregir posibles errores.

No necesitas experiencia avanzada ni conocimientos de un lenguaje específico. Trabajaremos con pseudocódigo para concentrarnos en la lógica del programa y comprender cómo se relacionan sus componentes.

Al finalizar, habrás desarrollado un proyecto integrador que podrás utilizar como base para crear aplicaciones más completas.


 

🎯 ¿Qué aprenderás en este proyecto?

Al completar esta lección podrás:

  • Identificar un problema que puede resolverse mediante programación.

  • Definir los objetivos y requisitos de un programa.

  • Reconocer los datos de entrada, los procesos y las salidas.

  • Diseñar un algoritmo antes de escribir instrucciones.

  • Utilizar variables y operadores para procesar información.

  • Aplicar condicionales para tomar decisiones.

  • Utilizar ciclos para repetir operaciones.

  • Organizar instrucciones mediante funciones.

  • Validar los datos introducidos por el usuario.

  • Realizar pruebas para comprobar los resultados.

  • Identificar y corregir errores básicos.

  • Documentar y mejorar un programa sencillo.

El objetivo principal no es memorizar instrucciones, sino aprender a construir soluciones de manera lógica, ordenada y verificable.


 

🧠 ¿Qué significa desarrollar un programa?

Desarrollar un programa consiste en crear un conjunto organizado de instrucciones que una computadora pueda ejecutar para resolver un problema o realizar una tarea.

Un programa puede ser tan sencillo como una calculadora o tan complejo como un sistema de administración empresarial.

Aunque existen diferencias entre los proyectos, el desarrollo suele incluir varias actividades fundamentales:

  • Comprender qué problema necesita resolverse.

  • Determinar qué debe hacer el programa.

  • Identificar la información que utilizará.

  • Diseñar una solución lógica.

  • Escribir las instrucciones.

  • Probar que funcionan correctamente.

  • Corregir errores.

  • Mejorar el resultado.

💡 Ejemplo cotidiano

Imagina que un profesor necesita calcular las calificaciones finales de sus estudiantes.

Si tiene pocos alumnos, puede realizar los cálculos manualmente.

Sin embargo, cuando necesita procesar muchas calificaciones, repetir las operaciones puede resultar tardado y aumentar el riesgo de errores.

Un programa puede automatizar parte de ese trabajo.

Por ejemplo, puede recibir tres calificaciones de cada estudiante, calcular el promedio y determinar si alcanza la calificación mínima aprobatoria.

Este será nuestro proyecto.


 

🏗️ Etapas para crear un programa desde cero

Antes de comenzar, es importante comprender las etapas que seguiremos.

EtapaActividad principalResultado esperado
AnálisisComprender el problemaRequisitos definidos
DiseñoPlanear la soluciónAlgoritmo y pseudocódigo
DesarrolloEscribir las instruccionesPrograma construido
PruebasComprobar el funcionamientoResultados verificados
CorrecciónResolver errores detectadosPrograma mejorado
DocumentaciónExplicar cómo funcionaSolución comprensible

Estas etapas no siempre se realizan una sola vez. Durante el desarrollo es normal regresar a una etapa anterior para modificar o mejorar la solución.

📌 ¿Por qué no comenzar directamente a escribir código?

Porque escribir instrucciones sin comprender el problema puede provocar errores, repeticiones innecesarias y soluciones incompletas.

Primero debemos saber qué queremos resolver; después decidiremos cómo hacerlo.


 

📋 Presentación del proyecto: sistema de calificaciones

Desarrollaremos un programa llamado:

Sistema Básico de Calificaciones

Su propósito será registrar información de varios estudiantes y calcular sus resultados académicos.

🎯 Objetivo general

Crear un programa que permita introducir el nombre y tres calificaciones de cada estudiante, calcular su promedio, determinar si aprobó o reprobó y presentar un resumen general.

🧩 Funcionalidades

El programa deberá:

  • Solicitar la cantidad de estudiantes que se registrarán.

  • Pedir el nombre de cada estudiante.

  • Solicitar tres calificaciones.

  • Comprobar que las calificaciones sean válidas.

  • Calcular el promedio individual.

  • Determinar si cada estudiante aprobó.

  • Mostrar los resultados de cada estudiante.

  • Contar cuántos aprobaron y reprobaron.

  • Calcular el promedio general del grupo.

  • Presentar un resumen al finalizar.

📏 Reglas del proyecto

Para simplificar el ejercicio, utilizaremos las siguientes condiciones:

  • Las calificaciones estarán comprendidas entre 0 y 10.

  • Cada estudiante tendrá exactamente tres calificaciones.

  • Las tres calificaciones tendrán el mismo valor para calcular el promedio.

  • La calificación mínima aprobatoria será 6.

  • Se registrará al menos un estudiante.

  • El promedio se calculará utilizando los valores originales, sin redondearlos antes de tomar decisiones.

Importante: estas reglas son supuestos didácticos. Los sistemas reales deben adaptarse a las normas de evaluación de cada institución.


 

🔍 Análisis del problema

La primera etapa consiste en identificar qué información necesitamos y qué resultados esperamos obtener.

Podemos hacerlo mediante el modelo:

Entrada → Proceso → Salida

📥 Datos de entrada

Son los valores que el usuario proporcionará.

DatoTipoEjemplo
Cantidad de estudiantesEntero3
NombreTextoAna
Primera calificaciónNúmero8
Segunda calificaciónNúmero9
Tercera calificaciónNúmero7

⚙️ Procesos

Son las operaciones que realizará el programa.

  • Validar la cantidad de estudiantes.

  • Leer y validar las calificaciones.

  • Sumar las tres calificaciones.

  • Dividir la suma entre tres.

  • Comparar el promedio con la calificación mínima.

  • Actualizar los contadores de aprobados y reprobados.

  • Acumular los promedios individuales.

  • Calcular el promedio general.

📤 Datos de salida

Son los resultados que mostrará el programa.

  • Nombre del estudiante.

  • Promedio individual.

  • Estado de aprobación.

  • Cantidad total de estudiantes.

  • Número de aprobados.

  • Número de reprobados.

  • Promedio general del grupo.

🧠 ¿Qué hemos conseguido?

Todavía no hemos escrito el programa, pero ya conocemos sus principales requisitos.

Este análisis evita que olvidemos funciones importantes durante el desarrollo.


 

🧮 Diseño de las operaciones matemáticas

Nuestro programa utilizará dos cálculos principales.

📊 Promedio individual

El promedio de tres calificaciones se calcula mediante:

Promedio = (Calificación 1 + Calificación 2 + Calificación 3) / 3

Por ejemplo, si un estudiante obtiene:

  • Primera calificación: 8.

  • Segunda calificación: 9.

  • Tercera calificación: 7.

Entonces:

Promedio = (8 + 9 + 7) / 3 = 8

🏫 Promedio general del grupo

Para obtener el promedio general, sumaremos los promedios individuales y dividiremos el resultado entre la cantidad de estudiantes.

Promedio general = Suma de promedios individuales / Cantidad de estudiantes

Este procedimiento es válido porque todos los estudiantes tienen exactamente tres calificaciones con el mismo peso.

✅ Regla de aprobación

Utilizaremos una condición:

  • Si el promedio es mayor o igual a 6, el estudiante aprueba.

  • Si el promedio es menor que 6, reprueba.

En pseudocódigo:

SI promedio >= 6 ENTONCES
    ESCRIBIR "Aprobado"
SINO
    ESCRIBIR "Reprobado"
FIN SI

Esta condición permitirá automatizar la clasificación de los resultados.


 

🧩 Identificación de las variables

Las variables permiten almacenar los datos que utiliza el programa.

VariableTipo conceptualFunción
cantidadEstudiantesEnteroCantidad de registros
nombreTextoNombre del estudiante
nota1RealPrimera calificación
nota2RealSegunda calificación
nota3RealTercera calificación
promedioRealPromedio individual
sumaPromediosRealAcumulador de promedios
aprobadosEnteroContador de aprobados
reprobadosEnteroContador de reprobados
promedioGeneralRealPromedio del grupo
iEnteroControl del ciclo

🔎 ¿Qué son los contadores?

Un contador es una variable que registra cuántas veces ocurre determinado evento.

Por ejemplo:

aprobados ← aprobados + 1

Esta instrucción incrementa el contador cuando un estudiante aprueba.

➕ ¿Qué es un acumulador?

Un acumulador es una variable que guarda una suma progresiva.

Por ejemplo:

sumaPromedios ← sumaPromedios + promedio

Cada vez que procesamos un estudiante, agregamos su promedio al total acumulado.

Los contadores registran cantidades; los acumuladores reúnen valores para operaciones posteriores.


 

📝 Diseño del algoritmo

Ahora que conocemos los requisitos, podemos establecer la secuencia general de instrucciones.

🛠️ Algoritmo propuesto

  1. Iniciar el programa.

  2. Solicitar la cantidad de estudiantes.

  3. Validar que sea un entero positivo.

  4. Inicializar los contadores y el acumulador.

  5. Repetir el registro para cada estudiante.

  6. Solicitar su nombre.

  7. Solicitar y validar sus tres calificaciones.

  8. Calcular su promedio.

  9. Determinar si aprobó o reprobó.

  10. Actualizar el contador correspondiente.

  11. Acumular el promedio individual.

  12. Mostrar los resultados del estudiante.

  13. Continuar hasta procesar todos los registros.

  14. Calcular el promedio general.

  15. Mostrar el resumen del grupo.

  16. Finalizar.

Esta secuencia representa la lógica principal del programa.

🔄 ¿Dónde utilizaremos los ciclos?

Necesitamos repetir el registro de estudiantes y la validación de datos.

Utilizaremos:

  • PARA: para procesar una cantidad conocida de estudiantes.

  • MIENTRAS: para volver a solicitar datos cuando no cumplan las condiciones establecidas.

🧠 ¿Dónde utilizaremos los condicionales?

Los utilizaremos para:

  • Determinar si una calificación está dentro del rango permitido.

  • Comprobar si el estudiante aprobó.

  • Seleccionar el contador que debemos incrementar.

🧰 ¿Dónde utilizaremos las funciones?

Crearemos funciones para:

  • Solicitar una calificación válida.

  • Calcular el promedio.

  • Determinar si un estudiante aprobó.

Así evitaremos repetir instrucciones y mantendremos el programa organizado.


 

🛠️ Desarrollo de las funciones

Antes de escribir el programa completo, construiremos sus componentes principales.

🔐 Función para solicitar una calificación válida

Una calificación debe estar comprendida entre 0 y 10.

Si el usuario introduce un valor fuera de ese intervalo, el programa deberá solicitarlo nuevamente.

FUNCIÓN leerCalificacion(numeroNota)
    ESCRIBIR "Introduce la calificación ", numeroNota
    LEER calificacion

    MIENTRAS calificacion < 0 O calificacion > 10 HACER
        ESCRIBIR "Error: la calificación debe estar entre 0 y 10"
        LEER calificacion
    FIN MIENTRAS

    RETORNAR calificacion
FIN FUNCIÓN

Esta función recibe el número de la calificación que debe solicitar y devuelve un valor válido.

Suposición: el usuario introduce valores numéricos. La comprobación de entradas no numéricas se abordará como una mejora posterior.

🧮 Función para calcular el promedio

FUNCIÓN calcularPromedio(a, b, c)
    promedio ← (a + b + c) / 3
    RETORNAR promedio
FIN FUNCIÓN

La función recibe tres calificaciones y devuelve su promedio.

✅ Función para determinar la aprobación

FUNCIÓN estaAprobado(promedio)
    SI promedio >= 6 ENTONCES
        RETORNAR VERDADERO
    SINO
        RETORNAR FALSO
    FIN SI
FIN FUNCIÓN

La función devuelve un valor lógico.

VERDADERO significa que el estudiante aprobó.

FALSO significa que no alcanzó el promedio mínimo.

💡 Ventaja de esta organización

Si posteriormente necesitamos cambiar la calificación mínima aprobatoria, podemos modificar la función estaAprobado() sin alterar las operaciones del promedio.

Esto demuestra la utilidad de la reutilización del código.


 

💻 Programa completo en pseudocódigo

Ahora integraremos todas las instrucciones en una sola solución.

El siguiente pseudocódigo utiliza una estructura general con funciones y un bloque principal.

FUNCIÓN leerCalificacion(numeroNota)
    ESCRIBIR "Introduce la calificación ", numeroNota
    LEER calificacion

    MIENTRAS calificacion < 0 O calificacion > 10 HACER
        ESCRIBIR "Error: la calificación debe estar entre 0 y 10"
        LEER calificacion
    FIN MIENTRAS

    RETORNAR calificacion
FIN FUNCIÓN


FUNCIÓN calcularPromedio(a, b, c)
    promedio ← (a + b + c) / 3
    RETORNAR promedio
FIN FUNCIÓN


FUNCIÓN estaAprobado(promedio)
    SI promedio >= 6 ENTONCES
        RETORNAR VERDADERO
    SINO
        RETORNAR FALSO
    FIN SI
FIN FUNCIÓN


INICIO

    ESCRIBIR "SISTEMA BÁSICO DE CALIFICACIONES"

    ESCRIBIR "Cantidad de estudiantes:"
    LEER cantidadEstudiantes

    MIENTRAS cantidadEstudiantes < 1 O
             cantidadEstudiantes NO ES ENTERO HACER

        ESCRIBIR "Introduce un número entero positivo"
        LEER cantidadEstudiantes

    FIN MIENTRAS

    aprobados ← 0
    reprobados ← 0
    sumaPromedios ← 0

    PARA i ← 1 HASTA cantidadEstudiantes HACER

        ESCRIBIR "Estudiante ", i

        ESCRIBIR "Nombre:"
        LEER nombre

        nota1 ← leerCalificacion(1)
        nota2 ← leerCalificacion(2)
        nota3 ← leerCalificacion(3)

        promedio ← calcularPromedio(
            nota1, nota2, nota3
        )

        sumaPromedios ← sumaPromedios + promedio

        SI estaAprobado(promedio) ENTONCES

            estado ← "Aprobado"
            aprobados ← aprobados + 1

        SINO

            estado ← "Reprobado"
            reprobados ← reprobados + 1

        FIN SI

        ESCRIBIR "Nombre: ", nombre
        ESCRIBIR "Promedio: ", promedio
        ESCRIBIR "Estado: ", estado

    FIN PARA

    promedioGeneral ←
        sumaPromedios / cantidadEstudiantes

    ESCRIBIR "RESUMEN GENERAL"

    ESCRIBIR "Estudiantes: ", cantidadEstudiantes
    ESCRIBIR "Aprobados: ", aprobados
    ESCRIBIR "Reprobados: ", reprobados
    ESCRIBIR "Promedio general: ", promedioGeneral

FIN

📌 Consideraciones sobre el pseudocódigo

El programa está diseñado para enseñar la lógica, no para ejecutarse directamente en un lenguaje específico.

La sintaxis de LEER, ESCRIBIR, FUNCIÓN y otras instrucciones puede variar entre herramientas.

Para este ejercicio suponemos que las entradas pueden convertirse a los tipos de datos esperados. En un programa real también debemos manejar texto no numérico, entradas vacías y otros errores de formato.


 

🔎 Explicación paso a paso del programa

Comprendamos cómo trabajan juntos sus componentes.

🚀 Inicio del programa

La ejecución comienza mostrando el nombre del sistema:

ESCRIBIR "SISTEMA BÁSICO DE CALIFICACIONES"

Después solicita la cantidad de estudiantes.

🔐 Validación de la cantidad

El programa comprueba que la cantidad sea un entero positivo.

Si el usuario introduce cero, un número negativo o un valor numérico con decimales, deberá intentarlo nuevamente.

Esta validación evita que el programa procese una cantidad inválida de registros.

🧮 Inicialización de variables

Antes de procesar estudiantes, establecemos:

aprobados ← 0
reprobados ← 0
sumaPromedios ← 0

Si no inicializamos estas variables, sus valores podrían ser desconocidos o incorrectos, dependiendo del lenguaje.

🔄 Registro de estudiantes

El ciclo PARA permite procesar exactamente la cantidad indicada.

Por ejemplo, si el usuario introduce 3, el ciclo realizará tres iteraciones.

En cada una:

  • Solicita el nombre.

  • Obtiene tres calificaciones válidas.

  • Calcula el promedio.

  • Determina la aprobación.

  • Actualiza los contadores.

  • Acumula el promedio.

  • Muestra los resultados.

📊 Cálculo del promedio general

Cuando termina el ciclo, el programa utiliza:

promedioGeneral ←
    sumaPromedios / cantidadEstudiantes

La división es válida porque previamente comprobamos que la cantidad de estudiantes sea mayor que cero.

📤 Presentación del resumen

Finalmente, el programa muestra los resultados generales.

Esta salida permite conocer el desempeño del grupo sin realizar cálculos manuales adicionales.


 

🧪 Ejemplo de ejecución

Supongamos que registramos tres estudiantes.

📥 Datos introducidos

EstudianteNota 1Nota 2Nota 3
Ana897
Luis564
Marta1098

🧮 Cálculo de promedios

Ana:

(8 + 9 + 7) / 3 = 8

Luis:

(5 + 6 + 4) / 3 = 5

Marta:

(10 + 9 + 8) / 3 = 9

📊 Resultados individuales

EstudiantePromedioEstado
Ana8Aprobado
Luis5Reprobado
Marta9Aprobado

🏫 Resumen general

Cantidad de estudiantes: 3

Aprobados: 2

Reprobados: 1

Promedio general:

(8 + 5 + 9) / 3 = 7.33 aproximadamente

🖥️ Salida esperada

SISTEMA BÁSICO DE CALIFICACIONES

RESUMEN GENERAL

Estudiantes: 3
Aprobados: 2
Reprobados: 1
Promedio general: 7.333333...

La cantidad de decimales mostrados dependerá del lenguaje o del formato de salida utilizado.

Para presentar el promedio general con dos decimales, podría aplicarse una operación de formato al mostrarlo, sin modificar el valor utilizado para los cálculos.


 

🧪 ¿Cómo probar un programa?

Escribir las instrucciones no garantiza que el programa funcione correctamente en todas las situaciones.

Por eso necesitamos realizar pruebas.

Una prueba de software consiste en ejecutar o evaluar un programa con determinados datos para comprobar si produce los resultados esperados.

📋 Plan de pruebas

PruebaDatosResultado esperado
Registro normal8, 9, 7Promedio 8, aprobado
Calificaciones bajas4, 5, 3Promedio 4, reprobado
Límite aprobatorio6, 6, 6Promedio 6, aprobado
Calificación mínima0, 0, 0Promedio 0, reprobado
Calificación máxima10, 10, 10Promedio 10, aprobado
Valor fuera de rango12Solicitar nuevamente
Valor negativo-2Solicitar nuevamente
Cantidad inválida0 estudiantesSolicitar nuevamente
Cantidad decimal2.5 estudiantesSolicitar entero positivo

Importante: estas son pruebas propuestas, no resultados de una ejecución real. Deben verificarse al implementar el programa en una herramienta concreta.

🔍 Pruebas de límites

Las pruebas de límites comprueban valores cercanos a los extremos permitidos.

Por ejemplo:

  • 0 es una calificación válida.

  • 10 es una calificación válida.

  • -1 es inválida.

  • 11 es inválida.

También debemos probar el límite de aprobación:

  • Un promedio de 5.99 reprueba.

  • Un promedio de 6 aprueba.

Estas pruebas ayudan a detectar errores en los operadores de comparación.


 

🐞 Depuración: cómo encontrar y corregir errores

La depuración es el proceso de identificar, analizar y corregir errores en un programa.

No todos los errores son iguales.

🔴 Errores de sintaxis

Ocurren cuando las instrucciones no cumplen las reglas del lenguaje.

Por ejemplo, escribir incorrectamente una palabra reservada o dejar incompleta una estructura.

🟠 Errores de ejecución

Aparecen cuando el programa intenta realizar una operación que no puede completar.

Por ejemplo:

  • Dividir entre cero.

  • Acceder a una posición inexistente de una colección.

  • Convertir un texto inválido a número sin manejar el error.

🟡 Errores lógicos

Son especialmente importantes porque el programa puede ejecutarse sin detenerse, pero producir resultados incorrectos.

💻 Ejemplo de error lógico

Supongamos que escribimos:

promedio ← nota1 + nota2 + nota3 / 3

Esta expresión es incorrecta para calcular el promedio de tres notas porque, según la jerarquía habitual de operadores, primero se divide nota3 entre 3.

La expresión correcta es:

promedio ← (nota1 + nota2 + nota3) / 3

Los paréntesis garantizan que primero se sumen las tres calificaciones.

🛠️ Método básico de depuración

Cuando encuentres un error:

  1. Identifica qué resultado esperabas.

  2. Comprueba qué resultado obtuviste.

  3. Localiza la operación o condición relacionada.

  4. Revisa los valores de las variables.

  5. Corrige la instrucción.

  6. Ejecuta nuevamente la prueba.

  7. Comprueba que la corrección no haya provocado otros errores.

Un programa correcto no es simplemente aquel que se ejecuta, sino aquel que cumple sus requisitos y produce resultados adecuados para los casos previstos.


 

🔐 Validación de datos: una parte esencial

La validación consiste en comprobar que la información recibida cumple determinadas condiciones.

En nuestro proyecto validamos el intervalo de las calificaciones y la cantidad de estudiantes.

Sin embargo, existen otras situaciones que debemos considerar.

🧩 ¿Qué sucede si el usuario introduce letras?

Imagina que el programa solicita una calificación y el usuario escribe:

ocho

Si el lenguaje espera un número, podría producirse un error de conversión.

Por eso, una implementación real debería comprobar primero que el dato sea numérico.

📝 ¿Qué sucede si el nombre está vacío?

Nuestro programa introductorio no incluye esta comprobación.

Podríamos mejorar la solución para solicitar nuevamente el nombre cuando no contenga caracteres válidos.

🔢 ¿Qué sucede si se introducen demasiados decimales?

Una calificación como 8.75 puede ser válida si las reglas del sistema permiten decimales.

Por ello, las restricciones deben definirse antes de programar.

💡 Lección importante

Validar no significa rechazar todos los datos diferentes, sino comprobar que cumplan las reglas establecidas para el problema.


 

📚 Documentación del programa

Documentar significa explicar cómo funciona una solución y cómo debe utilizarse.

Incluso los programas pequeños se benefician de una documentación básica.

📄 Ficha del proyecto

ElementoDescripción
NombreSistema Básico de Calificaciones
ObjetivoRegistrar calificaciones y calcular resultados
UsuariosEstudiantes y docentes
EntradasCantidad, nombres y calificaciones
ProcesosValidación, promedios y clasificación
SalidasResultados individuales y resumen
TécnicaProgramación estructurada y funciones
RepresentaciónPseudocódigo
RestricciónTres calificaciones por estudiante

📝 ¿Qué debe explicar la documentación?

  • Para qué sirve el programa.

  • Qué datos necesita.

  • Qué operaciones realiza.

  • Qué resultados produce.

  • Qué restricciones tiene.

  • Cómo se utiliza.

  • Qué aspectos podrían mejorarse.

La documentación facilita que otras personas comprendan el proyecto y puedan ampliarlo posteriormente.


 

🚀 Mejoras que podemos incorporar

Nuestro programa cumple los requisitos básicos, pero todavía puede evolucionar.

💾 Guardar los resultados

Actualmente, el pseudocódigo procesa los datos durante la ejecución.

Podríamos ampliar el proyecto para almacenar los resultados y consultarlos posteriormente.

📊 Calcular porcentajes

Podemos agregar el porcentaje de estudiantes aprobados:

Porcentaje de aprobación = (Aprobados / Total de estudiantes) × 100

Para nuestro ejemplo:

(2 / 3) × 100 = 66.67 % aproximadamente

🏅 Identificar el promedio más alto

Podemos agregar una variable que registre el promedio máximo encontrado.

📉 Identificar el promedio más bajo

De forma similar, podemos almacenar el menor promedio del grupo.

🔁 Incorporar un menú

Un menú permitiría seleccionar distintas operaciones:

1. Registrar estudiantes
2. Mostrar resumen
3. Salir

📋 Conservar registros individuales

Una estructura de datos permitiría guardar nombres y calificaciones para consultarlos después.

🖥️ Crear una interfaz gráfica

En una etapa posterior, podríamos reemplazar las entradas de texto por formularios, botones y tablas.

Estas mejoras muestran cómo un proyecto sencillo puede convertirse gradualmente en una aplicación más completa.


 

✏️ Ejercicios prácticos para mejorar el proyecto

Ahora te corresponde modificar la solución.

🟢 Ejercicio: cambiar la calificación mínima

Modifica el programa para que la calificación mínima aprobatoria sea 7.

Pregunta: ¿qué función debes modificar?

🔵 Ejercicio: agregar una cuarta calificación

Amplía el programa para registrar cuatro calificaciones por estudiante.

Recuerda actualizar el cálculo del promedio.

🟣 Ejercicio: calcular el porcentaje de aprobación

Crea una función llamada:

calcularPorcentajeAprobados()

Debe recibir la cantidad de aprobados y el total de estudiantes.

🟠 Ejercicio: encontrar el promedio mayor

Agrega las instrucciones necesarias para identificar el promedio más alto del grupo.

🔴 Ejercicio: validar nombres

Modifica el registro para impedir que se acepten nombres vacíos.

🧠 Ejercicio integrador

Desarrolla una versión del programa que incluya un menú con tres opciones:

  • Registrar estudiantes.

  • Mostrar el resumen.

  • Salir.

Piensa qué variables necesitarás conservar mientras el programa continúa ejecutándose.


 

🧾 Soluciones orientativas de los ejercicios

✅ Cambiar la calificación mínima

Modifica la condición dentro de la función:

FUNCIÓN estaAprobado(promedio)
    SI promedio >= 7 ENTONCES
        RETORNAR VERDADERO
    SINO
        RETORNAR FALSO
    FIN SI
FIN FUNCIÓN

✅ Calcular el promedio de cuatro notas

FUNCIÓN calcularPromedio(a, b, c, d)
    RETORNAR (a + b + c + d) / 4
FIN FUNCIÓN

También será necesario solicitar la cuarta calificación y actualizar las llamadas a la función.

✅ Calcular el porcentaje de aprobación

FUNCIÓN calcularPorcentajeAprobados(
    aprobados, total
)
    SI total <= 0 ENTONCES
        RETORNAR 0
    FIN SI

    porcentaje ← (aprobados / total) * 100

    RETORNAR porcentaje
FIN FUNCIÓN

En este ejemplo, la función devuelve cero cuando el total no es positivo para evitar una división inválida. En una aplicación real, también podría señalarse explícitamente que el dato es incorrecto.

✅ Encontrar el promedio mayor

Antes del ciclo:

promedioMayor ← -1

Dentro del ciclo, después de calcular cada promedio:

SI promedio > promedioMayor ENTONCES
    promedioMayor ← promedio
FIN SI

Al finalizar:

ESCRIBIR "Promedio mayor: ", promedioMayor

Inicializar con -1 es válido en este proyecto porque los promedios permitidos están entre 0 y 10.

✅ Validar un nombre no vacío

ESCRIBIR "Nombre:"
LEER nombre

MIENTRAS nombre = "" HACER
    ESCRIBIR "El nombre no puede estar vacío"
    LEER nombre
FIN MIENTRAS

Una versión más completa también eliminaría espacios exteriores antes de comprobar si el nombre está vacío.

✅ Menú básico

Una posible estructura general es:

opcion ← 0

MIENTRAS opcion <> 3 HACER

    ESCRIBIR "1. Registrar estudiantes"
    ESCRIBIR "2. Mostrar resumen"
    ESCRIBIR "3. Salir"

    LEER opcion

    SEGÚN opcion HACER

        CASO 1:
            registrarEstudiantes()

        CASO 2:
            mostrarResumen()

        CASO 3:
            ESCRIBIR "Hasta pronto"

        OTRO CASO:
            ESCRIBIR "Opción inválida"

    FIN SEGÚN

FIN MIENTRAS

Las funciones registrarEstudiantes() y mostrarResumen() representan componentes que todavía deben implementarse.

Para que este menú funcione correctamente, también será necesario decidir cómo conservar y compartir los datos entre las distintas operaciones.


 

🧠 Autoevaluación

Responde las siguientes preguntas para comprobar tus conocimientos.

  1. ¿Cuál es el primer paso para desarrollar un programa?

  2. ¿Qué diferencia existe entre datos de entrada y datos de salida?

  3. ¿Para qué sirve diseñar un algoritmo antes de programar?

  4. ¿Qué función cumplen las variables?

  5. ¿Cuál es la diferencia entre un contador y un acumulador?

  6. ¿Por qué utilizamos un ciclo PARA en nuestro proyecto?

  7. ¿Para qué utilizamos el ciclo MIENTRAS?

  8. ¿Qué función cumple una estructura condicional?

  9. ¿Por qué dividimos el programa en funciones?

  10. ¿Qué significa validar los datos?

  11. ¿Qué es un error lógico?

  12. ¿Por qué es importante probar los valores límite?

  13. ¿Qué sucede si calculamos el promedio sin utilizar correctamente los paréntesis?

  14. ¿Por qué necesitamos comprobar que la cantidad de estudiantes sea mayor que cero?

  15. ¿Qué mejoras podríamos incorporar al proyecto?

✅ Respuestas orientativas

  1. Comprender el problema y definir los requisitos.

  2. Las entradas proporcionan información; las salidas presentan resultados.

  3. Permite planear una solución lógica y ordenada.

  4. Almacenan información utilizada durante la ejecución.

  5. El contador registra ocurrencias; el acumulador suma valores progresivamente.

  6. Porque conocemos la cantidad de estudiantes que debemos procesar.

  7. Para repetir una operación mientras se cumpla una condición.

  8. Permite seleccionar instrucciones según una condición.

  9. Para organizar y reutilizar operaciones.

  10. Comprobar que la información cumple las reglas establecidas.

  11. Es un error que produce resultados incorrectos aunque el programa pueda ejecutarse.

  12. Porque permiten detectar errores en los extremos de los intervalos válidos.

  13. Podemos alterar el orden de las operaciones y obtener un resultado incorrecto.

  14. Para evitar registros inválidos y una posible división entre cero.

  15. Guardar registros, agregar menús, calcular porcentajes, mejorar las validaciones y crear una interfaz.


 

🏆 Lo que has aprendido

Al finalizar este proyecto, ya puedes:

  • Analizar un problema antes de escribir instrucciones.

  • Definir requisitos para un programa sencillo.

  • Identificar entradas, procesos y salidas.

  • Diseñar un algoritmo que describa una solución.

  • Utilizar variables para almacenar información.

  • Aplicar operadores para realizar cálculos.

  • Emplear condicionales para tomar decisiones.

  • Utilizar ciclos para repetir operaciones.

  • Crear funciones que organicen y reutilicen instrucciones.

  • Trabajar con contadores y acumuladores.

  • Validar datos según reglas establecidas.

  • Diseñar pruebas para verificar los resultados.

  • Reconocer y corregir errores básicos.

  • Documentar un proyecto para facilitar su comprensión.

  • Proponer mejoras para ampliar sus funcionalidades.

Lo más importante es que has integrado los fundamentos de programación en una solución con un objetivo concreto.


 

🚩 Conclusión

Aprender cómo hacer un programa implica mucho más que escribir instrucciones: requiere comprender un problema, diseñar una solución, organizar sus componentes y comprobar que los resultados sean correctos.

A través de nuestro Sistema Básico de Calificaciones, hemos aplicado variables, operadores, condicionales, ciclos, funciones, validaciones y pruebas para construir un proyecto completo en pseudocódigo.

También hemos descubierto que los programas pueden desarrollarse progresivamente. Una primera versión puede resolver una necesidad sencilla y, posteriormente, incorporar nuevas funciones, mejores validaciones y formas más avanzadas de almacenar o presentar información.

Recuerda: un buen programador no comienza preguntándose qué instrucciones debe escribir, sino qué problema necesita resolver y cómo puede solucionarlo de manera lógica y organizada.

Con esta lección concluyes la aplicación práctica de los fundamentos estudiados en el Módulo 8 y te preparas para continuar hacia nuevos temas de informática y tecnología.


 

⬅️ Lección anterior  📑 Índice del programa  ➡️ Siguiente lección

Scroll to Top