Vous êtes sur la page 1sur 10

2012

PROCESAMIENTO DE DATOS
ALGORITMO

Prof: Ali Guerra

T. S. U ANGEL MEDINA Ingeniera en Mantenimiento PNF IUTJAA 20/04/2012

Repblica Bolivariana de Venezuela Ministerio del Poder Popular para la Educacin Superior Instituto Universitario de Tecnologa Jos Antonio Anzotegui El Tigre Estado Anzotegui
CATEDRA: PROCESAMIENTO DE DATOS INGIENERIA DE MANTENIMIENTO MECNICO

Algoritmos

Elaborado por: T.S.U Medina Angel C.I. 15.015.079 MM-02

El Tigre, 16 de Abril del 2012

ALGORITMO Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de algortmica y programacin, todas ellas muy similares:

Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]

Descripcin de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomina lxico [Pierre Scholl, 1988]

Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solucin o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]

Historia: La palabra algoritmo proviene del nombre del matemtico llamado Abu Abdullah Muhammad bin Musa al-Khwarizmi (hay muchas variantes para el nombre al usar el alfabeto latn, tales como Al-Khorezmi, Al-Khwarizmi, AlKhawarizmi, Al-Khawaritzmi o Al-Khowarizmi) que vivi entre los siglos VIII y IX. Su trabajo consisti en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fcil comprensin, de ah que su principal valor no fuera el de crear nuevos teoremas o nuevas corrientes de pensamiento, sino el de simplificar las matemticas a un nivel lo suficientemente bajo para que pudiera ser comprendido por un amplio pblico. Cabe destacar cmo seal las virtudes del sistema decimal indio (en contra de los sistemas tradicionales rabes) y cmo explic que, mediante una especificacin clara y concisa de cmo calcular sistemticamente, se podran definir algoritmos que fueran usados en dispositivos

mecnicos similares a un baco en vez de las manos. Tambin estudi la manera de reducir el numero de operaciones necesarias que formaban el clculo. Por esta razn, aunque no haya sido l el inventor del primer algoritmo, merece que este concepto est asociado a su nombre. Al-Khorezmi fue sin duda el primer pensador algortmico. Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron, en cuyos escritos se detallaban la mquina analtica en 1842. Por ello que es considerada por muchos como la primera programadora aunque, desde Charles Babbage, nadie complet su mquina, por lo que el algoritmo nunca se implement. La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es as, que exista la errada creencia que no haba problema que no se pudiera resolver y en base a ello, el matemtico David Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en da gracias a los trabajos de Kurt Gdel, Alonzo Church (calculo lamba), Alan Turing (maquina de turing), se sabe que dentro del universo de problemas, una pequea parte es computable, luego que el objetivo que persegua David Hilbert no era computable, es lo que se ha denominado como la compatibilidad de los algoritmos. Caractersticas: Las caractersticas fundamentales que debe cumplir todo algoritmo son:

Ser definido: Sin ambigedad, cada paso del algoritmo debe indicar la accin a realizar sin criterios de interpretacin.

Ser finito: Un nmero especfico y numerable de pasos debe componer al algoritmo, el cual deber finalizar al completarlos.

Tener cero o ms entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.

Tener una o ms salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como nicamente verlos en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programacin que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.

Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada ms ni nada menos que aquello que se requiera para y en su ejecucin.

MEDIOS DE EXPRESIN DE UN ALGORITMO Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocdigo y diagramas de flujo evita muchas ambigedades del lenguaje natural. Dichas expresiones son formas ms estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programacin especfico. La descripcin de un algoritmo usualmente se hace en tres niveles: 1. Descripcin de alto nivel. Se establece el problema, se selecciona un modelo matemtico y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. 2. Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos que encuentran la solucin. 3. Implementacin. Se muestra el algoritmo expresado en un lenguaje de programacin especfico o algn objeto capaz de llevar a cabo instrucciones.

Tambin es posible incluir un teorema que demuestre que el algoritmo es correcto, un anlisis de complejidad o ambos. Diagrama de flujo

Diagrama de flujo que expresa un algoritmo para calcular la raz cuadrada de un nmero Artculo principal: Diagrama de flujo. Los diagramas de flujo son descripciones grficas de algoritmos; usan smbolos conectados con flechas para indicar la secuencia de instrucciones y estn regidos por ISO. Los diagramas de flujo son usados para representar algoritmos pequeos, ya que abarcan mucho espacio y su construccin es laboriosa. Por su facilidad de lectura son usados como introduccin a los algoritmos, descripcin de un lenguaje y descripcin de procesos a personas ajenas a la computacin. Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de programacin

entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocdigo y diagramas de flujo evita muchas ambigedades del lenguaje natural. Dichas expresiones son formas ms estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programacin especfico. Pseudocdigo El pseudocdigo (falso lenguaje, el prefijo pseudo significa falso) es una descripcin de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintcticas propias de lenguajes de

programacin, como asignaciones, ciclos y condicionales, aunque no est regido por ningn estndar. Es utilizado para describir algoritmos en libros y publicaciones cientficas, 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 pseudocdigo requieren menos espacio para representar instrucciones complejas. El pseudocdigo 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 implementacin. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programacin concretos. Sin embargo, el pseudocdigo, en general, es comprensible sin necesidad de conocer o utilizar un entorno de programacin especfico, y es a la vez suficientemente estructurado para que su implementacin se pueda hacer directamente a partir de l. As el pseudodocdigo cumple con las funciones antes mencionadas para representar algo abstracto los protocolos son los lenguajes para la programacin. Busque fuentes ms precisas para tener mayor comprensin del tema.

SIMBOLOGIA UTILIZADA EN LOS DIAGRAMAS DE FLUJO

Ejemplo de algoritmo Algoritmo (ordinograma y pseudocdigo) correspondiente a un programa que calcule el rea y el permetro de un tringulo rectngulo dada la base y la altura.

Ordinograma

Pseudocdigo

PROGRAMA: Tringulo _rectngulo MDULO: Principal

INICIO DATOS: VARIABLES Base altura rea hipotenusa permetro

Numrico Entero Numrico Entero Numrico Real Numrico Real Numrico Real

ALGORITMO: Leer base, altura rea = base * altura / 2 hipotenusa = Raz (base^2 + altura^2) permetro = base + altura + hipotenusa Escribir rea = , rea Escribir Permetro = , permetro FIN

Vous aimerez peut-être aussi