Sei sulla pagina 1di 10

Ao de la consolidacin del Mar de Grau

UNIVERSIDAD NACIONAL

HERMILIO VALDIZN
FACULTAD INGENIERA CIVIL y
ARQUITECTURA
E.A.P. INGENIERA CIVIL

CURSO

PROFESORA

PALMA ALEJANDRO, Jakeli

ALUMNO

MONOGRAFIA

PROGRAMACION DIGITAL

CUEVA ESTARDA, Antonio Junior

ALGORITMOS

HUNUCO-PER

Indice

Introduccin
..
Desarrollo
.

Definicin de algoritmo
Caractersticas de los algoritmos

Etapas para la solucin de un problema por medio del


computador
Algoritmos cualitativos y algoritmos cuantitativos
Tcnicas de representacin
Estructuras secuenciales
Tipos de algoritmos segn su funcin
Tcnicas de diseo de algoritmos

Conclusin

Bibliografa
..
Webgrafia
.

Introduccin
El desarrollo de algoritmos es un tema fundamental en el diseo de
programas o soluciones. Por lo cual, el alumno debe tener buenas

bases que le sirvan para poder crear de manera fcil y rpida sus
programas.
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.
La siguiente monografa puede servir de apoyo a los profesores, en su
labor cotidiana de enseanza y al estudiante, facilitarle el desarrollo
de su capacidad analtica y creadora, para de esta manera mejorar su
destreza en la elaboracin de algoritmos que sirven como base para
la codificacin de los diferentes programas que tendr que desarrollar
a lo largo de su carrera.

Desarrollo
En matemticas, lgica, ciencias de la computacin y disciplinas
relacionadas, un algoritmo (del griego y latn, dixit algorithmus y ste

a su vez del matemtico persa Al-Juarismi) es un conjunto prescrito


de instrucciones o reglas bien definidas, ordenadas y finitas que
permite realizar una actividad mediante pasos sucesivos que no
generen dudas a quien deba realizar dicha actividad. Dados un estado
inicial y una entrada, siguiendo los pasos sucesivos se llega a un
estado final y se obtiene una solucin. Los algoritmos son el objeto de
estudio de la algoritmia.
En general, no existe ningn consenso definitivo en cuanto a la
definicin formal de algoritmo. Muchos autores los sealan como
listas de instrucciones para resolver un clculo o un problema
abstracto, es decir, que un nmero finito de pasos convierten los
datos de un problema (entrada) en una solucin (salida). Sin embargo
cabe notar que algunos algoritmos no necesariamente tienen que
terminar o resolver un problema en particular.
A lo largo de la historia varios autores han tratado de definir
formalmente a los algoritmos utilizando modelos matemticos. Esto
fue realizado por Alonzo Church en 1936 con el concepto de
"calculabilidad efectiva" basada en su clculo lambda y por Alan
Turing basndose en la mquina de Turing. Los dos enfoques son
equivalentes, en el sentido en que se pueden resolver exactamente
los mismos problemas con ambos enfoques.8 9 Sin embargo, estos
modelos estn sujetos a un tipo particular de datos como son
nmeros, smbolos o grficas mientras que, en general, los algoritmos
funcionan sobre una vasta cantidad de estructuras de datos.3 1 En
general, la parte comn en todas las definiciones se puede resumir en
las siguientes tres propiedades siempre y cuando no
consideremos algoritmos paralelos:
Tiempo secuencial. Un algoritmo funciona en tiempo
discretizado paso a paso, definiendo as una secuencia de
estados "computacionales" por cada entrada vlida (la
entrada son los datos que se le suministran al algoritmo antes
de comenzar).
Estado abstracto. Cada estado computacional puede ser
descrito formalmente utilizando una estructura de primer
orden y cada algoritmo es independiente de su implementacin
(los algoritmos son objetos abstractos) de manera que en un
algoritmo las estructuras de primer orden son invariantes bajo
isomorfismo.
Exploracin acotada. La transicin de un estado al siguiente
queda completamente determinada por una descripcin fija y
finita; es decir, entre cada estado y el siguiente solamente se

puede tomar en cuenta una cantidad fija y limitada de trminos


del estado actual.

Caractersticas de los Algoritmos

Preciso. Define de manera rigurosa, sin dar lugar a


ambigedades.
Definido. Si se sigue un algoritmo dos veces, se obtendr el
mismo resultado.
Finito. Debe terminar en algn momento.
Puede tener cero o ms elementos de entrada.
Debe producir un resultado. Los datos de salida sern los
resultados de efectuar las instrucciones.
Se concluye que un algoritmo debe ser suficiente para resolver
el problema.
Entre dos algoritmos que lleven a un mismo objetivo, siempre
ser preferible el ms corto (se deber analizar la optimizacin
de tiempos y/o recursos).

Etapas para la solucin de un problema por medio


del computador
1. Anlisis del problema, definicin y delimitacin
(macroalgoritmo).
Considerar los datos de entrada, el proceso que debe realizar el
computador y los datos de salida.
2. Diseo y desarrollo del algoritmo (se utiliza pseudocdigo,
escritura natural del algoritmo, diagramas de flujo, etc.)
3. Prueba de escritorio. Seguimiento manual de los pasos descritos
en el algoritmo. Se hace con valores bajos y tiene como fin
detectar errores.
4. Codificacin. Seleccin de un lenguaje de programacin y
digitacin del pseudocdigo haciendo uso de la sintaxis y
estructura gramatical del lenguaje seleccionado.
5. Compilacin o interpretacin del programa. El software elegido
convierte las instrucciones escritas en el lenguaje por la
mquina para llegar a resultados esperados.
6. Ejecucin. El programa es ejecutado por la mquina para llegar
a los resultados esperados.
7. Depuracin (debug). Operacin de detectar, localizar y eliminar
errores de mal funcionamiento del programa.
8. Evaluacin de resultados. Obtenidos los resultados se los evala
para verificar si son correctos. (Un programa puede arrojar
resultados incorrectos aun cuando su ejecucin no muestra
errores).

