Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.

Slides:



Advertisements
Presentaciones similares
Algoritmos y Programas
Advertisements

Fundamentos de Diseño de Software INFT.1
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
CARRERA: INGENIERIA CIVIL UNI-RUACS
ALGORITMOS.
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
DESARROLLO DE PROGRAMAS
Resolución de Problemas Algoritmos y Programación
Metodología de la Programación
Ing. Esp. Ricardo Cujar. El computador: es una máquina que permite hacer tareas aritmético y lógicas de una manera fácil, consta de software y hardware.
Técnico en programación de Software
Ciclo de desarrollo del software
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Metodología de la Programación
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
METODOLOGIA DE LA PROGRAMACION
IINTRODUCCION A LA CIENCIA DE LA COMPUTACION Y A LA PROGRAMACION
Matemáticas Discretas y Algoritmos
ALGORITMIA.
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Fundamentos de Programación
LOGICA DE PROGRAMACION
Proceso de información en la computadora
FORMULACIÓN DE ALGORITMOS
Fundamentos de programación
LENGUAJES DE PROGRAMACIÓN
LENGUAJE DE PROGRAMACIÓN
Fundamentos de programación Organización de una computadora.
Comunicación y Multimedia
Juego de Preguntas y Respuestas
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
TEMAS PRINCIPALES. ALGORITMOS. CONCEPTOS El algoritmo es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
Metodología para solución de problemas
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Algoritmo Ing. Maria Rosana Heredia
Metodología para la construcción de programas
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Algoritmos y pseudocódigos
Introducción a los programas
ACTIVIDAD 5 25 pts Individual
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
TÉCNICAS DE DISEÑO para la solución de un problema.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
ALGORITMO QUE ES ??.
Elaboración de algoritmos usando lógica de programación
ALGORITMO.
ING. JORGE OSPINA CUN, FEBRERO DE 2013 Programación procedimental y estructurada.
Daniel Camilo Albarracín torres Christian David Donoso Beltrán 1002.
Presente un cuestionario con los aspectos mas importantes sobre los
M.S.C. Ivette Hernández Dávila
Metodología de la programación
Desarrollo de lógica algorítmica.
Bases Metodológicas de la Programación
Lic. Carla Aguirre Montalvo
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Lenguaje Programación
Ciclo de desarrollo del software
3. Herramientas de representación de algoritmos
TEMA 4: MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
PARCIAL 1 Introducción a los programas. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo griego)
Fundamentos de Programación Unidad I Conceptos Básicos.
INFORMÁTICA II TEMA: DISEÑA Y ELABORA ALGORITMOS DOCENTE: MARÍA DOLORES GARCÍA PONCE CAMPUS TONALÁ JALISCO.
Algoritmos Computacionales
Clase 1.  Un programador es aquella persona que escribe, depura y mantiene el código fuente de un programa informático, es decir, del conjunto de instrucciones.
 El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse conforme vayan apareciendo.  Su análisis como.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
ALGORITMOS Y PROGRAMAS. OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo.
Transcripción de la presentación:

Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con la computadora además de lo anterior también podemos diseñar soluciones a la medida, de problemas específicos que se nos presenten que requieran de operaciones matemáticas complejas y/o repetitivas, o requieren del manejo de un gran volumen de datos. El diseño de soluciones a la medida de nuestros problemas, requiere de una metodología. A las soluciones creadas por computadora se les conoce como programas que son una serie de instrucciones que realiza la computadora sobre un grupo de datos específicos para llegar al resultado esperado, con. Para poder realizar programas, además de conocer la metodología mencionada, también debemos de conocer, de manera específica las funciones que puede realizar la computadora y las formas en que se pueden manejar los elementos que hay en la misma.

Diseño de algoritmos Programa: Es el conjunto de instrucciones escritas de algún lenguaje de programación y que ejecutadas secuencialmente resuelven un problema especifico. Lenguajes de Programación: Es un conjunto de símbolos, caracteres y reglas (programas) que le permiten a las personas comunicarse con la computadora. Los lenguajes de programación tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada/salida, calculo, manipulación de textos, lógica/comparación y almacenamiento/recuperación. Lenguajes de programación de alto nivel: (TurboC, BASIC, pascal, cobol, frotran, etc.) son aquellos en los que las instrucciones son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que facilita la escritura y comprensión del programa. Datos de entrada Datos de salida Proceso Proceso de información en la computadora

Diseño de algoritmos Algoritmo: es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. Algoritmos Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Algoritmos Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Lenguajes Algorítmicos: Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).

Diseño de algoritmos Metodología para la solución de problemas por medio de computadora 1.Definición del Problema 2.Análisis del Problema: Definir los datos de entrada. Definir cual es la información que se desea producir (salida) Definir los métodos y fórmulas que se necesitan para procesar los datos. 3.Diseño del Algoritmo Debe tener un punto particular de inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema. Debe ser finito en tamaño y tiempo de ejecución.

Diseño de algoritmos 4.Codificación 5.Prueba y Depuración 6.Documentación  Documentación Interna  Documentación Externa Descripción del Problema Nombre del Autor Algoritmo (diagrama de flujo o pseudocodigo) Diccionario de Datos Código Fuente (programa)  Manual del Usuario 7.Mantenimiento

Diseño de algoritmos

Identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que nos permite accesar a su contenido. Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco. Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primer carácter. La longitud de identificadores puede ser de hasta 8 caracteres.

Diseño de algoritmos Constante: es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Variable: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato, su contenido puede cambia durante la ejecución del programa. Es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo.

Técnicas de diseño Top down Consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema. Efectuando una relación entre las etapas de la estructuración de forma que un nivel y su inmediato inferior se relacionen mediante entradas y salidas de información. Es decir consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa. Sus ventajas son: Simplificación del problema dividiendolo en subprogramas. Los diferentes subprogramas pueden ser programadas de modo independiente e incluso por diferentes personas. El programa final queda estructurado en forma de bloque o módulos lo que hace más sencilla su lectura y mantenimiento.

Técnicas de diseño Bottom Up El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse conforme vayan apareciendo,su análisis como sistema y su codificación, o bien, la adquisición de paquetes de software para satisfacer el problema inmediato. Cuando la programación se realiza internamente y haciendo un enfoque ascendente, es difícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido. Los problemas de integración entre los subsistemas son sumamente costosos y dificil de establecer la fecha límite para la integración total del sistema por la corrección de delicadas interfaces, que en un principio, se ignoran. Limitaciones del enfoque ascendente: Duplicación de esfuerzos para accesar el software y mas aun al introducir los datos. Se introducen al sistema muchos datos carentes de valor. Es dificil la consideración de los objetivos globales de la organización y en consecuencia no se satisfacen.

Técnicas para la formulación de algoritmos Diagrama de Flujo: flujo es la representación gráfica de un algoritmo, Es decir, es la representación en forma gráfica de los pasos que la computadora debe realizarse para producir los resultados deseados. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI).

Técnicas para la formulación de algoritmos Diagrama de Flujo: flujo es la representación gráfica de un algoritmo, Es decir, es la representación en forma gráfica de los pasos que la computadora debe realizarse para producir los resultados deseados. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI) Pseudocódigo: Mezcla de lenguaje de programación y español (o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza palabras que indican el proceso a realizary sus Ventajas son: Ocupa menos espacio en una hoja de papel Permite representar en forma fácil operaciones repetitivas complejas Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de programación. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación..

Estructuras Algoritmicas Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:

Estructuras Algoritmicas