120 likes | 353 Views
ALGORITMO. POR: MÓNICA MARÍA RÚA BLANDÓN. ¿ Qué es algoritmo?. Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de algorítmica y programación, todas ellas muy similares :
E N D
ALGORITMO POR: MÓNICA MARÍA RÚA BLANDÓN
¿Qué es algoritmo? • Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de algorítmica y programación, todas ellas muy similares: 1. Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]
¿Qué es algoritmo? 2. Descripción de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomina léxico [Pierre Scholl, 1988]. 3. Un algoritmoes un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004].
Representación de los algoritmos Hay distintos métodos de representar los algoritmos, estos son: • Texto: Se usa el lenguaje común para describir el algoritmo • Pseudocódigo: este tipo de representación mezcla el lenguaje de programación con un idioma, ya sea español, ingles o cualquier otro, se puede definir como un lenguaje de especificación de algoritmos. Es la representación narrativa de los pasos que debe de seguir un algoritmo. Este método es mas compacto, mas fácil de escribir y mas fácil de transcribir a un lenguaje de programación que el diagrama de flujo. • Diagrama de flujo: son herramientas graficas para representar algoritmos. esta compuesto por símbolos, como: rectángulos rombos, cuadrados, etc., unidos por flechas, estos símbolos representan acciones y orden en como se realizan estas. Es decir, los diagramas de flujo son diagramas que emplean símbolos gráficos para representar algoritmos.
Representación de los algoritmos • Diagrama de Nassi-Schneiderman: También conocido como diagrama de Chapín, es un método se representación de algoritmos que combina la descripción textual con la descripción grafica, es como una combinación del Pseudocódigo con el diagrama de flujo. Por lo general todo lo que se puede representar en un diagrama de flujo se puede representar en este tipo de diagrama. Este tipo de representación cuenta con un conjunto limitado de símbolos para representar los pasos del algoritmo. El diagrama Nassi-Shneiderman refleja la descomposición del problema en una forma simple usando cajas anidadas para representar cada uno de los sub-problemas. • Nivel de implementación: consiste en expresar un algoritmo mediante una maquinaria, un programa de computadora o algún objeto que realice las acciones planteadas por el algoritmo en cuestión. En general, la implementación es el objetivo de diseñar un algoritmo (pero no siempre).
Operadores relacionales en pseudocódigos Los tipos de operadores son: • Aritméticos:son análogas a las fórmulas matemáticas, se usan para variables numéricas. Estos son los operadores usados:
Operadores relacionales en pseudocódigos • Relacionales: pueden comparar dos valores, mediante un símbolo. Estos son los operadores usados: • Lógicos: combina condiciones, según el tipo de operador se deberá cumplir una u otra función. Estos son los operadores usados: • Lógicas: solo pueden dar dos valores true o false. Pueden ser:
Clases de algoritmos • Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Son todos aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema cualquier. EJEMPLO: PROBLEMA: Cambiar la rueda pinchada de un automóvil teniendo un gato mecánico en buen estado, una rueda de reemplazo y una llave inglesa. InicioPASO 1. Aflojar los tornillos de la rueda pinchada con la llave inglesa.PASO 2. Ubicar el gato mecánico en su sitio.PASO 3. Levantar el gato hasta que la rueda pinchada pueda girar libremente.PASO 4. Quitar los tornillos y la rueda pinchada.PASO 5. Poner rueda de repuesto y los tornillos.PASO 6. Bajar el gato hasta que se pueda liberar.PASO 7. Sacar el gato de su sitio.PASO 8. Apretar los tornillos con la llave inglesa.Fin
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Son aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio. EJEMPLO: Diseñe un algoritmo que permita hallar la suma y el promedio de tres números: ENTRADA: Número 1-2-3 PROCESO: Sumar los 3 números y calcular su promedio dividiendo por 3. SALIDAS: Suma y Promedio
Operadores para expresiones lógicas • Una expresión lógica es aquella que sólo puede devolver dos valores (Verdadero o Falso). Los valores que pueden aparecer en una expresión lógica son de 2 tipos: lógicos y relacionales. • Operadores Relacionales: • Los operadores de igualdad están predefinidos para todos los tipos no limitados. Sea T un tipo con estas características: • function "=" (Left, Right : T) returnBooleanfunction "/="(Left, Right : T) returnBoolean • Los operadores de ordenación están predefinidos para todos los tipos escalares y los arrays de elementos discretos. Sea T un tipo con estas características: • function "<" (Left, Right : T) returnBooleanfunction "<="(Left, Right : T) returnBooleanfunction ">" (Left, Right : T) returnBooleanfunction ">="(Left, Right : T) returnBoolean • Operadores lógicos: Están predefinidos para cualquier tipo, T, que designe un booleano, modular o un arraymonodimensional de componentes booleanos: function "and"(Left, Right : T) return Tfunction "or" (Left, Right : T) return Tfunction "xor"(Left, Right : T) returnT Ejemplo de uso en expresiones (sean A, B y C de tipo T): if A and B then ...C := A or B;return (A xor B);
PASOS PARA ELABORAR UN ALGORITMO 1. Analizar el problema • que se nos esta planteando. En este análisis hay que identificar cuales son los Datos de salida, es decir, los resultados que debe de arrojar nuestro algoritmo; identificar cuales son los datosde entradanecesarios para lograr los resultados esperados, es decir, los datos que nos tiene que dar el usuario; identificar los procesosa realizar con los datos de entrada para obtener los datos de salida, en otras palabras las expresiones a calcular; y en caso de ser necesario identificar los datos que permanecen constantesdurante todo el proceso o algoritmo. 2.Diseñar el Algoritmo • en alguna de las tres técnicas algorítmicas conocidas, pero en estos casos serán todas. 3.Probar el algoritmo • para evitar un posible error lógico, para local se hace una corrida de escritorio, lo cual significa dar valores ficticios a las variables y checar los resultados.
Fuentes de consulta • http://es.scribd.com/doc/16164434/Algoritmo • http://www.buenastareas.com/ensayos/Representacion-De-Algoritmos/15591.html • http://www.rodolfoquispe.org/blog/que-es-un-algoritmo.php • http://www.discoduroderoer.es/operadores-pseudocodigo/ • http://informatica-umg-vn.blogspot.com/2011/07/tipos-de-algoritmos-cualitativos-son_22.html • http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/modulo1/cap_02/leccion103.htm • http://es.scribd.com/doc/51894661/PASOS-A-SEGUIR-PARA-DESARROLLAR-UN-ALGORITMO