Algoritmos cualitativos y algoritmos cuantitativos

Un algoritmo es cualitativo cuando en sus pasos o instrucciones no


estn involucrados clculos numricos. Las instrucciones para armar

un aeromodelo, para desarrollar una actividad fsica o encontrar un


tesoro, son ejemplos de algoritmos cualitativos.
Algunos algoritmos cualitativos
Tomar mate
Utilizar una gua telefnica
Cocinar siguiendo una receta
Cambiar una llanta de automvil
Buscar una palabra en el diccionario
Los algoritmos cuantitativos involucran clculos numricos.
Ejemplos:
Solucin de un factorial
Solucin de una ecuacin de segundo grado
Encontrar el mnimo comn multiplicador

Tcnicas de representacin

Para la representacin de un algoritmo, antes de ser convertido a


lenguaje de programacin, se utilizan algunos mtodos de
representacin escrita, grafica o matemtica. Los mtodos ms
conocidos son:
Diagramacin libre (Diagramas de flujo)
Diagramas Nassi-Shneiderman
Pseudocdigo
Lenguaje natural (espaol, ingls, etc.)}
Frmulas matemticas
El lenguaje natural puede no ser suficientemente preciso, permitiendo
ambigedades obteniendo una descripcin no del todo satisfactoria.
Las frmulas, propias del lenguaje matemtico, son un buen sistema
de representacin, pero no suelen ser fciles de convertir en
programas.

Estructuras secuenciales
La estructura secuencial es aquella en la que una accin sigue a otra en
secuencia. Las operaciones se suceden de tal modo que la salida de una es la
entrada de la siguiente y as sucesivamente hasta el fin del proceso. La
asignacin de esto consiste, en el paso de valores o resultados a una zona de la
memoria. Dicha zona ser reconocida con el nombre de la variable que recibe el
valor. La asignacin se puede clasificar de la siguiente forma:

1. Simples: Consiste en pasar un valor constante a una variable


(a 15)
2. Contador: Consiste en usarla como un verificador del nmero
de veces que se realiza un proceso (a a + 1)
3. Acumulador: Consiste en usarla como un sumador en un
proceso (a a + b)
4. De trabajo: Donde puede recibir el resultado de una operacin
matemtica que involucre muchas variables (a c + b*1/2).

Tipos de algoritmos segn su funcin

Algoritmo de ordenamiento

Algoritmo de bsqueda

Tcnicas de diseo de algoritmos

Algoritmos voraces (greedy): seleccionan los elementos ms


prometedores del conjunto de candidatos hasta encontrar una
solucin. En la mayora de los casos la solucin no es ptima.
Algoritmos paralelos: permiten la divisin de un problema en
subproblemas de forma que se puedan ejecutar de forma
simultnea en varios procesadores.

Algoritmos probabilsticos: algunos de los pasos de este tipo de


algoritmos estn en funcin de valores pseudoaleatorios.

Algoritmos determinsticos: el comportamiento del algoritmo es


lineal: cada paso del algoritmo tiene nicamente un paso sucesor
y otro antecesor.

Algoritmos no determinsticos: el comportamiento del algoritmo


tiene forma de rbol y a cada paso del algoritmo puede bifurcarse
a cualquier nmero de pasos inmediatamente posteriores, adems
todas las ramas se ejecutan simultneamente.

Divide y vencers: dividen el problema en subconjuntos


disjuntos obteniendo una solucin de cada uno de ellos para
despus unirlas, logrando as la solucin al problema completo.

Metaheursticas: encuentran soluciones aproximadas (no


ptimas) a problemas basndose en un conocimiento anterior (a
veces llamado experiencia) de los mismos.

Programacin dinmica: intenta resolver problemas


disminuyendo su coste computacional aumentando el coste
espacial.

Ramificacin y acotacin: se basa en la construccin de las


soluciones al problema mediante un rbol implcito que se recorre
de forma controlada encontrando las mejores soluciones.

Vuelta atrs (backtracking): se construye el espacio de


soluciones del problema en un rbol que se examina
completamente, almacenando las soluciones menos costosas.

Conclusin
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. Un algoritmo es de
carcter general y puede aplicarse a cualquier operacin matemtica
o a cualquier problema.
La formulacin de algoritmos fue uno de los ms grandes adelantos
de la ciencia matemtica ya que a partir de ellos se pudieron resolver
infinidad de problemas.

Bibliografa

Aho, A. The Design and Analysis of Computer Algorithms

Cormen, T. H., Leiserson, C. E., Rivest, R. L. y Stein, C. Introduction to Algorithms


(2nd ed.)

Brassard, G. y P. Bratley. Fundamentos de Algoritmia, (ISBN 848966000X)

Knuth, D. E. The Art of Computer Programming, [quien fue tambin, el creador


del TeX]

Mamber, U. Introduction to Algorithms. A Creative Approach

Sedgewick, R. Algorithms in C (3r ed) (tambin existen versiones en C++ y Java)

Webgrafia

https://es.wikipedia.org/wiki/Algoritmo
http://candyluna.galeon.com/aficiones813476.html
http://definicion.de/algoritmo/
http://ing.unne.edu.ar/pub/informatica/Alg_diag.pdf
http://es.slideshare.net/jecksonloza/introduccin-a-losalgoritmos-y-programacin-1

Potrebbero piacerti anche