1. algoritmo

  • Published on
    06-Jul-2015

  • View
    128

  • Download
    3

Embed Size (px)

DESCRIPTION

PROTOTIPO PARA REALIZAR ALGORITMOS

Transcript

<ul><li> 1. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 1 </li></ul><p> 2. Qu es algoritmo? Conjunto de instrucciones organizadas que permite la resolucin de un problema paso a paso. Es un conjunto de acciones o secuencia de operaciones que ejecutadas en un determinado orden resuelven el problema. Existen n algoritmos, hay que coger el ms efectivo. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 2 3. Caractersticas Precisin: Es la indicacin del orden en que deben ejecutarse cada uno de los pasos. Finitud: Es la consecucin del resultado deseado despus de un conjunto de pasos ejecutados. 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). Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 3 4. Pasos Anlisis preliminar o evaluacin del problema: Estudiar el problema en generar y ver que parte nos interesa. Definicin o anlisis del problema: Ver que es lo que entra y que es lo que sale, las posibles condiciones o restricciones. Diseo del algoritmo: Disear la solucin del problema. El programa: Codificacin del programa en un lenguaje de programacin. Ejecucin del programa y la prueba de escritorio: ver si el programa hace lo que queremos. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 4 5. Pseudocdigo? Considerado como un lenguaje falso, el pseudocdigo es un lenguaje intermedio entre nuestro lenguaje y el de programacin, debido a que quien lo utiliza se gua por una serie de normas pero sin llegar a usar una estructura tan rgida como la del lenguaje de programacin. El objetivo al que apunta es que quien lo pone en prctica se centre ms en la solucin del algoritmo o el diseo de un software que en el programa que utiliza para crearlo. Y esto es posible porque es ms fcil de manipular ya que no tiene que tener en mente el lenguaje en s y adems, ms fcil de codificar. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 5 6. Pseudocdigo? Por ejemplo, si alguien tiene que hacer un software con un fin determinado, utiliza un pseudocdigo propio en donde confluyen frases del lenguaje coloquial y algunas palabras de programacin, y una vez que se logra concretar el software, se puede pasar al escaln siguiente que es el de la transformacin al lenguaje de programacin formal que se vaya a utilizar. De esta manera, al ser un lenguaje intermedio, no tiene una composicin estandarizada por lo que no todos los programadores utilizan la misma sintaxis con exactitud. Pero a la vez, como es una herramienta que est un paso previo al lenguaje formal de programacin, es fcil de transformar al que ser ejecutado en la computadora. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 6 7. Tipos de lenguajes algortmicos Semiformales: Las reglas gramaticales y sintcticas se han reducido al mnimo. Formales: Las reglas gramaticales y sintcticas deben ser mucho mas precisas e inequvocas. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 7 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 (pseudocdigo). 8. Diagrama de flujo Representacin grafica del flujo de datos que resolver el problema algortmico. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 8 Pseudocdigo En este ejemplo la representacin es mas precisa y descriptiva para resolver el problema NICIO Edad: Entero ESCRIBA cual es tu edad? Lea Edad SI Edad &gt;=18 entonces ESCRIBA Eres mayor de Edad FINSI FIN 9. Qu es un programa? Un programa es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo slo es capaz de procesar elementos binarios, es decir, una serie de 0s y 1s. Por lo tanto, necesitamos un lenguaje de programacin para escribir de manera legible, es decir, con comandos que el ser humano pueda comprender (por ser similares a su propio lenguaje) los comandos que el equipo deber ejecutar. Estos programas se traducen despus a un lenguaje mquina (en binario) a travs de un compilador. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 9 10. El mtodo de escritura de un programa est muy ligado al lenguaje de programacin elegido, ya que existen muchos tipos distintos. Adems, el compilador debe coincidir con el lenguaje elegido: cada lenguaje de programacin tiene su propio compilador (excepto los lenguajes interpretados). En trminos generales, el programa es un simple archivo de texto (escrito usando un procesador o editor de texto), llamado archivo fuente). El archivo fuente contiene lneas de programa llamadas cdigo fuente. Este archivo fuente, debe compilarse una vez completado. La compilacin se realiza en dos pasos: Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 10 11. El compilador transforma el cdigo fuente en cdigo objeto y lo guarda en un archivo objeto, es decir que traduce el archivo fuente a lenguaje mquina (algunos compiladores tambin crean un archivo en ensamblador, un lenguaje similar al lenguaje mquina ya que posee las funciones bsicas, pero puede ser ledo por los seres humanos. Luego, el compilador llama a un editor de vnculos (o ensamblador) que permite insertar los elementos adicionales (funciones y bibliotecas) a los que hace referencia el programa dentro del archivo final, pero que no se almacenan en el archivo fuente. A continuacin, se crea un archivo ejecutable que contiene todos los elementos requeridos por el programa para funcionar de manera independiente (en Microsoft Windows o MS-DOS este archivo tendr la extensin .exe). Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 11 12. Tipos de programas Fuente: Es el programa escrito por el programador a partir del algoritmo. Objeto: Es el programa obtenido por el ordenador atreves del programa fuente, despus de un proceso de compilacin. Ejecutables o binario: Es el programa obtenido por el ordenador a partir del programa objeto. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 12 A la persona que desarrolla un programa se le llama programador, y no tiene que ser, necesariamente, la misma que la que hace uso de dicho programa. A esta segunda persona se le denomina usuario. De hecho, la mayora de los usuarios no necesitan tener conocimientos avanzados de informtica para utilizar los programas. Por ejemplo, un usuario comn no necesita saber que casi todos los programas se pueden clasificar dentro de tres categoras principales: Software de aplicacin. Software del sistema. Software de red. 13. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 13 Software de aplicacin. El software de Aplicacin es aquel que hace que el computador coopere con el usuario en la realizacin de tareas tpicamente humanas, tales como gestionar una contabilidad o escribir un texto. Software del sistema consiste en programas informticos que sirven para controlar e interactuar con el sistema operativo. Suelen clasificarse en sistema operativo, controladores de dispositivos y programas utilitarios. Software de red. Es el programa que utilizas para manejar y administrar tu red . Un ejemplo clave es Windows Server o Linux Samba, ambos Sistemas Operativos proporcionan SERVICIOS a los dems Nodos de la red. 14. Lenguajes de programacin Es el lenguaje empleado por el programador para dar las instrucciones necesarios que el ordenador debe ejecutar y poder resolver un algoritmo determinado. Es un idioma artificial diseado para expresar computaciones que pueden ser llevadas a cabo por mquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 14 15. Lenguajes de programacin Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 15 Son ejemplos de lenguajes de programacin: php, prolog, ASP, ActionScript, ada, python, pascal, c, basic, JAVA, JavaScript, etc. 16. Tipos de lenguajes Lenguaje maquina: No necesita traduccin, todo se programa en 0 y 1. Los lenguajes de mquina estn escritos en cdigos (cdigo mquina) directamente inteligibles por la mquina (computadora), siendo sus instrucciones cadenas binarias (0 y 1). Lenguaje de mquina hace referencia al lenguaje especfico de una computadora, mientras que cdigo mquina hace referencia al modo en que se escriben los diferentes lenguajes de mquina. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 16 17. Tipos de lenguajes De bajo nivel o ensamblado: Son aquellos en las que las instrucciones son casi idnticas a las de un ordenador. La programacin en un lenguaje de bajo nivel tiene como ventajas una mayor adaptacin al equipo, adems de la posibilidad de obtener la mxima velocidad con el mnimo uso de memoria. Sin embargo tiene importantes inconvenientes, como la imposibilidad de escribir cdigo independiente de la mquina y la mayor dificultad en la programacin y en la comprensin de los programas. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 17 18. Tipos de lenguajes Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 18 De Medio nivel: Son aquellos que, basndose en los juegos de instrucciones disponibles permiten el uso de funciones a nivel aritmtico, pero a nivel lgico dependen de literales en ensamblador. Estos lenguajes estn orientados a procedimientos. Los procedimientos se componen de procesos. La palabra bajo no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la reducida abstraccin entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar controladores de dispositivos. Ejemplos: C, Basic. 19. Tipos de lenguajes Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 19 De Alto nivel: Son lenguajes que utilizan instrucciones prximas al lenguaje humano. Los lenguajes de programacin de alto nivel se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de estar orientados a su ejecucin en las mquinas. Los lenguajes de alto y bajo nivel requieren de conocimientos especficos de programacin y del lenguaje concreto (vocabulario, gramtica y sintaxis) para realizar las secuencias de instrucciones lgicas Ejemplos: C++, Fortran Cobol, Lisp. 20. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 20 21. Compilador Usamos un editor y obtenemos el programa fuente, y el compilador es el que traduce el programa al lenguaje mquina. El compilador internamente ha sido diseado para traducir. El compilador obtiene el programa o el fichero objeto. El compilador tiene que buscar los errores. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 21 Lenguajes compiladores tpicos son: Pascal, FORTRAN, COBOL..., hoy da es posible encontrar tambin versiones de compiladores BASIC y de C. 22. Tienen tres caractersticas: Un nombre que los diferencia del resto. Un tipo que nos determina las operaciones que podemos hacer con ese dato. Un valor que puede variar o no a lo largo de la operacin. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 22 23. Pueden ser Simples: Un elemento (Numricos, lgicos y caracteres) Compuesto: Varios elementos Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 23 24. Acciones Cada uno de los pasos en los que hemos descrito un algoritmo. Las acciones son operaciones elementales que podemos expresar en un algoritmo. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 24 25. Sentencias Es una instruccin que podemos expresar en un lenguaje de programacin. La precisin de la sentencia determina la precisin de la ejecucin del programa. En otras palabras, las sentencias son las acciones expresadas en un lenguaje de programacin. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 25 26. Sentencias En programacin, una sentencia es una lnea de cdigo en algn lenguaje de programacin. Un programa est constituido por mltiples sentencias de programacin, lo que es llamado cdigo fuente. Un algoritmo de programacin est constituido por una o ms sentencias de programacin. Las sentencias de programacin suelen tener algn carcter que determina su final, por lo general es un punto y coma (;) o un punto final (.), y algunas estn separadas simplemente por enters (retorno de carro). Esto depende del lenguaje de programacin que se est empleando. Existen lenguajes que no necesitan un carcter que determine el final de una sentencia. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 26 27. Tipo de sentencias Secuenciales: En la mayora de los lenguajes de descripcin de software, todas las sentencias de asigna miento son de naturaleza secuencial. Esto significa que la ejecucin del programa se llevara a cabo de arriba a abajo, es decir siguiendo el orden en el que se hayan dispuesto dichas sentencias en el programa, por ello es de vital importancia la disposicin de las mismas dentro del cdigo fuente. Selectivas: Son las que permiten condicionar la ejecucin de una o mas sentencias. En programacin, una sentencia condicional es una instruccin o grupo de instrucciones que se pueden ejecutar o no en funcin del valor de una condicin. Los tipos ms conocidos de sentencias condicionales son el SI..ENTONCES (if..then), el SI..ENTONCES..SI NO (if..then..else) y el SEGN (case o switch) Iterativas: Son las que permite conseguir que se ejecuten una o mas veces. Con las sentencias iterativas lo que logramos es iterar un grupo de instrucciones, es decir, ejecutar varias veces el mismo grupo de instrucciones mientras una condicin especificada sea cierta. A estas sentencias tambin se las llama bucles, y las instrucciones que se repiten en un bucle se las denomina el cuerpo del bucle. Lic. Luis Alfonso Rodrguez Especialista en Mantenimiento, Ensamble Y Reparacin de P.C 27 28. Sentencias...</p>