Académique Documents
Professionnel Documents
Culture Documents
I UNIDAD
Algoritmos
Un algoritmo es un método para resolver un problema. La popularización del término ha llegado con
el advenimiento de la era informática, algoritmo proviene de Mohammed al-Khowarizmi, matemático
persa que vivió durante el siglo IX y alcanzo gran reputación por el enunciado de las reglas paso a
paso para sumar, restar multiplicar y dividir números decimales.
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural,
pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en
lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita
muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para
representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación
específico.
1. Diseño del algoritmo, que describe la secuencia ordenada de pasos –sin ambigüedades- 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 por la computadora.
Herramientas de Programación
Las dos herramientas más utilizadas comúnmente para diseñar algoritmos son: diagramas de flujos
y pseudocódigos.
Pseudocódigo
El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es un lenguaje informal que ayuda
a los programadores a desarrollar algoritmos sin tener que preocuparse por los estrictos detalles de
la sintaxis del lenguaje C++. El pseudocódigo es similar al lenguaje cotidiano; es conveniente y
amigable con el usuario, aunque no es realmente un lenguaje de programación de de computadoras.
El pseudocódigo no se ejecuta en las computadoras. En lugar de ello, ayuda a “organizar” un
programa antes de intentar escribirlo en un lenguaje de programación como C++. Un programa en
pseudocódigo preparado de manera cuidadosa puede convertirse fácilmente en su correspondiente
programa en C++.
Diagramas de flujo
Un diagrama de flujo (flowchart) es una de las técnicas de representación de algoritmos mas antigua
y a la vez mas utilizada. Un diagrama de flujos es un diagrama que utiliza símbolos (cajas)
estándares y que tiene los pasos de algoritmos escritos en esas cajas unidas por flechas,
denominadas líneas de flujo, que indican la secuencia en que se debe ejecutar.
Lenguajes de Programación
Para que un procesador realice un proceso se le debe suministrar en primer lugar un algoritmo
adecuado. El procesador debe ser capaz de interpretar el algoritmo, lo que significa,
Lenguajes maquina
Los lenguajes maquina son aquellos que están escritos en lenguajes directamente inteligibles por la
maquina (computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de
caracteres –dígitos- 0 y 1) que especifican una operación, y las posiciones (dirección) de memoria
implicadas en la operación se denominan instrucciones de maquina o código maquina. El código
maquina es el conocido código binario. Los lenguajes maquina son dependientes de la maquina.
Los lenguajes de bajo nivel son un poco mas fáciles de utilizar que los lenguajes maquina, pero, al
igual que ellos, dependen de la maquina en particular. El lenguaje de bajo nivel por excelencia es el
ensamblador. Las instrucciones en lenguaje ensamblador son conocidas como nemotécnicos. Por
ejemplo, nemotécnicos típicos de operaciones aritméticas son: en ingles, ADD, SUB, DIV, etc.; en
español, SUM, RES, DIV, etc.
Los lenguajes de alto nivel son los más utilizados por los programadores. Un programa escrito en
lenguaje de alto nivel es independiente de la maquina.