Sei sulla pagina 1di 16

Ao de la Diversificacin Productiva y del

Fortalecimiento de la Educacin

NOMBRES Y APELLIDOS

: Juan Alberto Tenorio Garca


Pierr Alexis Aguilar Gonzales
Jorge Dvila Gonzales
Herman Christian Coral Gonzales

Docente

: Carlos Pinedo

CICLO

:I

CARRERA

: Computo e Informtica

Banda de Shilcayo, 18 de Marzo del 2015

DEDICATORIA
Dedicamos el presente trabajo a DIOS por la sabidura e inteligencia que nos
otorga y por permitirnos concluir este trabajo satisfactoriamente.
A nuestros padres por el apoyo incondicional que nos brindan da a da.

AGRADECIMIENTO
A todas aquellas personas con sed de conocimiento y deseos de superacin.
Agradecemos en primer lugar, al ser Supremo, nico dueo de todo saber y
verdad, por iluminarnos durante este trabajo y por permitirnos finalizarlo con
xito; y en segundo lugar, pero no menos importante, a nuestros queridos
padres, por su apoyo incondicional y el esfuerzo diario que realizan por
brindarnos una buena educacin.
Los esfuerzos mayores, por ms individuales que parezcan, siempre estn
acompaados de apoyos imprescindibles para lograr concretarlos.

INICIO

CARAPTULA.....................................................................................1
DEDICATORIA..................................................................................2
AGRADECIMIENTO..........................................................................2
INICIO...............................................................................................3
INTRODUCCION..............................................................................4

OBJETIVOS......................................................................................5
RESEA HISTORICA.......................................................................6
GENERALIDADES............................................................................6
CARACTERSTICAS DE LOS ALGORITMOS:.................................7
REPRESENTACION DE UN ALGORITMO.......................................8
ESTRUCTURAS SECUENCIALES...................................................9
ESTRUCTURAS ALGORTMICAS..................................................10
CONCLUSIN................................................................................14
BIBLIOGRAFIA...............................................................................14
ANEXOS.........................................................................................15

INTRODUCCION

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.

OBJETIVOS

Objetivo General:

Posibilitar la estudiante alcanzar una visin sistemtica de lo que


conocemos sobre Los Algoritmos Computacionales.

Objetivos 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.)

RESEA HISTORICA
Un algoritmo es un conjunto de operaciones y procedimientos que deben
seguirse para resolver un problema. La palabra algoritmo se deriva del nombre
latinizado del gran Matemtico rabe Mohamed Ibn Al Kow Rizmi, el cual
escribi sobre los aos 800 y 825 su obra Quitad Al Mugabala, donde se
recoga el sistema de numeracin hind y el concepto del cero. Fue Fibinacci,
el que tradujo la obra al latn y el inicio con la palabra: Algoritmi Dicit.
El lenguaje algortmico es aquel por medio al cual se realiza un anlisis previo
del problema a resolver y encontrar un mtodo que permita resolverlo. El
conjunto de todas las operaciones a realizar y e orden en que se deben
efectuarse,
se
le
denomina
algoritmo.
Es un mtodo para resolver un problema mediante una serie de datos precisos,
definidos y finitos.

GENERALIDADES
El programador de computadoras es ante que nada una persona que resuelve
problemas, por lo que para llegar a ser un programador eficaz se necesita
aprender a resolver problemas de un modo riguroso y sistemtico. A

la metodologa necesaria para resolver problemas mediante programas se


