La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ALGORITMOS Y PROGRAMAS. OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo.

Presentaciones similares


Presentación del tema: "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:

1 ALGORITMOS Y PROGRAMAS

2 OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo de programas.

3 ALGORITMO Definición  Sucesión finita de pasos no ambiguos que se pueden ejecutar en un tiempo finito.  Grupo finito de operaciones organizadas de manera lógica y ordenada que permite solucionar un determinado problema.  Secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas.

4 ALGORITMO Definición  Para realizar un programa es conveniente el diseño o definición previa del algoritmo.  Los algoritmos son independientes de los lenguajes de programación.  En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje diferente de programación.  El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación

5 ALGORITMO Características  Definido: Si un algoritmo se ejecuta varias veces con las mismas condiciones, el resultado que se obtenga será siempre el mismo.  Finito: Un algoritmo siempre debe terminar después de realizarse un número específico de pasos.  Preciso: Debe indicar claramente y sin ambigüedades cada uno de los pasos y el orden en que se deben realizar.

6 ALGORITMO Tipos de algoritmos  Algoritmos Cuantitativos: Se caracterizan porque en sus pasos o instrucciones se utilizan cálculos numéricos  Algoritmos Cualitativos: Se describen utilizando palabras, no involucra ningún cálculo.

7 Resolución de problemas y el uso del ordenador  El matemático G. Poyla propuso a finales de 1940, una metodología general de resolución de problemas matemáticos, la cual ha sido adaptada para el caso en que se cuente con un ordenador como recurso, la cual se define en 3 etapas. Resolución de un problema Análisis del problema Diseño del algoritmo Programación del algoritmo

8 Resolución de problemas y el uso del ordenador Análisis del Problema  Objetivo: Permitir llegar a una cierta comprensión de la naturaleza del problema.  Pasos:  Definir el problema con precisión.  Especificar los datos de partida necesarios para la resolución del problema.  Especificar la información que debe proporcionarse al resolver el problema.

9 Resolución de problemas y el uso del ordenador Análisis del Problema  Ejemplo:  Elaborar el análisis para obtener el área y la longitud de una circunferencia. r Entradas: Radio del círculo (variable RADIO) Salidas: Superficie del círculo (variable AREA) Circunferencia del círculo (variable CIRCUNFERENCIA) Variables:Radio, Área, Circunferencia Tipo de dato: Real

10 Resolución de problemas y el uso del ordenador Diseño del algoritmo  Un ordenador no tiene la capacidad de pensar y resolver el problema por sí mismo; una vez que el problema ha quedado bien definido debemos plantearnos buscar una secuencia de pasos que lo resuelvan e indiquen al ordenador las instrucciones a ejecutar, es decir, hemos de encontrar un buen algoritmo.  Pasos:  Indicar el orden de realización de cada paso.  Estar definido sin ambigüedad.  Ser finito.

11 Resolución de problemas y el uso del ordenador Diseño del Algoritmo  Ejemplo:  Diseñar el algoritmo para obtener el área y la longitud de una circunferencia. r 1.Lectura, desde el teclado, de los datos necesarios. 2.Cálculo de la longitud. 3.Cálculo de la superficie. 4.Mostrar los resultados en pantalla

12 Resolución de problemas y el uso del ordenador Diseño del algoritmo  Estrategias para el Diseño de algoritmos.  Partición o divide y vencerás:  Dividir un problema grande en unidades pequeñas (módulos) que pueden ser resueltas individualmente.  Ventajas:  Se comprende el problema más fácilmente.  Modificaciones en los módulos son más fáciles.  La comprobación del problema se puede realizar más fácilmente, al poder localizar los posibles fallos con mayor precisión.  Ejemplo: Podemos dividir el problema de limpiar una casa en labores más simples correspondientes a limpiar cada habitación.

13 Resolución de problemas y el uso del ordenador Diseño del algoritmo  Estrategias para el Diseño de algoritmos.  Refinamiento por pasos  Se describe como primer instancia un número reducido de pasos.  Luego al número de pasos identificados inicialmente se los expresa con mayor detalle  En cada nivel de refinamiento hay que considerar dos fases:  Qué hace el módulo.  Cómo lo hace.

14 Resolución de problemas y el uso del ordenador Diseño del algoritmo  Estrategias para el Diseño de algoritmos.  Refinamiento por pasos: Ejemplo  Diseñar un algoritmo que responda a la pregunta: ¿Qué debo hacer para ver la película XYZ? Primer análisis: 1.Ir al cine en donde proyectan la película XYZ 2.Comprar una entrada. 3.Ver la película. 4.Regresar a casa

15 Resolución de problemas y el uso del ordenador Diseño del algoritmo  Estrategias para el Diseño de algoritmos.  Refinamiento por pasos: Ejemplo  Diseñar un algoritmo que responda a la pregunta: ¿Qué debo hacer para ver la película XYZ? Segundo análisis: Inicio Consultar la cartelera de cine Si proyectan XYZ entonces ir al cine correspondiente Si_no proyectan XYZ declarar fracaso del objetivo y terminar Acudir al cine correspondiente Si hay cola entonces ponerse en ella mientras haya personas adelante seguir en la cola Preguntar si quedan entradas Si hay entradas entonces comprar una entrada Si no quedan entradas declara fracaso del objetivo, regresar a casa y terminar.

