Sunteți pe pagina 1din 9

LOS ALGORITMOS

Introduccin

En el siguiente trabajo pretendemos presentar una serie de concepto y


definiciones propios del estudio de los Algoritmos, su anlisis y diseo.

En el mismo podremos encontrar los conceptos de algoritmo y algunos de sus


componentes, anlisis y diseo. Tambin veremos los diferentes tipos de
formas y tamaos o medidas en que se pueden almacenar y representar los
datos y estructuras en un algoritmo o programa. En ese mismo orden
encontraremos las diferentes tcnicas para disearlos como son el mtodo de
la fuerza bruta, el voraz, divide y vencers, programacin dinmica, de vuelta
atrs, entre otros.

De igual forma podremos ver las definiciones y algunas caractersticas, reglas,


normas, tipos de algoritmos de bsqueda y ordenacin as como sus
aplicaciones.

Finalmente veremos los que es la verificacin y derivacin de programas,


donde daremos los conceptos bsicos de semntica y sus tipos haciendo
mayor nfasis en la semntica axiomtica, la recursividad e iteracin, los
diseos de estos ltimos, as como los tpicos ciclos utilizados en algoritmos y
programas y los paso a tener en cuenta al momento de desarrollar un algoritmo
iterativo o recursivo.
LOS ALGORITMOS

Objetivos

General:

Posibilitar la estudiante alcanzar una visin sistemtica de lo que conocemos


sobre Los Algoritmos Computacionales.

Especficos:

Introducir los conceptos propios sobre Algoritmo, su importancia en el mundo


de las aplicaciones para computadoras y el manejo de lgica de programacin.

Proporcionar una idea de su uso.


Visualizar sus ventajas e importancia.
Definir sus tipos y variantes.
Proporcionar conceptos sobre su anlisis y diseo.
Proporcionar concepto sobre las tcnicas de diseo.
Desglosar sus variantes (ordenacin, bsqueda, etc.)
LOS ALGORITMOS

CONCEPTO

Un algoritmo es un conjunto finito de instrucciones precisas que realizan una


tarea, la cual, dado un estado inicial, culminar por arrojar un estado final
reconocible. Esta definicin asume que la ejecucin del algoritmo concluye en
algn momento, dejando fuera los procedimientos que ejecutan
permanentemente sin detenerse.
El concepto de algoritmo se ilustra frecuentemente comparndolo con una
receta: al igual que las recetas, los algoritmos habitualmente estn formados
por secuencias de instrucciones que probablemente se repiten (iteran) o que
requieren decisiones (comparaciones lgicas) hasta que completan su tarea.
Un algoritmo puede no ser correcto, con lo cual, por ms que sus pasos se
lleven a cabo correctamente, el estado final no ser el esperado.
Normalmente, cuando un algoritmo est asociado con el procesamiento de
informacin, se leen datos de una fuente o dispositivo de entrada, se procesan
y se emiten por un dispositivo de salida, o bien se almacenan para su uso
posterior. Los datos almacenados se consideran parte del estado interno de la
entidad que ejecuta el algoritmo.

EFICIENCIA

La especificacin de un algoritmo puede incluir consideraciones sobre su


eficiencia, dado que una implementacin incorrecta puede hacer que demore
en ejecutarse mucho ms tiempo de lo aceptable. Para ello se utilizan
notaciones que expresan la complejidad de los algoritmos en funcin del
volumen de datos a procesar. Una de estas notaciones es la denominada la
gran O, que indica la cantidad de veces que el algoritmo debe repetir su
bloque principal de instrucciones para hacer su trabajo.

CLASES DE ALGORITMOS

Una forma de clasificar los algoritmos consiste en diferenciarlos por su


metodologa de diseo. A continuacin se presenta una sntesis de las
metodologas ms comunes, aplicables cada una a diferentes clases de
problemas:
LOS ALGORITMOS

Fuerza bruta: los algoritmos de fuerza bruta resuelven el problema con la


estrategia ms obvia de solucin, que no siempre es la mejor segn el nmero
de operaciones que se requiere.

Divide and conquer (divide y reinars): esta metodologa divide las instancias
del problema a resolver en instancias cada vez ms pequeas, usualmente en
forma recursiva, hasta llegar a una instancia en que el problema es resoluble
en forma trivial o con unas pocas instrucciones.

Programacin dinmica: cuando un problema presenta una subestructura


ptimao sea, cuando la solucin ptima de un problema se obtiene a partir de
las soluciones ptimas de sus subproblemas, se encuentra la solucin
resolviendo primero los subproblemas ms sencillos y luego utilizando esas
subsoluciones para resolver problemas incrementalmente difciles.

Programacin lineal: para resolver un problema utilizando programacin


lineal, se plantea una serie de inecuaciones y luego se busca maximizar (o
minimizar) las variables, respetando las inecuaciones. Muchos problemas
pueden plantearse en la forma de un conjunto de inecuaciones, para luego
resolverlos utilizando un algoritmo genrico, como por ejemplo, el denominado
mtodo Simplex (en la seccin de Servicios al lector se detallan sitios donde
obtener ms informacin sobre este mtodo).