denomina Metodologa de la Programacin. El eje central de esta metodologa
es
el
concepto,
ya
tratado,
de
algoritmo.
Un algoritmo es un mtodo para resolver un problema. Aunque la
popularizacin del trmino ha llegado con el advenimiento de la era informtica,
algoritmo proviene de Mohammed al-Khowarizmi, matemtico persa que vivi
durante el siglo IX y alcanzo gran reputacin por el enunciado de las reglas
para sumar, restar, multiplicar y dividir nmeros decimales; la traduccin al latn
del apellido de la palabra algorismus derivo posteriormente en algoritmo.
Euclides, el gran matemtico griego (del siglo IV antes de Cristo) que invento
un mtodo para encontrar el mximo comn divisor de dos nmeros, se
considera con Al-Khowarizmi el otro gran padre de la algoritmia (ciencia que
trata
de
los
algoritmos).
El profesor Niklaus Wirth, inventor de Pascal, Modula-2 y Oberon, titulo uno de
sus ms famosos libros, Algoritmos + Estructuras de Datos = Programas,
significndonos que solo se puede llegar a realizar un buen programa con el
diseo de un algoritmo y una correcta estructura de datos. Esta ecuacin ser
de una de las hiptesis fundamentales consideradas en esta obra.
La resolucin de un problema exige el diseo de un algoritmo que resuelva el
problema
propuesto.
Los pasos para la resolucin de un problema son:
1.
Diseo de algoritmo, que describe la secuencia ordenada de pasos que
conducen a la solucin de un problema dado. (Anlisis del problema y
desarrollo del algoritmo).
2.
3.

Expresar el algoritmo como un programa de lenguaje de programacin


adecuado. (Fase de codificacin.)
Ejecucin y validacin del programa por la computadora.

Para llegar a la realizacin de un programa es necesario el diseo previo de


algoritmo, de modo que sin algoritmo no puede existir un programa.
Los algoritmos son independientes tanto del lenguaje de programacin en que
se expresan como de la computadora que lo ejecuta. En cada problema el
algoritmo se puede expresar en un lenguaje diferente de programacin y
ejecutarse en una computadora distinta; sin embargo, el algoritmo ser siempre
el mismo. As, por ejemplo, en una analoga con la vida diaria, una receta de un
plato de cocina se puede expresar enespaol, ingles o francs, pero cualquiera
que sea el lenguaje, los pasos para la elaboracin del plato se realizaran sin
importar
el
idioma
del
cocinero.
En la ciencia de la computacin y en la programacin, los algoritmos son ms
importantes que los lenguajes de programacin o las computadoras. Un
lenguaje de programacin es tan solo un medio para expresar un algoritmo y
una computadora es solo un procesador para ejecutarlo. Tanto el lenguaje de
programacin como la computadora son los medios para obtener un fin:
conseguir que el algoritmo se ejecute y se efecte elproceso correspondiente.
Dada la importancia del algoritmo en la ciencia de la computacin, un aspecto
muy importante ser el diseo de algoritmos. El diseo de la mayora de los
algoritmos requiere creatividad y conocimientos profundos de la tcnica de la

programacin. En esencia, la solucin de un problema se puede expresar


mediante un algoritmo.

CARACTERSTICAS DE LOS ALGORITMOS:


Las caractersticas fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realizacin de cada


paso.

Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se


debe obtener el mismo resultado cada vez.

Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar


en algn momento; o sea, debe tener un numero finito de pasos.

La definicin de un algoritmo debe definir tres partes: Entrada, Proceso y


Salida. En el algoritmo de receta de cocina citado anteriormente se tendr:
Entrada: ingrediente y utensilios empleados.
Proceso: elaboracin de la receta en la cocina.
Salida: terminacin del plato (por ejemplo, cordero).
Ejemplo de Algoritmo:
Un cliente ejecuta un pedido a una fbrica. Esta examina en su banco de datos
la ficha del cliente; si el cliente es solvente entonces la empresa acepta el
pedido; en caso contrario rechazara el pedido. Redactar el algoritmo
correspondiente.
Los pasos del algoritmo son:
1. inicio
2. leer el pedido
3. examinar la ficha del cliente
4. si el cliente es solvente aceptar pedido; en caso contrario, rechazar
pedido
5. fin

REPRESENTACION DE UN ALGORITMO:
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al
lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de
programacin entre otros. Las descripciones en lenguaje natural tienden a ser
ambiguas y extensas. El usar pseudocdigo y diagramas de flujo evita muchas
ambigedades del lenguaje natural. Dichas expresiones son formas ms
estructuradas para representar algoritmos; no obstante, se mantienen
independientes de un lenguaje de programacin especfico.

La descripcin de un algoritmo usualmente se hace en tres niveles:


