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

ALGORITMOS

Para la palabra algoritmo (del griego y latn, dixit algorithmus y este abrev. del r. cls. isbu lubr, clculo mediante cifras arbigas) existen diversos significados, en su mayora muy similares: Conjunto ordenado y finito de operaciones que permite hallar la solucin de un problema. Descripcin exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento. Mtodo y notacin en las distintas formas del clculo. Descripcin exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento.

La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe alkhowarizmi, nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin a un problema especifico 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

Lenguajes Algortmicos Es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso. Tipos de Lenguajes Algortmicos

Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Grficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo.

Definicin del Problema Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186

Anlisis del Problema Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cul es la informacin que se desea producir (salida) Los mtodos y frmulas que se necesitan para procesar los datos. Una recomendacin muy prctica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados

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

Para que un algoritmo sea funcional debe incluir una serie de datos que le dan sentido a lo que realiza:

Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carcter, tal como `b', un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable. Numricos Simples Lgicos Alfanumricos (string) Tipos de datos Arreglos (Vectores, Matrices)

Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186

Estructurados Registros (Def. por el Archivos usuario) Apuntadores Tipos de Datos Simples

Datos Numricos: Permiten representar valores escalares de forma numrica, esto incluye a los nmeros enteros y los reales. Este tipo de datos permiten realizar operaciones aritmticas comunes. Datos Lgicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparacin entre otros datos (numricos o alfanumricos). Datos Alfanumricos (String): Es una secuencia de caracteres alfanumricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar nmeros como alfanumricos, pero estos pierden su propiedad matemtica, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas.

Las expresiones son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales. Por ejemplo: a+(b + 3)/c Cada expresin toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecucin de las operaciones indicadas. Una expresin consta de operadores y operandos. Segn sea el tipo de datos que manipulan, se clasifican las expresiones en:

Aritmticas Relacinales Lgicas

Operadores y Operandos

Operadores: Son elementos que relacionan de forma diferente, los valores de una o ms variables y/o constantes. Es decir, los operadores nos permiten manipular valores.

Aritmticos Tipos de Operadores Relacinales Lgicos

Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186

Operadores Aritmticos: Los operadores aritmticos permiten la realizacin de operaciones matemticas con los valores (variables y constantes).

Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real. Operando (Operador) Operando Valor (constante o variable) Operadores Aritmticos + Suma - Resta * Multiplicacin / Divisin Mod Modulo (residuo de la divisin entera) Ejemplos: Expresin Resultado 7 / 2 3.5 12 mod 7 5 4 + 2 * 5 14 Prioridad de los Operadores Aritmticos

Todas las expresiones entre parntesis se evalan primero. Las expresiones con parntesis anidados se evalan de dentro a fuera, el parntesis mas interno se evala primero. Dentro de una misma expresin los operadores se evalan en el siguiente orden.

1.- ^ Exponenciacin 2.- *, /, mod Multiplicacin, divisin, modulo. 3.- +, - Suma y resta.

Los operadores en una misma expresin con igual nivel de prioridad se evalan de izquierda a derecha.

Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186

Ejemplos: 4 + 2 * 5 = 14 23 * 2 / 5 = 9.2 46 / 5 = 9.2 3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23 3.5 + 5.09 - 14.0 / 40 = 5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09 2.1 * (1.5 + 3.0 * 4.1) = 28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98 Operadores Relacinales:

Se utilizan para establecer una relacin entre dos valores. Compara estos valores entre si y esta comparacin produce un resultado de certeza o falsedad (verdadero o falso). Los operadores relacinales comparan valores del mismo tipo (numricos o cadenas) Tienen el mismo nivel de prioridad en su evaluacin. Los operadores relacinales tiene menor prioridad que los aritmticos.

Operadores Relacinales > Mayor que < Menor que > = Mayor o igual que < = Menor o igual que < > Diferente = Igual Ejemplos: Si a = 10 b = 20 c = 30 a + b > c Falso a - b < c Verdadero a - b = c Falso a * b < > c Verdadero Ejemplos no lgicos: a<b<c 10 < 20 < 30 T < 30 (no es lgico porque tiene diferentes operandos) Operadores Lgicos:

Estos operadores se utilizan para establecer relaciones entre valores lgicos.

Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186

Estos valores pueden ser resultado de una expresin relacional.

Operadores Lgicos And Y Or O Not Negacin Operador And Operando1 Operador Operando2 Resultado T AND T T TFF FTF FFF Operador Or Operando1 Operador Operando2 Resultado T OR T T TFT FTT FFF Operador Not Operando Resultado TF FT Ejemplos: (a < b) and (b < c) (10<20) and (20<30) T and T T Prioridad de los Operadores Lgicos Not And Or Prioridad de los Operadores en General 1.- ( ) 2.- ^ 3.- *, /, Mod, Not

Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186

4.- +, -, And 5.- >, <, > =, < =, < >, =, Or Ejemplo: a = 10 b = 12 c = 13 d =10 ((a > b)or(a < c)) and ((a = c) or (a > = b)) FTFF TF F

Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186

Diagrama de Flujo Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede decir que es la representacin detallada en forma grfica de como deben realizarse los pasos en la computadora para producir resultados. Esta representacin grfica se da cuando varios smbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante lneas que indican el orden en que se deben ejecutar los procesos. Los smbolos utilizados han sido normalizados por el instituto norteamericano de normalizacin (ANSI). SMBOLO DESCRIPCIN

Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186

Reglas Bsicas 1. Todos los smbolos han de estar conectados 2. A un smbolo de proceso pueden llegarle varias lneas 3. A un smbolo de decisin pueden llegarle varias lneas, pero slo saldrn dos. 4. A un smbolo de inicio nunca le llegan lneas. 5. De un smbolo de fin no parte ninguna lnea.

Recomendaciones para el diseo de Diagramas de Flujo


Se deben se usar solamente lneas de flujo horizontales y/o verticales. Se debe evitar el cruce de lneas utilizando los conectores. Se deben usar conectores solo cuando sea necesario. No deben quedar lneas de flujo son conectar. Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando el uso de muchas palabras

Ejemplos: 1. Hacer el diagrama de flujo para sumar dos nmeros ledos por teclado y escribir el resultado.

Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186

Leemos el primer nmero y lo dejamos en A Leemos el segundo nmero y lo dejamos en B Sumamos A y B, y dejamos el resultado en C Escribimos C

2. La sucesin de Fibonacci se define de la siguiente forma: a1=1, a2=1 y an=an1+an-2 para n>2, es decir, los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores, los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ... Hacer un diagrama de flujo para calcular el N-simo trmino de la sucesin.

Dado N, el proceso es el siguiente: - si N2 se escribe directamente 1 y se acaba. - en otro caso se guardan en A y B los 2 ltimos (al principio 1) y se suman, pasando despus a llamar A al antiguo B, y B a la suma. Se decrementa N y cuando valga 2, en B tenemos lo que queremos. (1) Leemos N, supongamos N=4. (2) N2? NO (3) A=1 (4) B=1 (5) C=A+B=1+1=2
Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186

(6) A=B=1 (7) B=C=2 (8) N=N-1=4-1=3 (9) N=2? NO (5) C=A+B=1+2=3 (6) A=B=2 (7) B=C=3 (8) N=N-1=3-1=2 (9) N=2? SI (10) Escribimos B, es decir 3.

Rosario Ivonne Sosa Lorenzo Ing. Civil Grupo CE No. de Control: 11160186