Вы находитесь на странице: 1из 8

Algoritmos

Por algoritmo, se entiende a un conjunto finito de instrucciones que se deben


seguir para resolver un problema. No obstante, desde el punto de vista de la
programacin de ordenadores, la definicin del algoritmo como la especificacin
de una serie de pasos, es incompleta. Debe observarse que los ordenadores son
equipos que tienen limitaciones fsicas en cuanto a capacidad de almacenamiento
y procesamiento. Por consiguiente debemos refinar un poco ms nuestra
definicin de algoritmo para hacerla aplicable de manera efectiva en el mbito de
la informtica.
El algoritmo es un conjunto de pasos, instrucciones o acciones que se deben
seguir para resolver un problema. Existen una gran cantidad de algoritmos, hay
que escoger el ms efectivo. Hay dos tipos de algoritmos que son
los cualitativos y cuantitativos, cualitativos son todos aquellos pasos o
instrucciones descritos por medio de palabras que sirven para llegar a la obtencin
de una respuesta o solucin de un problema, y cuantitativos son todos aquellos
pasos o instrucciones que involucran clculos numricos para llegar a un resultado
satisfactorio.
Caractersticas:

Tiene que ser preciso.

Tiene que estar bien definido.

Tiene que ser finito.

La programacin es adaptar el algoritmo al ordenador.

El algoritmo es independiente segn donde lo implemente.

Definicin: Un algoritmo se entiende como una sucesin finita de pasos que debe
cumplir las siguientes especificaciones:

Cada paso del algoritmo debe estar bien definido: Esto significa que la
definicin de un paso debe ser suficientemente clara, para que una persona
pueda entenderla y realizarla. Si bien no se puede dar un criterio
determinstico para decidir si un paso est bien definido, debemos apelar al
sentido comn para decidir que un paso est especificado sin
ambigedades.

Un algoritmo debe tener un principio y un fin: Un programa es un


algoritmo escrito con un objetivo: conseguir un resultado. No tiene sentido
crear un programa que espere ~ segundos (infinitos segundos) y luego
escriba en pantalla "Hola Mundo!", del mismo modo que un algoritmo debe

