Un algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una tarea especifica, como la solución de un problema. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo el algoritmo será siempre el mismo.
Todo algoritmo debe constar de las siguientes partes:
Entrada: El ingreso de los datos que el algoritmo necesita para operar.
Proceso: Se trata de la operación lógica formal que el algoritmo emprenderá con lo recibido del input.
Salida: Son los resultados obtenidos a través del proceso.
Por ejemplo, los pasos a seguir en la solución de una ecuación de segundo grado.
Pero, entre los algoritmos encontramos los siguientes tipos:
Algoritmos secuenciales
Implican escribir un paso atrás de otro, donde el primero que se haya escrito es el primero que se ejecutará. Ejemplo:
Definición del problema: Obtener el perímetro de un rectángulo.
- Teclea la base “b”.
- Teclea la altura “h”.
- Realiza las operaciones para sacar el perímetro P = b + b + h + h
- Imprime el perímetro del rectángulo.
- Fin.
Algoritmos condicionales
Se utilizan para tomar decisiones. Ejemplo:
Definición del problema: Tu maestra de química te va a dar un punto si trajiste al menos 5 tareas este parcial. Imprimir un mensaje que diga, sí se pudo en caso de que si hayas cumplido con esa cantidad o no se pudo en caso contrario.
- Inicio.
- Conocer el número de tareas que poseas (N)
- Sí N = > 5 entonces
3.1) Imprimir “sí se pudo”
3.2) Ve al paso 5
4) si no
4.1) N < 5
4.2) Imprimir “no se pudo”
5) fin si
6) Fin
Algoritmos repetitivos
Este tipo de estructura se utiliza para ejecutar acciones repetidamente. Hay dos términos muy importantes dentro de los algoritmos:
- Contador: Una variable contador en algoritmos hace precisamente esto mismo, lleva la contabilidad de repeticiones, eventos, accesos, etc.
- Acumulador: Una variable acumulador hace precisamente esto, va acumulando distintas cantidades y guarda el total. Ejemplo:
Definición del problema: Se necesita obtener el promedio de 10 calificaciones.
- Asigna un valor a las variables CONT=1, PRO=0
- Acepta el valor (“C”)
- Acepta las calificaciones a sumar (CALIF)
- Mientras CONT = < C
4.1. (SI) PRO + CALIF = PRO
4.2. CONT + 1 = CONT
4.3. Regresa al paso 3
5. (NO) Divide “PRO” entre 10
6. Imprime promedio
7. Fin
Conceptos básicos
Un algoritmo, además de tener como característica la facilidad para transcribirlo, debe reunir la características siguientes:
- Preciso: Debe indicar el orden en el cual debe realizarse cada uno de los pasos que conducen a la solución del problema.
- Definido: Esto implica que el resultado nunca debe cambiar bajo las mismas condiciones del problema, éste siempre debe ser el mismo.
- Finito: No se debe caer repeticiones de procesos de manera innecesaria; deberá terminar en algún momento.
Pasos para la solución de problemas
Los pasos que se utiliza para resolver problemas computacionales consta de 5 pasos o etapas, que garantizan un resultado correcto a cualquier problema.
- Identificación del problema.
- Planteamiento de las alternativas de solución.
- Elección de una alternativa.
- Desarrollo de la solución.
- Evaluación de la solución.
Diagramas de flujo
Los diagramas de flujo usan formas especiales para representar diferentes tipos de acciones o pasos en un proceso. Las líneas y flechas muestran la secuencia de los pasos y las relaciones entre ellos. Estos son conocidos como símbolos de diagrama de flujo.
Símbolo de Inicio / Final
El símbolo de terminación marca el punto inicial o final del sistema. Por lo general, contiene la palabra «Inicio» o «Fin».
Símbolo de Acción o Proceso
Un rectángulo solo puede representar un solo paso dentro de un proceso («agregar dos tazas de harina»), o un subproceso completo («hacer pan») dentro de un proceso más grande.
Símbolo del Documento Impreso
Un documento o informe impreso.
Símbolo de Decisión o Ramificación
Un punto de decisión o ramificación. Las líneas que representan diferentes decisiones surgen de diferentes puntos del diamante.
Símbolo de Entrada / Salida
Representa el material o la información que entra o sale del sistema, como una orden del cliente (entrada) o un producto (salida).
Símbolo del Conector
Indica que el flujo continúa donde se ha colocado un símbolo idéntico (que contiene la misma letra).
Conector Fuera de Página
Indica que el proceso continúa fuera de la página.
El tipo de diagrama dicta los símbolos de diagramas de flujo que se utilizan. Por ejemplo, un diagrama de flujo de datos puede contener un Símbolo de Entrada o Salida.
Ejemplo de diagrama de flujo: