Un algoritmo es
el conjunto de operaciones y
procedimientos
que deben seguirse para resolver un problema. La palabra
"algoritmo"
deriva del nombre latinizado del gran matemático
árabe Mohamed Ibn Moussa Al Kow Rizmi, el cual
escribió sobre entre los años 800 y 825 su obra
Quitab Al Jabr Al Mugabala, donde se recogía el sistema
de
numeración hindú y el concepto del
cero. Fue Fibonacci, el que tradujo su obra al latín y la
inició con las palabras: Algoritmi
dicit.
Diferencia entre el lenguaje
algorítmico y el informático.
El lenguaje
algorítmico es aquel por medio del cual se realiza un
análisis previo del problema a resolver y
encontrar un método que
permita resolverlo. El conjunto de todas las operaciones a
realizar, y el orden en el que deben efectuarse, se le denomina
algoritmo.
El lenguaje
informático es aquel por medio del cual dicho algoritmo se
codifica a un sistema
comprensible por el ordenador o computadora.
Este tipo de lenguaje es
más cercano a la máquina que al ser humano y
podemos distinguir distintos tipos dependiendo de la proximidad a
la maquina. Se denomina lenguaje de
alto nivel aquel que es más cercano a la
comprensión humana y lenguaje de
bajo nivel a aquellos que son más comprensibles por la
máquina. En concreto,
nosotros vamos a estudiar un lenguaje en la frontera de uno de
bajo nivel. Es por ello que el 'C' es tan potente y
rápido, pues las funciones
principales representan las funciones
más básicas del ordenador.
Planteamientos de Problemas.
Lo que pretende un algoritmo es
sintetizar de alguna forma una tarea, cálculo o
mecanismo antes de ser transcrito al ordenador. Los pasos que hay
que seguir son los siguientes:
– Análisis previo del
problema.
– Primera visión del método de
resolución.
– Descomposición en
módulos.
– (Programación
estructurada).
– Búsqueda de soluciones
parciales.
– Ensamblaje de soluciones
finales.
Ejemplo: Calcular las posibles raíces para
una ecuación de segundo grado:
ax2+bx+c=0
+-Algoritmo raíces
|
| Variables
reales a,b,c,x,y
|
| Escribir "Introduzca los coeficientes de mayor a
menor grado."
| Leer a,b,c
|
| +-Si sqr(b)>= 4*a*c
entonces
| | x=(-b+sqrt(b^2-4*a*c))/2a
| +-Sino
| | Escribir "No existen raíces
reales."
| +-Finsi
|
+-Final
Organigramas.
Un organigrama o
diagrama de
flujos es una representación semigráfica del
algoritmo en cuestión. Esto nos facilita la visión
descriptiva de la ejecución del programa,
así como la generación de la traza del algoritmo.
Se denomina traza de un algoritmo a la ejecución manual de un
programa
obteniendo para cada paso un resultado.
Símbolos generales:
* Inicio y fin de un programa.
* Operaciones de
I/O , aritméticas y
lógico-aritméticas.
* Decisiones lógicas.
* Flujo de la ejecución.
Traza de un Algoritmo.
La traza de un Algoritmo se puede definir como la
ejecución manual de forma
secuencial de las sentencias que lo componen. Así, la
traza del siguiente algoritmo es el valor que van
adoptando las variables a
medida que se va ejecutando un programa.
+-Algoritmo Suma
|
| Variable entera a,b
|
| Escribir "Indique el primer
sumando"
| Leer a
| Escribir "Indique el segundo
sumando"
| Leer b
| c=a+b
| Escribir "El resultado es: ";c
|
+-Final
+—————————-+
| T R A Z A |
+————+—————+
| Comentario | Valores
|
+————+—————+
| Leemos a: | a <- 4 |
| Leemos b: | b <- 5 |
| Calcula c: | c <- a+b <- 9
|
| Escribe c: | c <- 9 |
+————+—————+
La función principal que posee realizar la
traza de un algoritmo es la de comprobar que éste funciona
correctamente o para realizar la etapa de depuración en la
que se intenta corregir errores, simplificar el algoritmo al
máximo e incrementar su eficacia y
velocidad.
Autor:
Justo Mendez