1. .Descripcin de alto nivel. Se establece el problema, se selecciona un
modelo matemtico y se explica el algoritmo de manera verbal,
posiblemente con ilustraciones y omitiendo detalles.
2. .Descripcin formal. Se usa pseudocdigo para describir la secuencia
de pasos que encuentran la solucin.
3. .Implementacin. Se muestra el algoritmo expresado en un lenguaje de
programacin especfico o algn objeto capaz de llevar a cabo
instrucciones.
Tambin es posible incluir un teorema que demuestre que el algoritmo es
correcto, un anlisis de complejidad o ambos.
Los algoritmos pueden ser creados de dos formas:
1) Seudocdigo.- Es un conjunto pequeo y claro de instrucciones; en
secuencia, que permite llevar a cabo una tarea.
2) Diagrama de flujo.- Es la representacin de la secuencia, a travs de
smbolos, de la tarea que se va a realizar.
Un ejemplo de algoritmo es el que realizamos para cambiar una llanta a un
automvil:
Inicio
Aflojar tornillos de las llantas
Levantar el coche con el gato
Sacar los tornillos de las llantas
Quitar la llanta
Poner la llanta de repuesto
Poner los tornillos
Bajar el gato
Apretar los tornillos
Fin

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*2/4).

Un ejemplo de estructura secuencial, como obtener la rea de un tringulo:

Inicio
...
float b, h, a;
printf("Diga la base");
scanf("%f", &b);
printf("Diga la altura");
scanf("%f", &h);
a = (b*h)/2;
printf("El rea del tringulo es %f", a)
...
Fin

ESTRUCTURAS ALGORTMICAS
Son un grupo de formas de trabajo que permiten mediante la manipulacin de
variables,realizar ciertos procesos especficos que nos lleven a la solucin de
problemas.
Se clasifican en:

Secuenciales:
Son aquellos en que una accin sigue a otra en secuencia. Sus componentes
son:

Asignacin: es el paso de valores o resultados a una zona de la memoria,


esta zona sera reconocida con el nombre de la variable que recibe el valor.

Entrada: consiste en recibir un valor o un dato, por medio de algun dispositivo


de entrada.

Salida: se manda el resultado o mensaje, por medio de algun dispositivo de


salida del computador.
Condicionales:
Son aquellos que permiten comparar una variable contra otro valor, se utilizan
para tomar decisiones lgicas, existen tres tipos:

Simples: Se ejecuta una determinada accin cuando se cumple determinada


condicin.
Ejemplo:

si (condicin) entonces
(accin)
fin si

Dobles: Son aquellos que permiten elegir entre dos opciones o alternativas
posibles.
Ejemplo:
Si < condicin > entonces
< accin uno >
si_no
<accin dos>
fin_si

Mltiples: son aquellos que permiten elegir cuando hay ms de dos elecciones
o alternativas posibles.
Ejemplo:
si < condicin > entonces
< instruccin >
sino
si < condicin 2>entonces
< instruccin >
sino
.
.
fin si

Cclicas:
Son aquellos tipos de estructura que repiten una secuencia de instrucciones un
nmero determinado de veces, para encontrar la solucin a un problema, estas
son denominados como bucles, entre los cuales encontramos:

para: en esta se conoce el nmero de iteraciones o veces que se repite


la accin, antes de iniciar la ejecucin del ciclo.

Mientras que: este se repite un nmero determinado de veces, para esto


la instruccin se acompaa de una condicin, la cual debe cumplirse para
seguir la ejecucin del ciclo, de lo contrario este se termina.

Repita- hasta: este repite un proceso una cantidad de veces, determinada por
un condicional, que lo ejecuta hasta que la condicional se cumpla.
Una caracterstica importante de esta estructura es que permite realizar el
proceso cuando menos una vez, ya que la condicin se evala al final del
proceso.

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.
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.

BIBLIOGRAFIA

http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml
http://es.wikipedia.org/wiki/Algoritmo#Estructuras_secuenciales
http://algoritmosextremos.blogspot.com/2012/02/estructurasalgoritmicas.html
http://www.monografias.com/trabajos/algoritmo/algoritmo.shtml

ANEXOS

Potrebbero piacerti anche