Características de los algoritmos

Las características fundamentales que debe cumplir todo algoritmo son:
• Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
• Un algoritmo debe estar bien definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
• Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea, debe tener un número finito de pasos.

La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida. En el algoritmo de receta de cocina citado anteriormente se tendrá:

  • Entrada: Ingredientes y utensilios empleados.
  • Proceso: Elaboración de la receta en la cocina.
  • Salida: Terminación del plato (por ejemplo, cordero).

EJEMPLO 2.4
Un cliente ejecuta un pedido a una fábrica. La fábrica examina en su banco de datos la ficha del cliente, si el cliente
es solvente entonces la empresa acepta el pedido; en caso contrario, rechazará el pedido. Redactar el algoritmo
correspondiente.
Los pasos del algoritmo son:
1. Inicio.
2. Leer el pedido.
3. Examinar la ficha del cliente.
4. Si el cliente es solvente, aceptar pedido;
 en caso contrario, rechazar pedido.
5. Fin.

EJEMPLO 2.5
Se desea diseñar un algoritmo para saber si un número es primo o no.
Un número es primo si sólo puede dividirse por sí mismo y por la unidad (es decir, no tiene más divisores que
él mismo y la unidad). Por ejemplo, 9, 8, 6, 4, 12, 16, 20, etc., no son primos, ya que son divisibles por números
distintos a ellos mismos y a la unidad. Así, 9 es divisible por 3, 8 lo es por 2, etc. El algoritmo de resolución del
problema pasa por dividir sucesivamente el número por 2, 3, 4..., etc.
1. Inicio.
2. Poner X igual a 2 (X ← 2, X variable que representa a los divisores
 del número que se busca N).
66 Fundamentos de programación
3. Dividir N por X (N/X).
4. Si el resultado de N/X es entero, entonces N no es un número primo y
bifurcar al punto 7; en caso contrario, continuar el proceso.
5. Suma 1 a X (X ← X + 1).
6. Si X es igual a N, entonces N es un número primo; en caso contrario,
bifurcar al punto 3.
7. Fin.
Por ejemplo, si N es 131, los pasos anteriores serían:
1. Inicio.
2. X = 2.
3. 131/X. Como el resultado no es entero, se continúa el proceso.
5. X ← 2 + 1, luego X = 3.
6. Como X no es 131, se continúa el proceso.
3. 131/X resultado no es entero.
5. X ← 3 + 1, X = 4.
6. Como X no es 131 se continúa el proceso.
3. 131/X..., etc.
7. Fin.

EJEMPLO 2.6
Realizar la suma de todos los números pares entre 2 y 1.000.
El problema consiste en sumar 2 + 4 + 6 + 8 ... + 1.000. Utilizaremos las palabras SUMA y NÚMERO (variables,
serán denominadas más tarde) para representar las sumas sucesivas (2+4), (2+4+6), (2+4+6+8), etc. La solución se
puede escribir con el siguiente algoritmo:
1. Inicio.
2. Establecer SUMA a 0.
3. Establecer NÚMERO a 2.
4. Sumar NÚMERO a SUMA. El resultado será el nuevo valor de la suma (SUMA).
5. Incrementar NÚMERO en 2 unidades.
6. Si NÚMERO =< 1.000 bifurcar al paso 4; en caso contrario, escribir el
 último valor de SUMA y terminar el proceso.
7. Fin.

Fuente:

Aguilar, L. J. (2008). Fundamentos de programacion. Madrid: MCGRAW HILL.

Comentarios