Está en la página 1de 11

UNIVERSIDAD POLITECNICA SALESIANA ESCUELA DE INGENIERIAS FACULTAD DE SISTEMAS

PROGRAMACION HIPERMEDIAL

OCTAVO TELEMATICA

TEMA:

ALGORITMOS

INTEGRANTES:

CRISTIAN GUACHAMIN DIEGO NOBOA MARIA AUXILIADORA MONTALVO CARLOS DE LA TORRE

JAVIER SALINAS SILVIA VEGA

ndice Tema !" A#g$%i&m$' ((((((((((((((((((((((((((((((((((((((( P g

)" Di*e%encia en&%e e# #eng+a,e a#g$% &mic$ - e# in*$%m &ic$ ((((((((((((((((((((((((((((((((((((((( ! ." Caracter sticas ________________ 1 de los algoritmos

4)

Algoritmos y ___________________________ Medios de _____________ expresi n 2 de

funciones 2 un algoritmo

5)

/ !"

Diag%ama de ((((((((((((((((((((((((((((((

*#+,$ .

/ )"

P'e+d$c dig$ ((((((((((((((((((((((((((((((((((( 0 M 1+ina de (((((((((((((((((((((((((((((( T+%ing 0

/ ."

2"

Im3#emen&aci n ((((((((((((((((((((((((((((((((((( 0

4" E,em3#$' ((((((((((((((((((((((((((((((((((((((((( / 5" Bi6#i$g%a*a ((((((((((((((((((((((((((((((((((((( /

!" A#g$%i&m$ 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 matemtico rabe Mohamed Ibn Moussa Al Ko !izmi" el cual escribi sobre entre los aos #$$ y #%& su obra 'uitab Al (abr Al Mugabala" donde se recoga el sistema de )umeracin hind y el concepto del cero. *ue *ibonacci" el que tradujo su obra al lat n y la inici con las palabras+ Algoritmi dicit. )" Di*e%encia en&%e e# #eng+a,e a#g$% &mic$ - e# in*$%m &ic$ ,l lenguaje algortmico es aquel por medio del cual se realiza un anlisis previo del problema a resolver y encontrar un mtodo que permita resolverlo. ,l conjunto de todas las operaciones a realizar" y el orden en el que deben e-ectuarse" se le denomina algoritmo. ,l lenguaje in-ormtico es aquel por medio del cual dicho algoritmo se codi-ica a un sistema comprensible por el ordenador o computadora. ,ste tipo de lenguaje es ms cercano a la mquina que al ser humano y podemos distinguir distintos tipos dependiendo de la pro.imidad a la maquina. /e denomina lenguaje de alto nivel aquel que es ms cercano a la comprensin humana y lenguaje de bajo nivel a aquellos que son ms comprensibles por la mquina. ,n concreto" nosotros vamos a estudiar un lenguaje en la -rontera de uno de bajo nivel. ,s por ello que el 010 es tan potente y rpido" pues las -unciones principales representan las -unciones ms bsicas del ordenador. 3) Caracter sticas de los algoritmos ,l cient-ico de computacin 2onald Knuth o-reci una lista de cinco propiedades" que son

ampliamente aceptadas como requisitos para un algoritmo+ 3. Ca% c&e% *ini&$. "Un algoritmo siempre debe terminar despus de un nmero finito de pasos". %. P%eci'in. "Cada paso de un algoritmo debe estar precisamente definido las operaciones a lle!ar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso". 4. En&%ada. "Un algoritmo tiene cero o ms entradas" cantidades #ue le son dadas antes de #ue el algoritmo comience$ o dinmicamente mientras el algoritmo corre% &stas entradas son tomadas de con'untos especficos de ob'etos". 5. Sa#ida. "Un algoritmo tiene una o ms salidas" cantidades #ue tienen una relacin especfica con las entradas". &. E*icacia. "(ambin se espera #ue un algoritmo sea efica)$ en el sentido de #ue todas las operaciones a reali)ar en un algoritmo deben ser suficientemente bsicas como para #ue en principio puedan ser *ec*as de manera exacta y en un tiempo finito por un *ombre usando lpi) y papel". Knuth admite que" aunque su descripci n pueda ser intuitivamente clara" carece de rigor -ormal" puesto que no est e.actamente claro qu signi-ica "precisamente de-inido"" "de manera rigurosa y no ambigua"" o "su-icientemente bsicas"" y as sucesivamente.. A partir del carcter -inito y de la salida se deduce que ante una misma situacin inicial 6o valores de entrada7 un algoritmo debe proporcionar siempre el mismo resultado 6o salida7" con e.cepcin de los algoritmos probabilistas. 4) Algoritmos y funciones *ormalmente" un algoritmo calcula a una -unci n. 1omo cualquier conjunto -inito es numerable" y cualquier conjunto numerable se puede e.presar en

trminos del conjunto de los nmeros naturales 6in-inito" pero numerable" de hecho no e.iste otro conjunto ms grande que sea tambin numerable7" en esencia" todo algoritmo calcula a -unciones de-inidas en los nmeros naturales. ,n este punto" una -uncin est parcial o totalmente de-inida. Una -uncin es parcial cuando hay nmeros naturales que no pertenecen a su dominio 6es decir" hay nmeros naturales sobre los que no est de-inida la -uncin7" y una -uncin es total en caso contrario. /i una -uncin es parcial" el algoritmo que lo calcula solo devolver un resultado 6es decir gasta un tiempo de clculo -inito7 para los valores en los que la -uncin est de-inida" no devolviendo resultado 6el tiempo de clculo es in-inito7 para el resto de valores. /i un algoritmo que calcula a una -uncin parcial devolviera un resultado para los valores no de-inidos de la -uncin" entonces no calcular a a esa -uncin sino a otra. 2el mismo modo" un algoritmo que calcula a una -uncin total siempre devuelve un resultado para todo valor" y que al igual que las -unciones parciales" ste debe coincidir e.actamente con el valor que devuelve la -uncin a la que calcula8 y reiterativamente" en caso contrario" no calculara a esa -unci n sino a otra. As" todo algoritmo calcula a una -uncin de-inida sobre los nmeros naturales" sea cul sea sta su naturaleza. 9oda -uncin para la cual e.ista un algoritmo que lo calcule se denomina -uncin computable 6parcialmente computable o totalmente computable depende del grado de de-inicin de la -unci n en cuestin7" pero e.isten -unciones que no pueden ser calculadas como la -uncin de Ac:ermann" a este ltimo tipo de -unciones se las denomina -unciones no computables. 5) Medios de expresi n de un algoritmo Los algoritmos pueden ser e.presados de muchas maneras" incluyendo al lenguaje natural"

pseudocdigo" diagramas de -lujo y lenguajes de programacin entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y e.tensas. ,l usar pseudocdigo y diagramas de -lujo evita muchas ambig;edades del lenguaje natural. 2ichas e.presiones son -ormas ms estructuradas para representar algoritmos8 no obstante" se mantienen independientes de un lenguaje de programacin espec-ico. La descripcin de un algoritmo usualmente se hace en tres niveles+ 3. De'c%i3ci n de a#&$ ni7e#. /e establece el problema" se selecciona un modelo matem tico y se e.plica el algoritmo de manera verbal" posiblemente con ilustraciones y omitiendo detalles. %. De'c%i3ci n *$%ma#. /e usa pseudocdigo para describir la secuencia de pasos que encuentran la solucin. 4. Im3#emen&aci n. /e muestra el algoritmo e.presado en un lenguaje de programacin espec-ico o algn objeto capaz de llevar a cabo instrucciones. 9ambin es posible incluir un teorema que demuestre que el algoritmo es correcto" un anlisis de complejidad o ambos.

/ !" Diag%ama de *#+,$

2iagrama de -lujo que e.presa un algoritmo para calcular la raz cuadrada de un nmero x Los diagramas de -lujo son descripciones gr-icas de algoritmos8 usan smbolos conectados con -lechas para indicar la secuencia de instrucciones y estn regidos por I/<. Los diagramas de -lujo son usados para representar algoritmos pequeos" ya que abarcan mucho espacio y su construccin es laboriosa. =or su -acilidad de lectura son usados como introduccin a los algoritmos" descripcin de un lenguaje y descripcin de procesos a personas ajenas a la computacin. / )" P'e+d$c dig$ =seudocdigo es la descripcin de un algoritmo que asemeja a un lenguaje de programacin pero con algunas convenciones del lenguaje natural. 9iene varias ventajas con respecto a los diagramas de -lujo" entre las que se destaca el poco espacio que se requiere para representar instrucciones

complejas. ,l pseudocdigo no est regido por ningn estndar. pseudo viene de -also y por ende es un cdigo al que aunque es entendible no se aplica al proceso que debe realizar la maquina. / ." M 1+ina de T+%ing La mquina de 9uring es un modelo matem tico" diseado por Alan 9uring" que -ormaliza el concepto de algoritmo. A este modelo se le re-iere comnmente como la "descripcin de m s bajo nivel" por el hecho de que no utiliza ninguna e.presin coloquial. 2" Im3#emen&aci n Muchos algoritmos son ideados para implementarse en un programa. /in embargo" los algoritmos pueden ser implementados en otros medios" como una red neuronal" un circuito elctrico o un aparato mecnico. Algunos algoritmos inclusive se disean especialmente para implementarse usando lpiz y papel. ,l algoritmo de multiplicacin tradicional" el algoritmo de ,uclides" la criba de ,ratstenes y muchas -ormas de resolver la raz cuadrada son slo algunos ejemplos.

4" E,em3#$':

Ejemplo 1: determinar cunto vale (a,b,c) despus de las siguientes sentencias de asignacin INICI a !"" b !"" a !"" b !"" a !"" b !"" -IN

# a$% &$ b !"" # $ % ' ( $& b)#$a &$ a !"" ( ) # $ # ' 1# $& #"a$b &$ b !"" # " 1# $ ( ' # " *+ ' "*% $& a"b &$ a !"" 1# " "*% ' 1# ) *% ' 1,+ $& "b ) + &$ b !"" ""*% ) + ' *% ) + ' 1,, $&

Ejemplo #: .odo comentario de alguna sentencia, debe ir entre los simbolos &$ $&/ 0os comentarios son 1tiles para e2plicar mejor alguna sentencia 3ue puede estar no clara, para alguien 3ue se en4renta a las sentencias por primera ve5/ Calculo del rea de una es4era/ INICI 6I !"" 7/1% &$ constante $& 0eer radio area !"" % $ 6I $ radio $ radio -IN

&$ area de una es4era $&

5" Bi6#i$g%a*a: o o o . i:ipedia.com .monogra-ias.com .slideshare.net