16 Resolución de problemas y el uso del ordenador Programación del algoritmo  Una vez que el algoritmo está diseñado y representado, se debe pasar a la fase de resolución práctica del problema con el ordenador.  Esta fase se descompone a su vez en las siguientes sub fases:  Codificación del algoritmo en un programa.  Ejecución de un programa.  Comprobación del programa.

17 REPRESENTACIÓN DE ALGORITMOS  Durante el proceso de diseño del algoritmo es preciso disponer de alguna herramienta para describirlo, se necesita disponer de un lenguaje algorítmico con el que reflejar las sucesivas acciones que resuelven el problema y que, además, soporte lo mejor posible el proceso sucesivo de refinamiento en sub problemas.  Así tenemos algunas opciones:  Lenguaje Natural  Ventajas  es comprensible e intuitivo  Desventajas  impreciso

18 REPRESENTACIÓN DE ALGORITMOS PSEUDOCÓDIGO  Es un lenguaje algorítmico que permite representar las construcciones básicas de los lenguajes de programación, pero a su vez, manteniéndose próximo al lenguaje natural.  A pesar de su flexibilidad el pseudocódigo tiene que atenerse a una serie de normas para que los algoritmos construidos resulten legibles, claros y fácilmente codificables, con este fin se le imponen algunas restricciones tales como:  Los identificadores usados han de tener un significado de acuerdo a su contenido.  El conjunto de sentencias debe ser completo, en el sentido de permitir especificar cualquier tarea a realizar con suficiente detalle.  Contener un conjunto de palabras reservadas.

19 REPRESENTACIÓN DE ALGORITMOS PSEUDOCÓDIGO

20  Ventajas:  Podemos centrarnos sobre la lógica del problema olvidándonos de la sintaxis de un lenguaje concreto.  Es fácil modificar el algoritmo descrito.  Es fácil traducir directamente a cualquier lenguaje de programación el algoritmo obtenido.  Desventajas  El principal inconveniente que presenta el uso del pseudocódigo como lenguaje de descripción de algoritmos es la imprecisión.

21 REPRESENTACIÓN DE ALGORITMOS PSEUDOCÓDIGO  Instrucciones  INICIO : Indica el comienzo del algoritmo  FIN : Indica la finalización del algoritmo.  LEER : Se usa para leer un dato del teclado.  ESCRIBIR : Se usa para escribir un dato por pantalla.  SI ENTONES EN OTRO CASO FINSI, donde C es la condición cierta o falsa ASI indica la acción si la condición es cierta SI NO indica la acción si la condición es falsa  MIENTRAS HACER FIN MIENTRAS, donde C es la condición cierta o falsa A es la acción, Indica hacer la acción A mientras la condición C se cumple Se deja de repetir en el momento en que C la condición es falsa.  REPETIR HASTA QUE, donde C es la condición cierta o falsa A es la acción, Indica repetir la acción hasta que la condición sea cierta. Se deja de repetir en el momento en que se hace cierta.

22 REPRESENTACIÓN DE ALGORITMOS PSEUDOCÓDIGO

23 REPRESENTACIÓN DE ALGORITMOS ORGANIGRAMAS – DIAGRAMAS DE FLUJO  Son una herramienta gráfica para descripción de algoritmos.  Un diagrama de flujo consta de una serie de símbolos estándar, que representan las distintas acciones del algoritmo, conectados mediante líneas que indican el orden en el cual deben realizarse las operaciones.  Un diagrama de flujo muestra la lógica del algoritmo, acentuando los pasos individuales y sus interconexiones. Un diagrama de flujo debe reflejar:  El comienzo del programa  Las operaciones que el programa realiza  El orden en que se realizan  El final del programa

24 REPRESENTACIÓN DE ALGORITMOS ORGANIGRAMAS – DIAGRAMAS DE FLUJO  Los símbolos utilizados han sido normalizados por las organizaciones ANSI (American National Standard Institute) y por ISO (International Standard Organization) y son los siguientes:

25 REPRESENTACIÓN DE ALGORITMOS ORGANIGRAMAS – DIAGRAMAS DE FLUJO

26  En la representación es conveniente seguir las siguientes reglas:  El comienzo del programa figurará en la parte superior del diagrama. Los símbolos de comienzo y fin deberán aparecer una única vez.  El flujo de las operaciones será de arriba a abajo y de izquierda a derecha.  Se debe guardar cierta simetría en la representación de bifurcaciones y bucles.  Se evitarán los cruces de líneas de flujo, utilizando conectores.

27 REPRESENTACIÓN DE ALGORITMOS ORGANIGRAMAS – DIAGRAMAS DE FLUJO  Ejemplo: Inicio Leer Radio longitud  2π * Radio Escribir longitud Escribir área Fin


Descargar ppt "ALGORITMOS Y PROGRAMAS. OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo."

Presentaciones similares


Anuncios Google