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

Slides:



Advertisements
Presentaciones similares
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.
Advertisements

Secuencia finita, ordenada y lógica de instrucciones (ó pasos), los cuales permiten realizar una ó varias tareas.
CARRERA: INGENIERIA CIVIL UNI-RUACS
ALGORITMOS.
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
LÓGICA DE PROGRAMACIÓN
Resolución de Problemas Algoritmos y Programación
Introducción a la Estadística Informática
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
Metodología de 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.
Introducción a la Programación
DSUPE Pseudocódigo.
Introducción a la Computación
METODOLOGIA DE LA PROGRAMACION
Matemáticas Discretas y Algoritmos
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
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
Diagramas de procesos Unidad V
Fundamentos de programación
LENGUAJE DE PROGRAMACIÓN
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
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.
Fundamentos de programación Organización de una computadora.
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
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.
Tema 5 Diagramas de flujo Computacion - FA.CE.NA..
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
FUNDAMENTOS DE PROGRAMACION
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ó.
COMPUTO III Ing. Jimmy Ojeda Arnica.
Representación de Algoritmos
TEMA 2: DIAGRAMAS DE FLUJO
Algoritmos y pseudocódigos
Lenguaje Programación
Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente.
Santiago Pachón Pedroza Jesús Arley Bolaños 1002
DEV- C++ ·include <iostream> Int x x=x+2(x)
ALGORITMO QUE ES ??.
COMPLETA LOS ESPACIOS CON LA PALABRA ADECUADA 1.LOS _______________________ SE DEFINEN COMO LA _________________LÓGICA DE _________PARA SOLUCIONAR UN.
Elaboración de algoritmos usando lógica de programación
Daniel Camilo Albarracín torres Christian David Donoso Beltrán 1002.
M.S.C. Ivette Hernández Dávila
Metodología de la programación
TEMA: DISEÑO DE LA SOLUCION INTREGRANTES DE EQUIPO: ERIKA CRUZ MARTINEZ RODOLFO LOPEZ ANOTA LUIS ARMANDO LIÑA QUECHA JOSE FRANCISCO MEZO VARELA LUIS ENRIQUE.
Dirección General de Educación Superior Tecnológica Instituto Tecnológico de Salina Cruz CARRERA INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES.
Algoritmos Programación
* 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
Lenguaje Programación
3. Herramientas de representación de algoritmos
PARCIAL 1 SISTEMA DE TRATAMIENTO DE INFORMACION. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo.
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)
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)
Algorítmica y Programación
David A Salamanca Díaz. DEFINICIÓN  Se define como una serie de pasos organizados que describen el proceso que se debe seguir, para dar solución a un.
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
Algoritmos Computacionales
Informatica I Ing. Nora Costa. Solución de Problemas.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
 El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse conforme vayan apareciendo.  Su análisis como.
Ing. José David Ortiz Salas
Transcripción de la presentación:

ALGORITMOS Y PROGRAMAS

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

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.

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

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.

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.

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

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.

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

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.

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

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.

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.

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

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.

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.

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

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.

REPRESENTACIÓN DE ALGORITMOS PSEUDOCÓDIGO

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

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.

REPRESENTACIÓN DE ALGORITMOS PSEUDOCÓDIGO

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

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:

REPRESENTACIÓN DE ALGORITMOS ORGANIGRAMAS – DIAGRAMAS DE FLUJO

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

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