tener un principio bien definido (tampoco tiene sentido el algoritmo "haz


nada, y luego escribe Hola Mundo!")

Mtodo y notacin en las distintas frmulas del clculo. El algoritmo constituye un


mtodo para resolver un problema mediante una secuencia de pasos a seguir.
Dicha secuencia puede ser expresada en forma de diagrama de flujo con el fin de
seguirlo
de
una
forma
ms
sencilla.
De acuerdo con el concepto anterior, el algoritmo podra estar incluido en la
definicin de programa de ordenador de la Ley de Propiedad Intelectual (TRLPI),
al referirse a ste como toda secuencia de instrucciones o indicaciones destinadas
a ser utilizadas, directa o indirectamente, en un sistema informtico para realizar
una funcin o una tarea o para obtener un resultado determinado, cualquiera que
fuere su forma de expresin y fijacin.
Sin embargo, ciertas caractersticas de los algoritmos hacen que no puedan ser
calificados como programas de ordenador. (Ver recuadro) La consecuencia de
estas caractersticas es la exclusin del algoritmo del mbito de proteccin del
derecho de autor, en la medida en que ste constituye una idea, un mtodo de
clculo o una funcin, afectado por el artculo 96.4 del TRLPI.
Por otro lado, Prembulo de la Directiva 91/250/CEE de 1991 sobre la proteccin
jurdica de los programas de ordenador establece que: "en la medida en que la
lgica, los algoritmos y los lenguajes de programacin abarquen ideas y principios,
estos ltimos no estarn protegidos con arreglo a la presente Directiva."
Adems, en un Memorandum de 1994 de la OMPI (WIPO) Organizacin Mundial
de la Propiedad Intelectual, se manifestaba: "Es perfectamente cierto que el
derecho de autor no protege los algoritmos, sino nicamente las expresiones
concretas de los mismos. Precisamente por eso, el derecho de autor puede
ofrecer una proteccin apropiada a los programas de ordenador, sin crear
obstculos infranqueables a la creacin independiente de nuevos programas".
No obstante, existen excepciones a nivel jurisprudencial basadas en la doctrina del
"look and feel", que establecen la existencia de plagio cuando se reproduce la
estructura, secuencia y disposicin de los datos integrados en un programa de
ordenador. Estas excepciones podran aplicarse en el caso de combinaciones de
algoritmos o cuando el nivel de complejidad de un algoritmo fuese muy alto.

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.
La parte que corresponde a este manual es la de: Dado un determinado problema
debemos idear una solucin y expresarla usando un ALGORITMO

Algoritmos para ser ejecutados por un ordenador


Un ordenador o computadora est, desde que se enciende hasta que se apaga
totalmente, ejecutando un algoritmo. Por lo general, estos algoritmos, escritos para que
los entienda una mquina, terminan siendo vagos y confusos para la mayora de quienes
no han estudiado programacin. Una mquina no puede entender "escribe Hola Mundo!"
porque no sabe lo que es "escribe" ni lo que es una letra o un espacio, ni lo que es una
pantalla. En cambio, puede entender "mov eax, 0x23afb31" (escribir en el registro eax el
nmero 0x23afb31), aunque nosotros no. Un ordenador es solo un circuito electrnico, no
funciona a base de magia ni nada por el estilo.
Debido a lo difcil que es escribir en lenguaje mquina, e incluso en ensamblador, se
crearon diferentes lenguajes de programacin, ms o menos parecidos al ingls actual y a
cmo se redacta un algoritmo. Estos lenguajes proveen de cosas tan complejas para una
mquina como los bucles for. Los compiladores se encargan de traducir esos ficheros al
lenguaje ensamblador que corresponda, el ensamblador de traducirlos a lenguaje
mquina y el enlazador de juntar todo ese cdigo mquina en un solo archivo, el
programa. Y el microprocesador, se encarga de ir encendiendo o apagando transistores
segn lo que le diga el cdigo mquina. Es fcil entender el lenguaje de alto nivel en
comparacin al lenguaje maquina pero de la evolucin surgieron.

Lenguaje de mquina
Cada tipo de microprocesador contiene un conjunto de instrucciones que realizan ciertas
operaciones sobre una o ms palabras de bits; las instrucciones van tambin codificadas
en bits. No queremos hacer aqu una discusin sobre arquitectura de ordenadores, por lo
que con esto debe valer por ahora.
Se entiende que escribir slo con dos teclas, el 0 y el 1, es incmodo. Histricamente, a la
hora de disear un algoritmo para que el ordenador ejecutara, se escriba mediante unas
etiquetas nemotcnicas; ste fue el origen del lenguaje ensamblador.

Lenguaje ensamblador
El cdigo mquina tena dos grandes inconvenientes para los programadores:

las instrucciones eran difciles de recordar, ya que no guardaban relacin con la


operacin que se est realizando.

puede haber, y de hecho hay, diferencias entre las instrucciones de un procesador


a otro.

Todo esto ha llevado a "poner nombre" a las instrucciones de cdigo mquina de manera
que a una secuencia concreta de bits que realiza una operacin se le pone un nombre
sencillo que identifique la operacin. Esta traduccin a un lenguaje ms sencillo para las
personas resulta en una mayor comodidad para el programador, adems el proceso de
traduccin inverso de lenguaje ensamblador a cdigo mquina puede ser realizado por un
sencillo programa.

Ejemplo

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.

Egrafia
https://es.wikipedia.org/wiki/Algoritmo
https://es.wikibooks.org/wiki/Fundamentos_de_programaci
%C3%B3n/Algoritmos_y_programas
http://www.desarrolloweb.com/articulos/2143.php

Conclusin

Luego de realizar este trabajo he 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.

Вам также может понравиться