Concepto de Algoritmo

Modulo 1 - Algoritmos y Programas - Concepto de algoritmo


El objetivo de esto es enseñarte a resolver problemas a través de computadoras. Un programador de computadora es antes que nada una persona que resuelve problemas, por lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático. En todos los manuales nos vamos a referís a la metodología necesaria para resolver problemas mediante programas, concepto que se denomina metodología de programación. El eje central de esa metodología es el concepto(ya tratado) de algoritmo.

La resolución de un problema exige el diseño de un algoritmo que resuelva el problema propuesto.

PROBLEMA -> DISEÑO DEL ALGORITMO -> PROGRAMA DE COMPUTADORA

Los pasos para la resolución de un problema son:
  1. Diseño del algoritmo que describe la secuencia ordenada de pasos que conducen a la solución de un problema dado.(Análisis del problema y desarrollo del algoritmo.).
  2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado.(Fase de codificación.).
  3. Ejecución y validación del programa de computadora.
Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo, de modo que sin algoritmo no puede existir un programa.

Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la computadora que los ejecuta. 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. Así por ejemplo, una analogía con la vida diaria seria, una receta de un plato de cocina, Este se puede expresar en ingles, italiano, francés, español, pero cualquiera sea el lenguaje, los pasos para la elaboración del mismo van a ser iguales sin importar el cocinero.

En la ciencia de la computación y en la programación los algoritmos son más importantes que los lenguajes de programación o las computadoras. Un lenguaje de programación es tan solo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo. Tanto el lenguaje de programación como la computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute y efectúe el proceso correspondiente.

Dada la importancia del algoritmo en la ciencia de la computación, un aspecto muy importante sera el diseño de algoritmos. A la enseñanza y practica de esta tarea se dedica gran parte de este manual.

El diseño de la mayoría de los algoritmos requiere creatividad y conocimiento de la técnica de la programación. en esencia, todo problema se puede describir por medio de un algoritmo.

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 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; osea 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 usados
PROCESO : Elaboración de la receta en la cocina
SALIDA : Terminación del plato(ejemplo, Asado)

EJEMPLO 1.1
Un cliente ejecuta un pedido a una fabrica. La fabrica examina en su banco de datos la ficha del cliente, si el cliente es solvente entonces la empresa acepta el pedido, en el caso contrario rechaza el mismo.

Solución:

Pasos:
  1. Inicio
  2. Leer el pedido
  3. Examinar ficha del cliente
  4. Si el cliente es solvente aceptar pedido, en caso contrario rechazar el pedido
  5. Fin
EJEMPLO 1.2
Se desea diseñar un algoritmo para saber si un número es primo o no.

Solucion:

Un numero es primo solo si puede dividirse por si mismo y por la unidad(1). Es decir, no tiene más divisores que el mismo y la unidad(dividido 1).

entonces hariamos algo como
  1. Inicio
  2. Poner X igual a 2 (X = 2, variable que representa a los divisores del numero que se busca N).
  3. Dividir N por X(N/X).
  4. Si el resultado de N/X es entero, entonces N no es un numero primo y dirigirse 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 numero primo; en caso contrario, dirigirse al punto 3
  7. Fin
Bien, eso fue todo por hoy, espero que les haya servido de algo, nos vemos Chau.

Descargatelo como PDF GRATIS : http://www.mediafire.com/?94a0a93xfl3rg8y