Vous êtes sur la page 1sur 7

ALGORITMO

En matemticas, ciencias de la computacin, y disciplinas relacionadas, un algoritmo (del latn, dixit algorithmus y ste a su vez del matemtico persa alJwarizmi) es una lista bien definida, ordenada y finita de operaciones que permite hallar la solucin a un problema. ado un estado inicial y una entrada, a travs de pasos sucesivos y bien definidos se lle!a a un estado final, obteniendo una solucin. "u importancia radica en mostrar la manera de llevar a cabo procesos y resolver mecnicamente problemas matemticos o de otro tipo. #l i!ual que las funciones matemticas, los al!oritmos reciben una entrada y la transforman en una salida, comportndose como una ca$a ne!ra. "in embar!o, para que un al!oritmo pueda ser considerado como tal, debe ser determinista, eficiente, tener un n%mero finito de instrucciones y debe acabar. &or determinista se entiende que, si se si!ue el mismo proceso ms de una vez, se lle!a siempre al mismo resultado' por eficiente, que el consumo de tiempo y memoria debe estar cercano o ser el menor posible. El concepto de al!oritmo, aunque similar y obviamente relacionado, no debe confundirse con el concepto de pro!rama. (ientras el primero es la especificacin de un con$unto de pasos (operaciones, instrucciones, rdenes,...) orientados a la resolucin de un problema, el se!undo es ese con$unto de operaciones especificadas en un determinado len!ua$e de pro!ramacin y para un computador concreto, susceptible de ser e$ecutado (o compilado o interpretado). )n al!oritmo, estrictamente hablando, no puede e$ecutarse hasta que se implementa, ya sea en un len!ua$e de pro!ramacin, en un circuito elctrico, en un aparato mecnico, usando papel y lpiz, o en al!%n otro modelo de computacin. En la vida cotidiana se emplean al!oritmos en multitud de ocasiones para resolver diversos problemas. #l!unos e$emplos se encuentran en los instructivos (manuales de usuario), los cuales muestran al!oritmos para usar el aparato en cuestin o inclusive en las instrucciones que recibe un traba$ador por parte de su patrn. *ambin e+isten e$emplos de ndole matemtica, como el al!oritmo de la divisin para calcular el cociente de dos n%meros, el al!oritmo de Euclides para calcular el m+imo com%n divisor de dos enteros positivos, o el mtodo de ,auss para resolver un "istema lineal de ecuaciones. 1 Caractersticas de los algoritmos

El cientfico de computacin onald -nuth ofreci una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un al!oritmo. /. Carcter finito. 0Un algoritmo siempre debe terminar despus de un nmero finito de pasos0.

1. Precisin. 0Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso 0. 2. Entrada. 0Un algoritmo tiene cero o m s entradas! cantidades "ue le son dadas antes de "ue el algoritmo comience# o din micamente mientras el algoritmo corre$ %stas entradas son tomadas de con&untos espec'ficos de ob&etos0. 3. Salida. 0Un algoritmo tiene una o m s salidas! cantidades "ue tienen una relaci(n espec'fica con las entradas0. 4. Eficacia. 0)ambin se espera "ue un algoritmo sea eficaz# en el sentido de "ue todas las operaciones a realizar en un algoritmo deben ser suficientemente b sicas como para "ue en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando l piz y papel0. -nuth admite que, aunque su descripcin pueda ser intuitivamente clara, carece de ri!or formal, puesto que no est e+actamente claro qu si!nifica 0precisamente definido0, 0de manera ri!urosa y no ambi!ua0, o 0suficientemente bsicas0, y as sucesivamente. # partir del caracter finito y de la salida se deduce que ante una misma situacin inicial (o valores de entrada) un al!oritmo debe proporcionar siempre el mismo resultado (o salida), con e+cepcin de los al!oritmos probabilistas. 2 Ejemplo vida real ,lgoritmo rueda pinchada #brir ba%l "acar rueda au+ilio "acar !ato 5evantar coche 6epetir 7 "acar tuerca

*$+

8asta que 9o halla ms tuercas "acar 6ueda &oner 6ueda de #u+ilio 6epetir

&oner *uerca

8asta que estn todas :a$ar coche ,uardar 6ueda ,uardar ,ato ;in al!oritmo 3 Medios de expresi ! de "! algoritmo

5os al!oritmos pueden ser e+presados de muchas maneras, incluyendo al len!ua$e natural, pseudocdi!o, dia!ramas de flu$o y len!ua$es de pro!ramacin entre otros. 5as descripciones en len!ua$e natural tienden a ser ambi!uas y e+tensas. El usar pseudocdi!o y dia!ramas de flu$o evita muchas ambi!<edades del len!ua$e natural. ichas e+presiones son formas ms estructuradas para representar al!oritmos' no obstante, se mantienen independientes de un len!ua$e de pro!ramacin especfico. 5a descripcin de un al!oritmo usualmente se hace en tres niveles. /. Descripcin de alto nivel. "e establece el problema, se selecciona un modelo matemtico y se e+plica el al!oritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. 1. Descripcin formal. "e usa pseudocdi!o para describir la secuencia de pasos que encuentran la solucin. 2. Implementacin. "e muestra el al!oritmo e+presado en un len!ua$e de pro!ramacin especfico o al!%n ob$eto capaz de llevar a cabo instrucciones. *ambin es posible incluir un teorema que demuestre que el al!oritmo es correcto, un anlisis de comple$idad o ambos. -$+ .iagrama de flu&o

