Skip to content
SISP Home
← Back to unit
CCPG1043 Unit 1

1.2 Programación aplicada a distintas carreras

Programar no consiste únicamente en construir aplicaciones informáticas. También permite organizar información, automatizar tareas y producir evidencia para tomar decisiones en diferentes profesiones.

En esta lección no implementaremos todavía los cálculos completos. Primero aprenderemos a formular correctamente el problema.

Del contexto al problema programable

Una situación amplia no siempre está lista para convertirse en programa.

Situación amplia:

Mejorar la movilidad de una ciudad.

Problema más concreto:

A partir de registros de llegada, determinar cuántos buses ingresaron a una parada durante una hora.

La segunda formulación permite identificar datos, pasos y un resultado verificable.

Cuatro preguntas útiles

  1. ¿Quién necesita la solución?
  2. ¿Qué información está disponible?
  3. ¿Qué transformación o decisión se requiere?
  4. ¿Cómo reconoceremos que el resultado es correcto?

Modelo entrada–proceso–salida

Caso 1: nutrición

Necesidad: informar el total de calorías de una comida.

ElementoDescripción
EntradaAlimentos, porciones y calorías por porción
ProcesoCalcular el aporte de cada alimento y sumar
SalidaTotal de calorías

En esta unidad podemos representar el resultado esperado:

print("Reporte nutricional")
print("Resultado esperado: total de calorías de la comida")

Las operaciones y los datos se implementarán cuando estudiemos variables y tipos.

Caso 2: ingeniería eléctrica

Necesidad: reportar si una medición de voltaje se encuentra dentro del rango esperado.

ElementoDescripción
EntradaMedición y límites permitidos
ProcesoComparar la medición con el rango
SalidaMensaje de estado

Todavía no utilizaremos condicionales. Por ahora identificamos qué comparación necesitaría una futura solución.

Caso 3: telecomunicaciones

Necesidad: resumir el número de interrupciones registradas en una jornada.

ElementoDescripción
EntradaRegistros de interrupciones
ProcesoContar registros válidos
SalidaCantidad de interrupciones

Caso 4: logística

Necesidad: mostrar el orden de preparación de un pedido.

ElementoDescripción
EntradaArtículos y prioridad del pedido
ProcesoOrganizar la secuencia de preparación
SalidaLista ordenada de pasos

En esta unidad sí podemos representar una secuencia fija:

print("1. Verificar el pedido")
print("2. Preparar los artículos")
print("3. Confirmar el empaque")

Caso 5: diseño

Necesidad: documentar las etapas para exportar una pieza gráfica.

ElementoDescripción
EntradaDiseño terminado y formato requerido
ProcesoRevisar dimensiones, color y formato
SalidaArchivo exportado y confirmación

Caso 6: ambiente

Necesidad: producir un reporte sobre observaciones de calidad del agua.

ElementoDescripción
EntradaMediciones tomadas en diferentes puntos
ProcesoOrganizar y resumir las mediciones
SalidaReporte de resultados

Qué hace programable a un problema

Un problema inicial es buen candidato para programación cuando:

  • sus entradas pueden describirse;
  • el resultado esperado es observable;
  • los pasos pueden ordenarse;
  • existe una forma de comprobar el resultado;
  • la tarea se repite o maneja suficiente información como para justificar automatizarla.

No todos los problemas profesionales pueden resolverse solo con código. Algunas decisiones necesitan criterio humano, contexto ético, conocimiento especializado o información que un programa no posee.

Del problema al algoritmo

Problema:

Presentar el estado de una muestra antes de enviarla al laboratorio.

Una descomposición inicial podría ser:

  1. identificar la muestra;
  2. verificar que tenga una etiqueta;
  3. registrar el lugar de recolección;
  4. mostrar un resumen para revisión.

En esta unidad podemos crear un prototipo de salida:

print("Registro de muestra")
print("Identificación: pendiente")
print("Lugar de recolección: pendiente")
print("Estado: listo para revisión")

El prototipo permite conversar sobre el resultado antes de implementar almacenamiento, validaciones o cálculos.

Actividad guiada

Elige un problema relacionado con tu carrera y completa:

PreguntaRespuesta
Persona usuaria
Necesidad concreta
Entradas
Proceso
Salida
Forma de comprobar el resultado

Después escribe entre tres y cinco instrucciones print() que representen cómo se vería la salida final.

Errores frecuentes al formular problemas

  • Problema demasiado amplio: “mejorar una empresa”.
  • Salida indefinida: “analizar datos” sin indicar qué resultado se espera.
  • Confundir herramienta con objetivo: “usar Python” no describe una necesidad.
  • Inventar datos inexistentes: un programa no puede utilizar información que nadie recoge.
  • Automatizar una decisión humana sin criterios explícitos: el código necesita reglas observables.

Comprueba lo aprendido

  1. Convierte “mejorar la nutrición” en un problema más concreto.
  2. Identifica entrada, proceso y salida para un sistema de registro de asistencia.
  3. ¿Qué información faltaría para automatizar una decisión profesional de tu carrera?
  4. ¿Por qué un prototipo de salida puede ser útil antes de implementar cálculos?

Resumen

  • La programación puede apoyar muchas disciplinas.
  • Una necesidad amplia debe transformarse en un problema concreto.
  • El modelo entrada–proceso–salida ayuda a delimitar la solución.
  • Un resultado verificable permite evaluar si la solución funciona.
  • No toda decisión debe automatizarse.