En informática, un algoritmo son una serie de pasos/instrucciones que forman un proceso. Los algoritmos presentan las siguientes características:
-
Secuenciales: Los algoritmos operan en secuencia, debe procesarse uno a la vez.
Precisos. Los algoritmos han de ser precisos en su abordaje del tema, es decir, no pueden ser ambiguos o subjetivos. -
Ordenados: Los algoritmos se deben establecer en la secuencia precisa y exacta para que su lectura tenga sentido y se resuelva el problema.
-
Finitos: El algoritmo debe tener un principio y un fin, no puede ser infinito.
-
Concretos: Todo algoritmo debe ofrecer un resultado en base a las funciones que cumple.
-
Definidos: Un mismo algoritmo con los mismos elementos de entrada (input) debe dar siempre los mismos resultados.
¿Para qué se utiliza un algoritmo?
Un algoritmo se utiliza para resolver paso a paso un problema, pero en la informática son los procesos que serán codificados (o sea, escribirlo en código) para que la computadora ejecute esos procesos.
Partes de un algoritmo
-
Input o entrada: El ingreso de los datos que el algoritmo necesita para funcionar.
-
Proceso: Se trata de la operación lógica (la lógica que sigue el algoritmo) para resolver los datos ingresados (input).
-
Output o salida: Los resultados obtenidos del proceso.
Cómo graficar un algoritmo
La forma de graficar algoritmos se conoce como diagramas de flujo, los cuales son diagramas (esquemas geométricos, similares a los mapas conceptuales, pero en dónde se utilizan figuras geométricas que tienen un significado). Los diagramas describen un proceso, sistemas o algoritmo, y es una excelente forma de comprender como funciona un algoritmo. A continuación te dejo un ejemplo que determina según la calificación del alumno si está aprobado o no:
Simbología de los diagramas de flujo:

Ejemplo de algoritmo
Algoritmo para Cargar un celular:
1. Agarrar el cargador
2 Conectarlo a la corriente
3. Conectar el cargador con el celular
4. Esperar que cargue
5. Desconectar
6. Listo
¡Espero que te haya servido este tutorial!
Fundamentos de Ingeniería de Software