Bsqueda y enumeracin: muchos problemas (como por ejemplo, un juego de


ajedrez) pueden modelarse con grafos y resolverse a partir de un algoritmo de
exploracin del grafo. Tal algoritmo especificar las reglas para moverse en el
grafo en busca de la solucin al problema. Esta categora incluye tambin
algoritmos de backtracking (vuelta atrs), los cuales van ensayando distintos
caminos con posibles soluciones y vuelven atrs cuando no las encuentran.
Por ejemplo, para encontrar la salida en un laberinto, cada vez que se llega al
final de un camino se vuelve atrs hasta la ltima bifurcacin, para probar con
las distintas alternativas de esa bifurcacin.

Algoritmos heursticos: el propsito de estos algoritmos no es


necesariamente encontrar una solucin final al problema, sino encontrar una
solucin aproximada cuando el tiempo o los recursos necesarios para
LOS ALGORITMOS

encontrar la solucin perfecta son excesivos. Muchos sistemas antivirus utilizan


mtodos heursticos para detectar conductas de programas que podran estar
actuando en forma maliciosa.

Algoritmos voraces: seleccionan la opcin de solucin (solucin local) que


tenga un costo menor en la etapa de solucin en la que se encuentran, sin
considerar si esa opcin es parte de una solucin ptima para el problema
completo (solucin global).

METODOLOGA PARA LA CREACIN DE ALGORITMOS

Ahora que ya sabemos qu es un algoritmo, vamos a estudiar la metodologa


para la solucin de un problema mediante un ordenador. La creacin de un
algoritmo y su programacin es una etapa, pero como programador debes
realizar varios pasos antes y despus.

El computador es una mquina que por s sola no puede hacer nada, necesita
ser programada, es decir, introducirle instrucciones u rdenes que le digan lo
que tiene que hacer. Un programa es la solucin a un problema inicial, as que
todo comienza all: en el Problema. El proceso de programacin es el siguiente:
Dado un determinado problema el programador debe idear una solucin y
expresarla usando un algoritmo (aqu es donde entra a jugar); luego de esto,
debe codificarlo en un determinado lenguaje de programacin y por ltimo
ejecutar el programa en el computador el cual refleja una solucin al problema
inicial. Esto es a grandes rasgos lo que hace el programador de computadores.

Tipos de Lenguajes Algortmicos

Grficos: Es la representacin grfica de las operaciones que realiza un


algoritmo (diagrama de flujo).
LOS ALGORITMOS

No Grficos: Representa en forma descriptiva las operaciones que debe


realizar un algoritmo (pseudo codigo).

INICIO

Edad: Entero

ESCRIBA cul es tu edad?

Lea Edad

SI Edad >=18 entonces

ESCRIBA Eres mayor de Edad

FINSI

ESCRIBA fin del algoritmo

FIN

IMPORTANCIA DE LOS ALORITMOS

El uso de algoritmos es sper importante en la informtica ya que estos nos


permiten disear programas o crear diferentes soluciones a ciertos problemas
inicialmente planteados , pues un algoritmo al ser un conjunto de normas o
reglas nos permiten llegar a un resultado si seguimos este proceso a cabalidad,
normalmente solemos utilizar algoritmos cuando leemos las instrucciones de un
nuevo celular o dispositivo mvil , tambin cuando compramos un computador
y simplemente cuando utilizamos nos preguntamos Cmo sacarle el mejor
provecho a un medio de comunicacin? .

Si se nos hace muy complicado entender ciertas instrucciones que conforman


un algoritmo, fcilmente podremos utilizar un diagrama de flujo , en el cual nos
explican cada paso que debemos seguir de manera breve y con determinadas
ilustraciones , haciendo uso de lines y recuadros.

Mi formacin intelectual tiene mucho que ver con los algoritmos ya que cada
da buscamos soluciones a diferentes situaciones que se nos presentan, no
solo en asignaturas como matemticas, sino tambin en fsica, algunas veces
LOS ALGORITMOS

en qumica pero sobretodo en robtica, cuando nos ensean programacin o


nos ponen a crear un dispositivo tecnolgico, tambin conocido como robot.

EJEMPLO DE ALGORITMO

El problema consiste en encontrar el mximo de un conjunto de nmeros. Para


un ejemplo ms complejo vase Algoritmo de Euclides.

DESCRIPCIN DE ALTO NIVEL

DESCRIPCION FORMAL
LOS ALGORITMOS

IMPLEMENTACION.
LOS ALGORITMOS

CONCLUSION

Luego de realizar este trabajo hemos visto como los algoritmos son una de las
herramientas ms complejas y aplicables en el rea de la informtica y el
mundo de los computadores. Pudimos comprobar que mientras ms potente,
completo y eficiente es el computador o la aplicacin que corre sobre el mismo
ms grande, complejo y exacto es el algoritmo que utiliza. Las tcnicas de
desarrollo de algoritmos nos permiten encontrar la mejor solucin a los
problemas que se nos presentan y deben ser solucionados por el computador,
estas tcnicas estn orientadas para utilizarse en cada uno de los niveles de
complejidad y variedad o alternativas para las cuales se aplican los algoritmos.
Un algoritmo es el conjunto de operaciones y procedimientos que deben
seguirse para resolver un problema, es por ellos que debemos estudiarlos y
conocerlos.

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