You are on page 1of 11

INSTITUTO TECNOLGICO DE CHILPANCINGO GRO.

TRABAJO DE INVESTIGACIN

MATERIA: SOFTWARE EN ING. CIVIL CATEDRTICO: ING. RAMIRO RUIZ SILVA ALMNO: DANNY BARRIOS PLATEADO
GRADO: 1 GRUPO: EM-1

CHILPANCINGO, GRO., A 20 DE SEPTIEMBRE DE 2011

INDICE
INTRODUCCION ............................................................................................... 1 HISTORIA DEL ALGORITMO ............................................................................. 2 ALGORITMO ................................................................................................... 2 TIPOS DE ALGORITMOS ................................................................................... 3 ESTRUCTURAS ALGORITMICAS ........................................................................ 3
SECUENCIALES ............................................................................................... 4 CONDICIONALES ............................................................................................ 5 REPETICIN FILA CONDICIONAL .................................................................... 6

CARACTERISTICAS .............................................................................................. 7 BIBLIOGRAFA ................................................................................................. 9

INTRODUCCION

El desarrollo de algoritmos es un tema fundamental en el diseo de programas por lo cual el alumno debe tener buenas bases que le sirvan para poder desarrollar de manera fcil y rpida sus programas. Estos apuntes servirn de apoyo a los alumnos del Instituto Tecnolgico de Chilpancingo, en la cual les ser mas fcil desarrollar 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.

HISTORIA DEL ALGORITMO


La palabra algoritmo proviene del nombre del matemtico llamado Abu Abdullah Muhammad bin Musa AlKnwarizmi que vivi entre los siglos VIII y IX cuyo trabajo consisti en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fcil comprensin, de ah que su principal logro no fuera el de crear nuevos teoremas o corrientes de pensamiento, sino el de simplificar la matemtica a punto tal que pudieran ser comprendidas y aplicadas por un mayor nmero de personas. La exposicin clara de cmo reducir el numero de operaciones necesarias en cada calculo aritmtico muestra la intuicin y el poder de abstraccin de AlKnwarizmi y por esa razn, aunque no haya sido l el inventor del primer algoritmo, merece que este concepto este asociado a su nombre. La palabra algoritmo, que originalmente hacia referencia a las reglas de uso de la aritmtica utilizando dgitos rabes evoluciono a la palabra latina algobarismus (derivacin de AlKnwarizmi), la cual cambiaria ms tarde a algoritmo en el siglo XVIII. La palabra ha cambiado de forma que en su definicin se incluye a todos los procedimientos finitos para resolver problemas. Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron, en cuyos escritos se detallaban la mquina analtica en 1842. Por ello que es considerada por muchos como la primera programadora aunque, desde Charles Babbage, nadie complet su mquina, por lo que el algoritmo nunca se implement. La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es as, que exista la errada creencia que no haba problema que no se pudiera resolver y en base a ello, el matemtico David Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en dia gracias a los trabajos de Kurt Gdel, Alonzo Church (calculo lamba), Alan Turing (maquina de turing), se sabe que dentro del universo de problemas, una pequea parte es computable, luego que el objetivo que perseguia David Hilbert no era computable, es lo que se ha denominado como la computabilidad de los algoritmos.

ALGORITMO
Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea y resolver un problema. De un modo ms formal, un algoritmo es una secuencia finita de operaciones realizables, cuya ejecucin da una solucin de un problema en un tiempo finito, usando el procedimiento ms adecuado para la resolucin de un problema.
2

una secuencia de pasos computacionales que transforman una entrada en una salida. Herramienta computacional para resolver un determinado problema, en el cual, debe estar bien especificada la relacin entre la entrada y la salida. El algoritmo efecta dicha relacin. Un algoritmo es un resolvedor de un problema determinado.
Tipos de Algoritmos

Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan clculos numricos para
definir los pasos del proceso.

ESTRUCTURAS ALGORITMICAS

Las estructuras de operacin de programas 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. Estas estructuras se clasifican de acuerdo con su complejidad en: Secuenciales - Asignacin - Entrada - Salida Condicionales - Simples - Mltiples Repeticin fila condicional

Estructuras Secuenciales

La estructura secuencial es aquella en la que una accin (instruccin) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y as sucesivamente hasta el fin del proceso. Una estructura secuencial se representa de la siguiente forma: Inicio Accion1 Accion2 AccionN Fin

- Asignacin: La asignacin 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:

Simples: Consiste en pasar un valor constate a una variable (a=15) Contador: Consiste en usarla como un verificador del numero de veces que se
realiza un proceso (a=a+1)

Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b) De trabajo: Donde puede recibir el resultado de una operacin matemtica que
involucre muchas variables (a=c+b*2/4).

- Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el


Leer a, b Donde a y b son las variables que recibirn los valores

teclado) un valor. Esta operacin se representa en un pseudocodigo como sigue:

Escritura: Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora)


un resultado o mensaje. Este proceso se representa en un pseudocodigo como sigue: Escribe El resultado es:, R
4

Donde El resultado es: es un mensaje que se desea aparezca y R es una variable que contiene un valor.

Estructuras de Condicionales

Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparacin, se siga un curso de accin dentro del programa. Cabe mencionar que la comparacin se puede hacer contra otra variable o contra una constante, segn se necesite. Existen dos tipos bsicos, las simples y las mltiples.

Simples: Las estructuras condicionales simples se les conoce como Tomas de


decisin. Estas tomas de decisin tienen la siguiente forma:

Si <condicin> entonces Accin(es) Fin-si

Dobles: Las estructuras condicionales dobles permiten elegir entre dos

opciones o alternativas posibles en funcin del cumplimiento o no de una determinada condicin. Se representa de la siguiente forma: Si <condicin> entonces Accin(es) si no Accin(es) Fin-si Donde: Si Indica el comando de comparacin Condicin Indica la condicin a evaluar Entonces.. Precede a las acciones a realizar cuando se cumple la condicin

Accin(es) Son las acciones a realizar cuando se cumple o no la condicin si no Precede a las acciones a realizar cuando no se cumple la condicin Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o mas acciones.

Mltiples: Las estructuras de comparacin mltiples, son tomas de decisin

especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma comn es la siguiente: Si <condicin> entonces Accin(es) si no Si <condicin> entonces Accin(es) si no . . Varias condiciones .

Forma General

Casos Variable Op1: Accin(es) Op2: Accin(es) . . OpN: accin Fin-casos

Estructuras Cclicas

Se llaman problemas repetitivos o cclicos a aquellos en cuya solucin es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especifica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en funcin de algn dato dentro del programa).Los ciclos se clasifican en:

Ciclos con un Numero Determinado de Iteraciones (Hacer-Para)

Son aquellos en que el numero de iteraciones se conoce antes de ejecutarse el ciclo. La forma de esta estructura es la siguiente: Hacer para V.C = L.I a L.S VC=LI Accion1 Vc = LS V Accion2 vc=vc+1 .F AccionN Cuerpo del ciclo Fin-para Donde: V.C Variable de control del ciclo L.I Limite inferir L.S Limite superior En este ciclo la variable de control toma el valor inicial del ciclo y el ciclo se repite hasta que la variable de control llegue al limite superior.

Caractersticas:

Las caractersticas fundamentales que debe cumplir todo algoritmo son:


Ser definido: Sin ambigedad, cada paso del algoritmo debe indicar la accin a realizar sin criterios de interpretacin. Ser finito: Un nmero especfico y numerable de pasos debe componer al algoritmo, el cual deber finalizar al completarlos.
7

Tener cero o ms entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende. Tener una o ms salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como nicamente verlos en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programacin que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo. Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada ms ni nada menos que aquello que se requiera para y en su ejecucin.

Pasos para realizar un algoritmo representacin del modelo diseo del algoritmo programacin del algoritmo

Estructura Bsica: inicio datos de entrada procesamiento de los datos datos de salida fin

BIBLIOGRFIA JEAN Paul Tremblay, B. Bunt Richard; "Introduccin a la ciencias de las computadoras (enfoque algoritmico)" Mc Graw Hill JOYANES Aguilar Luis; "Metodologa de la programacin" Mc Graw Hill JOYANES Aguilar Luis; "Problemas de metodologa de la programacin" Mc Graw Hill CORREA Uribe Guillermo; "Desarrollo de algoritmos y sus aplicaciones en Basic, Pascal y C (3. Edicin)" Mc Graw Hill Levine Guillermo; "Introduccin a la computacin y a la programacin estructurada" Mc Graw Hill JOYANES Aguilar Luis; "Fundamentos de programacin, algoritmos y estructura de datos" Mc Graw Hill JOYANES Aguilar Luis, Luis Rodrguez Baena y Matilde Fernndez Azuela; "Fundamentos de programacin, libro de problemas" Mc graw Hill Bores Rosario, Rosales Roman; "Computacin. Metodologa, lgica computacional y programacin" Mc Graw Hill LOZANO Letvin; "Diagramacin y programacin estructurada y libre" Mc Graw Hill LOPEZ Roman Leobardo; "Programacin estructurada (enfoque algoritmico)" Computec

You might also like