5os dia!ramas de flu$o son descripciones !rficas de al!oritmos' usan smbolos conectados con flechas para indicar la secuencia de instrucciones y estn re!idos por =">. 5os dia!ramas de flu$o son usados para representar al!oritmos peque?os, ya que abarcan mucho espacio y su construccin es laboriosa. &or su facilidad de lectura son usados como introduccin a los al!oritmos, descripcin de un len!ua$e y descripcin de procesos a personas a$enas a la computacin. 2

-$*

/seudoc(digo

&seudocdi!o es la descripcin de un al!oritmo que aseme$a a un len!ua$e de pro!ramacin pero con al!unas convenciones del len!ua$e natural. *iene varias venta$as con respecto a los dia!ramas de flu$o, entre las que se destaca el poco espacio que se requiere para representar instrucciones comple$as. El pseudocdi!o no est re!ido por nin!%n estndar. "e aseme$a al len!ua$e de pro!ramacin, 9> es len!ua$e de pro!ramacin. # $erramie!tas para co!str"ir Algoritmos 0$+ %aria&le! %spacio de memoria "ue tiene un 1ombre 23eferencia4 y Contenido 'om&re! =dentificador, debe ser una palabra compuesta slo por letras, el carcter @AB y n%meros. 9o puede comenzar con un n%mero. E$. 8ola, 5etra, 5et/, # , C etc.

9o pueden ser 9ombres de variables. /, /8ola, f. Etc. Co!te!ido! Dalor que contiene la variable (Easillero). "e pueden clasificar en los si!uientes *ipos. 9%meros. E$. 3, 4, F.G etc. Earacteres. @#B, @.B, @1B Etc. (E+iste una tabla que contiene todos los caracteres en orden) 5!icos. D o ;. 0$* Expresi !( 3epresenta un valor Est formada por. E$. Dalor o Dariable Dariable o Dalor operador E+presin

e Dalor. 3, @aB, 4, @;@

E$. e Dariables. #, 8ola etc.

0$-

Operadores 5os operadores pueden utilizarse( Entre Nmeros. eben estar entre e+presiones numricas Enteros . H, I , J, iv, (od 6eales. H,I,J,K Entre valores Lgicos. eben estar entre e+presiones l!icas L , v, M Lgicos . N,O, NP, PO,P, H

3.2./ E$ercicios de e+presiones. E+p/. 4H/ E+p1. # v : L (4NP9umero) E+p2. D L E EP; =ndicar que tipo de valores deben tener las si!uientes variables para que las e+presiones sean correctas. E+p/. 4H9umQ3 #PD :P; 9umeroP3 =ndicar que valor representan las si!. E+presiones.

E+p1. (5etra H 4) v 9umero E+p2. (9umero J G Q 5etra) P @aB

0$0

Accio!es de )ec"e!cia ,signar 5eer %scribir 3.3./ Escri&ir : &ermite e+teriorizar una e+presin. 6intaxis! %scribir2%xpresi(n o %xpresiones 26eparadas por comas44

%&emplo! %scribir(9umeroH2) %scribir(5etra, 9umeroH/, @8olaB) Nota. @8olaB no es un valor de nin!%n tipo conocido, es decir, no es un carcter, pero se anotar de esta forma cuando se quiera escribir @8B, BoB, BlB, BaB. E$ercicio. =n!resar un 9%mero y lue!o imprimir el cubo del mismo. 0$0$* Asig!ar ( /ermite almacenar una expresi(n en una variable 6intaxis! 7ariable 8- %xpresi(n %&emplo! 9umeroOIG 5etraOI@sB %&ercicio! #lmacenar en una variable el R J F1 3.3.2 5eer . &ermite entrar un dato, y almacenarlo en una variable. "inta+is. 5eer27ariable4 %&emplo! 5eer(9umero) Euando se e$ecuta la accin se in!resar un valor y quedar almacenado en la variable 5eer(5etra) %&ercicio! =n!resar un 9%mero y lue!o imprimir el cubo del mismo.

0$9 )i

Accio!es de )elecci !

)i, &ermite tomar una decisin a partir de una e+presin l!ica. 6intaxis! 6i 8e+presin l!icaN %ntonces 3.4./ #ccinQes :in si %&emplo! 6i (9umeroP3) %ntonces Escribir(@El n%mero es un cuatroB) Escribir(@=n!rese otro n%meroB) 5eer (9umero) Fin si %&ercicio! =n!resar un 9%mero y decir si es mayor menor o i!ual a cero

Vous aimerez peut-être aussi