Sunteți pe pagina 1din 4

PROGRAMACION

I UNIDAD

Lic. Mario René Perdomo IC – 200 y MM – 314

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.

Cualquier programa de computación puede resolverse ejecutando una serie de acciones en un


orden específico. Un procedimiento para resolver un problema en términos de

 Las acciones a ejecutar y


 El orden en el que se ejecutan estas acciones

Se conoce como un algoritmo.

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.

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


Los pasos para la resolución de un problema son:

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.

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;
o sea, debe tener un numero finito de pasos.

La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.

La resolución de problemas con computadora


Las fases de resolución de un problema con computadoras son:

 Análisis: el problema se analiza teniendo presente la especificación de los requisitos dados


por el cliente o por la persona que encarga el programa.
 Diseño: una vez analizado el problema, se diseña una solución que conducirá a un algoritmo
que resuelva el problema.
 Codificación (Implementación): la solución se escribe en la sintaxis del lenguaje de alto nivel
y se obtiene un programa.
 Ejecución, Prueba y Depuración: el programa se ejecuta, se comprueba rigurosamente y se
eliminan todos los errores (denominados “bugs” en ingles) que puedan aparecer.
 Mantenimiento: el programa se actualiza y se modifica, cada vez que sea necesario, de
modo que se cumplan todas las necesidades de cambio de sus usuarios.
 Documentación: escritura de las diferentes fases del ciclo de vida del software,
esencialmente el análisis, diseño y codificación, unidos a manuales de usuario y referencia
así como normas para el mantenimiento.

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,

 Comprender las instrucciones de cada paso,


 Realizar las operaciones correspondientes.

Cuando el procesador es una computadora, el algoritmo se ha de expresar en un formato que se


denomina programa.

Los principales tipos de lenguajes de programación utilizados en la actualidad son tres:

 Lenguaje maquina (prácticamente no utilizado),


 Lenguaje de bajo nivel (ensamblador),
 Lenguajes de alto nivel.

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.

Lenguajes de bajo nivel

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.

Lenguajes de alto nivel

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.

S-ar putea să vă placă și