Algoritmo Análisis del problema


Algoritmos y Análisis del Problema

Fundamentos de pensamiento computacional

Algoritmos y análisis del problema

Aprende a transformar una necesidad en una solución clara, ordenada y lista para programar.

Una persona crea un diagrama de flujo en un pizarrón
Todo programa inicia con una buena idea

Antes de programar

Pensar primero es programar mejor

Un algoritmo no empieza en la computadora: comienza cuando identificas con precisión qué debe resolverse. Esta lección te ayudará a estructurar ese pensamiento.

Comprende

Distingue datos, condiciones y resultados esperados.

Diseña

Organiza una secuencia lógica de acciones.

Comunica

Expresa soluciones mediante pseudocódigo y diagramas.

Concepto esencial

¿Qué es un algoritmo?

Es un conjunto finito y ordenado de instrucciones que permite resolver un problema o realizar una tarea. Puede describirse con palabras, pseudocódigo o diagramas de flujo.

Ordenado

Sus pasos siguen una secuencia lógica.

Preciso

Cada instrucción debe ser clara y sin ambigüedades.

Finito

Debe terminar después de una cantidad limitada de pasos.

Repetible

Con los mismos datos debe producir el mismo resultado.

Metodología

Analiza el problema paso a paso

Evita escribir código de inmediato. Descompón el problema para descubrir una solución verificable y sencilla de explicar.

Estudiante tomando notas mientras resuelve fórmulas en papel
  1. 1

    Lee y comprende

    Identifica qué situación se desea resolver y elimina dudas del enunciado.

  2. 2

    Define entradas

    Determina los datos que el algoritmo necesita para comenzar.

  3. 3

    Define salidas

    Especifica el resultado, mensaje o acción que debe obtenerse.

  4. 4

    Diseña el proceso

    Ordena operaciones, decisiones y repeticiones necesarias.

  5. 5

    Prueba y mejora

    Usa casos de prueba para confirmar que la solución funciona.

Ejemplo resuelto

Calcular el promedio de tres calificaciones

Problema: crear un algoritmo que reciba tres calificaciones y muestre el promedio final del estudiante.

Entradas

cal1, cal2 y cal3: tres valores numéricos.

Proceso

promedio = (cal1 + cal2 + cal3) / 3

Salida

El promedio calculado de las tres calificaciones.

Pseudocódigo

INICIO
  LEER cal1, cal2, cal3
  promedio ← (cal1 + cal2 + cal3) / 3
  ESCRIBIR promedio
FIN

Diagrama de flujo

Inicio
Leer cal1, cal2, cal3
Calcular promedio
Mostrar promedio
Fin

Modelo fundamental

La estructura Entrada → Proceso → Salida

Entrada

Datos que recibe el algoritmo.

Proceso

Operaciones para transformar datos.

Salida

Resultado que comunica la solución.

Grupo de estudiantes concentrados frente a computadoras en un aula moderna

Aplicación profesional

¿Por qué es importante dominar este tema?

El análisis y los algoritmos son la base para desarrollar software confiable. También fortalecen la capacidad de resolver situaciones complejas dentro y fuera de la ingeniería.

  • Reduce errores antes de iniciar la programación.
  • Permite comunicar soluciones con claridad al equipo.
  • Facilita construir programas eficientes y mantenibles.

Aprende haciendo

Ejercicios prácticos

Intenta resolverlos antes de abrir la respuesta. Lo importante es explicar tu razonamiento.

Entradas: base y altura. Proceso: área = base × altura. Salida: el valor del área del rectángulo. Recuerda indicar las unidades si el contexto las proporciona.

Leer edad; comparar si edad es mayor o igual a 18; si se cumple, mostrar “Mayor de edad”; de lo contrario, mostrar “Menor de edad”. Aquí aparece una decisión condicional.

Porque debe concluir y entregar un resultado. Si las instrucciones nunca terminan, el problema no queda resuelto y el programa puede quedar ejecutándose indefinidamente.

Autoevaluación

Comprueba tus conocimientos

Selecciona una respuesta para cada pregunta y revisa tu resultado.

1. ¿Cuál es una característica indispensable de un algoritmo?
2. En el modelo Entrada–Proceso–Salida, ¿qué representa el proceso?
3. ¿Qué conviene identificar primero al analizar un problema?

Curso Propedéutico · Ingeniería en Sistemas Computacionales · Instituto Tecnológico de Tehuacán