Download Ejemplo de ALGORITMO

Document related concepts
no text concepts found
Transcript
es un conjunto preescrito de instrucciones o reglas
bien definidas, ordenadas y finitas que permite
realizar una actividad mediante pasos sucesivos que
no generen dudas a quien deba realizar dicha
actividad. Dados un estado inicial y una entrada,
siguiendo los pasos sucesivos se llega a un estado
final y se obtiene una solución.
Manuales de Usuario
Instrucciones que recibe un trabajador
Algoritmo de la División
La descripción de un algoritmo
usualmente se hace en tres niveles:
1. Descripción de alto nivel. Se establece el problema, se
selecciona un modelo matemático y se explica el
algoritmo de manera verbal, posiblemente con
ilustraciones y omitiendo detalles.
2. Descripción formal. Se usa pseudocódigo para
describir la secuencia de pasos que encuentran la
solución.
3. Implementación. Se muestra el algoritmo expresado
en un lenguaje de programación específico o algún objeto
capaz de llevar a cabo instrucciones.
El problema consiste en encontrar el
máximo de un conjunto de números :
Descripción de alto nivel - Dado un conjunto finito C de
números, se tiene el problema de encontrar el número más
grande. Sin pérdida de generalidad se puede asumir que dicho
conjunto no es vacío y que sus elementos están numerados
como .
Es decir, dado un conjunto
encontrar m tal que
pertenece al conjunto C.
se pide
para todo elemento x que
Para encontrar el elemento máximo, se asume que el primer
elemento (c0) es el máximo; luego, se recorre el conjunto y se
compara cada valor con el valor del máximo número encontrado
hasta ese momento. En el caso que un elemento sea mayor que
el máximo, se asigna su valor al máximo. Cuando se termina de
recorrer la lista, el máximo número que se ha encontrado es el
máximo de todo el conjunto.

El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción de
alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas
convenciones sintácticas propias de lenguajes de programación, como asignaciones,
ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para
describir algoritmos en libros y publicaciones científicas, y como producto intermedio
durante el desarrollo de un algoritmo, como los |diagramas de flujo, aunque presentan
una ventaja importante sobre estos, y es que los algoritmos descritos en
pseudocódigo requieren menos espacio para representar instrucciones complejas.

El pseudocódigo está pensado para facilitar a las personas el entendimiento de un
algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una
implementación. Programadores diferentes suelen utilizar convenciones distintas, que
pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin
embargo, el pseudocódigo, en general, es comprensible sin necesidad de conocer o
utilizar un entorno de programación específico, y es a la vez suficientemente
estructurado para que su implementación se pueda hacer directamente a partir de él.

Así el pseudodocódigo cumple con las funciones antes mencionadas para representar
algo abstracto los protocolos son los lenguajes para la programación

hernanden2
El problema consiste en encontrar el
máximo de un conjunto de números :
Descripción Formal - El algoritmo puede ser escrito de
una manera más formal en el siguiente pseudocódigo:
Algoritmo Encontrar el máximo de un conjunto
función max(C)
//C es un conjunto no vacío de números//
n ← | C | // | C | es el número de elementos de C//
m ← c0
para i ← 1 hasta n hacer si ci > m entonces m ← ci
devolver m
El problema consiste en encontrar el
máximo de un conjunto de números :
Descripción Formal - El algoritmo puede ser escrito de una
manera más formal en el siguiente pseudocódigo:
Algoritmo Encontrar el máximo de un conjunto
función max(C)
//C es un conjunto no vacío de números//
n ← | C | // | C | es el número de elementos de C//
m ← c0
para i ← 1 hasta n hacer
si ci > m entonces m ← ci
devolver m
Sobre la notación:
"←" representa una asignación: m ← x significa que la variable m toma el valor de x;
"devolver" termina el algoritmo y devuelve el valor a su derecha (en este caso, el máximo de
C).
El problema consiste en encontrar el
máximo de un conjunto de números :
Implementación – En lenguaje C++:
int max(int c[ ], int n)
{
int i , m = c[0];
for (i = 1; i < n; i++)
if (c[ i ] > m) m = c[ i ];
return m;
}
Los diagramas de flujo son descripciones
gráficas; usan símbolos conectados con
flechas para indicar la secuencia de
instrucciones
Los diagramas de flujo son usados para representar
algoritmos pequeños, ya que abarcan mucho espacio
y su construcción es laboriosa. Por su facilidad de
lectura son usados como introducción a los
algoritmos, descripción de un lenguaje y descripción
de procesos a personas ajenas a la computación
Los algoritmos también se pueden representar,
gráficamente, por medio de diagramas de flujo. Los
diagramas de flujo se pueden utilizar con otros fines, no
obstante,
a
los
diagramas
de
flujo
que
representan algoritmos también se les conoce como
ordinogramas. Dicho de otra forma, un ordinograma
representa, de manera gráfica, el orden de los pasos o
acciones de un algoritmo.
El pseudocódigo y los diagramas de flujo son las dos herramientas más utilizadas
para diseñar algoritmos en programación estructurada. Si bien, entre ambos tipos
de representación existen las siguientes diferencias importantes:
1. Los diagramas de flujo empezaron a utilizarse antes que el pseudocódigo.
2. En pseudocódigo se suelen definir tres secciones del algoritmo (cabecera,
declaraciones y cuerpo). Sin embargo, en un ordinograma sólo se representa
el cuerpo.
3. En un ordinograma suele ser más fácil ver, a primera vista, cuál es el orden de
las acciones del algoritmo.
4. Los símbolos gráficos utilizados en un diagrama de flujo han sido
estandarizados por el American National Standards Institute (ANSI). Sin
embargo, no existe un "pseudocódigo estándar".
http://es.wikipedia.org/wiki/Algoritmos
 http://www.carlospes.com/curso_de_algoritmos/
