Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

Documentos relacionados
M.S.C. Elvia Cristina Márquez Salgado. Unidad 1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

TEMA2:LAS HERRAMIENTAS DE PROGRAMACION

Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se

Fundamentos de programación. Organización de una computadora

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

INFOTECH. CURSO Excel Advanced Macros MÓDULO 2. Fundamentos de programación

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

Razonamiento algorítmico. Analizar problemas y generar una solución algorítmica

Algoritmos y la Resolución de problemas

Diseño Estructurado de Algoritmos

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

[TEMA #2. ETAPAS Y TÉCNICAS PARA EL DESARROLLO DE PROBLEMAS CON AYUDA DEL COMPUTADOR.]

ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I. Prof.

Introducción a los Algoritmos. Mtro. Manuel Suárez Gutiérrez

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

COLEGIO CEDID CIUDAD BOLIVAR TECNOLOGIA E INFORMATICA

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

CURSO PROGRAMACIÓN BÁSICA. SEMANA 4 El diseño de un programa

Algoritmos. Fundamentos de Programación

La resolución de un problema

PRESENTACIÓN DEL ALGORITMO

Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora

M.S.C. Elvia Cristina Márquez Salgado. Unidad 1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS


Acción que el procesador puede ejecutar sin necesidad de información suplementaria

7/1/18. Algoritmos RESOLVIENDO PROBLEMAS. Libro en línea. Cuál es el objetivo del libro? Ing. Roberto Martínez Román -

Programación Estructurada

CIENCIA DE LA COMPUTACION

Algoritmo. Programa. Lenguaje algorítmico

TEMA 1: Algoritmos y programas

Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora.

El diseño de un programa Jhon Jairo Padilla Aguilar, PhD.

Ejemplo de análisis y diseño de un algoritmo: Cálculo del factorial de un número

ALGORITMOS y DIAGRAMAS DE FLUJO Programa Desarrolladoras de Software. ING. CIP EDGAR CRUZ

Tema II: Metodología para la construcción de programas

Prof. María Alejandra Quintero. Informática Año

INSTITUTO TECNOLÓGICO

Introducción a los Algoritmos. Mtro. Manuel Suárez Gutiérrez

Programación de Ordenadores. Dept. Ciencias de la Computación e I.A. Universidad de Granada

PROGRAMACION DE COMPUTADORES I

ESTRUCTURAS ALGORITMICAS

Instituto José Manuel Estrada - Villa de Soto. Asignatura: Desarrollo de Soluciones Informáticas. Curso: 5to I. Docente: Contreras, María Elena

Diseño Estructurado de Algoritmos

CONTENIDO 1 Diagrama de flujo 2 Pseudocodigo 3 Diagrama estructurado (nassi-schneiderman)

Programación de Ordenadores

Introducción a la programación: Algoritmos

Computación I (CI-2125) Clase 3. Prof. Mireya Morales Primera

La forma general que tiene un condicional (una pregunta) es la siguiente:

Adentrándonos a la Programación

Introducción a la programación: Contenido. Introducción

Tema 3: Resolución de problemas con computadoras 2014

Introducción a la programación

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

ESTRUCTURA DE ASIGNACIÓN

Algoritmos. Libro en línea 3/8/18. Ing. Roberto Martínez Román - 1 RESOLVIENDO PROBLEMAS. Cuál es el objetivo del libro?

Presentación Electrónica

Fundamentos de Informática 3. Construcción de Software

SECUENCIA DIDÁCTICA. Módulo IV Competencia de Módulo: Competencia de curso:

Diagramas de flujo. ISCT. Luis Antonio Mancilla Aguilar

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

INTRODUCCION A LA PROGRAMACION (C.U.) PROGRAMACION (T.I.G.)

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

Conceptos. Generales ALGORITMOS

Fundamentos de Programación. Resolución de Problemas y Diseño de Programas. Fundamentos de Programación. Página 0 de 27

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Titulo de hoy 25/09/2017 COLEGIO SAN ANTONIO MARIA CLARET 1

Principios de Algoritmia

Guía práctica de estudio 04: Diagramas de flujo

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

INSTITUTO SUPERIOR DE EDUCACION RURAL ISER FUNDAMENTOS DE PROGRAMACION

Estudio de la problemática relativa al uso de las sentencias secuénciales, selectivas e iterativas, en el diseño de algoritmos

Tema 2 Introducción a la Programación en C.

Tema 5. Diagramas de flujo. Computacion - FA.CE.NA.

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Modelo Académico de Calidad para la Competitividad MATP-02 13/22

3. TÉCNICAS DE DISEÑO

Un algoritmo es una serie de pasos lógicos y organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

PROGRAMACIÓN I C++ Problemas, algoritmos y programas. Grado en Estadística Aplicada. EUE. Introducción. Introducción

RECORDAR TIPOS DE DATOS

Lenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing.

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Aprender a resolver problemas de procesamiento de información a través de diferentes lenguajes de programación.

Y alternativamente se presentarán soluciones de problemas donde se utilicen:

IFTS N 18 - Prof. Leandro E. Colombo Viña. Diagramación Lógica. Algoritmos y Representaciones. v.1.0.1

Metodología de la programación. Progr. de Computadores Metod.de la Programación 1

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan

LA RESOLUCION DE PROBLEMAS CON COMPUTADORAS Y LAS HERRAMIENTAS DE PROGRAMACIÓN

Lógica de programación 1

INSTITUTO TECNOLÓGICO

Introducción a la programación

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

Conceptos Básicos Programación I (Plan 1999) Algoritmos y Estructuras de Datos II (Plan 2009) Mgter. Oscar Adolfo Vallejos FaCENA - UNNE

Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).

+ 8 = / 11 = * 9 = - 10 = 8

Transcripción:

Algoritmos y solución de problemas Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

Introducción Departamento de Electrónica, Sistemas e Informática En las ciencias de la computación se ocupa de los problemas computables. Se le llama problema computable a aquella abstracción de la realidad que tiene representación algorítmica. Los algoritmos permiten encontrar la solución a problemas computables. Intuitivamente las personas efectuamos cotidianamente una serie de pasos, procedimientos o acciones que nos permitan alcanzar algún resultado o resolver un problema (al bañarnos, al desayunar, al ir a la universidad). En realidad todo el tiempo estamos aplicando algoritmos para resolver problemas.

Algoritmo Departamento de Electrónica, Sistemas e Informática Es un método para la resolución de problemas. Es un conjunto de pasos a seguir para la solución a un problema. Es una serie finita de instrucciones para realizar una tarea. Formalmente: Es un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema.

Características de los algoritmos Las características que debe cumplir un algoritmo son: Un algoritmo debe ser Preciso e indicar el órden de realización de cada paso. Un algoritmo debe ser Definido, es decir, si se sigue un algoritmo dos veces, se debe obtener el mismo resultado. Un algoritmo debe ser Finito, es decir, si se sigue el algoritmo se debe terminar el algún momento.

Otras características de los algoritmos Debe cumplir con: Una secuencia de instrucciones claras y finitas Debe ser correcto y debe resolver el problema planteado en todas sus facetas Debe ser legible

Resolver problemas Qué tipo de problemas se pueden resolver? Computables Qué métodos hay para resolver problemas computables? Metodología de la programación (centrado en los algoritmos)

Fases para resolver un problema computable Diseño de programas Análisis del problema Diseño del algoritmo Verificación manual del algoritmo En la computadora Codificación del algoritmo Ejecución del programa Verificación del programa Mantenimiento (documentación) Análisis Diseño (descendente, refinamiento paso a paso) Codificación Ejecución Prueba Mantenimiento

Fases para la solución de un problema computable Solución de un problema computable Análisis del problema Diseño y verificación del algoritmo Codificación del Algoritmo Lenguaje C Ejecución del Programa Prueba del Programa Definir y entender El problema Identificar los datos de Entrada Identificar los datos de salida = resultado Diseño Descendente Refinamiento por Pasos Herramientas de programación: -Diagramas de flujo - Pseudocódigo

Análisis del problema Departamento de Electrónica, Sistemas e Informática Es el primer paso a seguir para encontrar la solución a un problema computable es el análisis del problema. En el análisis del problema se requiere del máximo de creatividad e imaginación. Debido a que se busca una solución se debe examinar cuidadosamente el problema a fin de identificar que tipo de información es necesaria producir. En seguida se deben identificar aquellos elementos de información ofrecidos por el problema y que resulten útiles para obtener la solución al problema. Finalmente, un procedimiento para producir los resultados deseados a partir de los datos, es decir, el algoritmo.

Análisis del problema Departamento de Electrónica, Sistemas e Informática Análisis del problema Definir y entender El problema Identificar los datos de entrada Identificar los datos de salida = resultados

Elementos que conforman un algoritmo Entrada. Los datos iniciales que posee el algoritmo antes de ejecutarse. Proceso. Acciones que lleva a cabo el algoritmo. Salida. Datos que obtiene finalmente el algoritmo.

Ejemplo: calcular el área de un rectángulo Análisis del problema El cálculo del área del rectángulo se puede dividir en: Entrada de datos (altura, base) Proceso: Cálculo del área (= base x altura) Salida de datos (base, altura, área)

Diseño del algoritmo La solución de un problema complejo puede requerir muchos pasos, es necesario dividir el problema en subproblemas más sencillos de resolver. Este método se denomina divide y vencerás y es aplicable a la resolución y escritura de algoritmos y programas para computadora. Este método de división de un problema en otros subproblemas más sencillos se puede expresar para conseguir su solución en una computadora, mediante el método denominado diseño descendente. El proceso de la rotura de un problema principal en etapas o subproblemas más sencillos se denomina refinamiento paso a paso o sucesivos.

Diseño descendente y refinamiento paso a paso Problema del cálculo Del área del rectángulo Entrada de Datos Cálculo del área Salida de resultados Entrada Entrada AREA = Salida Salida Salida ALTURA BASE BASE x ALTURA ALTURA BASE AREA

Herramientas de programación Las herramientas de programación utilizadas como lenguajes algorítmicos son: Pseudocódigo: es un lenguaje algorítmico, muy parecido al español pero más conciso que permite la redacción rápida del algoritmo. Diagramas de flujo: ha sido la herramienta de programación por excelencia, y aún hoy sigue siendo muy utilizada. Es fácil de diseñar pues el flujo lógico del algoritmo se muestra en un diagrama en lugar de palabras.

Pseudocódigo Es un lenguaje de pseudoprogramación, es decir, muy parecido a un lenguaje de programación. El pseudocódigo es muy fácil de utilizar, ya que es muy similar al español. Algunas palabras utilizadas en el pseudocódigo: Inicio Fin Leer Escribir Asignar (x y+z)

Ejemplo de pseudocódigo Programa CalculoAreaRectangulo Inicio leer; base, altura area base x altura escribir; base, altura, area Fin

Diagramas de flujo Un diagrama de flujo utiliza símbolos estándar en el que cada paso del algoritmo se visualiza dentro del símbolo y en el orden en que estos pasos se ejecutan, se indica conectándolos con flechas llamadas líneas de flujo, ya que indican el flujo lógico del algoritmo. Los símbolos utilizados en los diagramas de flujo han sido estandarizados por la ANSI (American National Institute) y por la ISO (International Standard Organization)

Símbolos de diagramas de flujo

Ejemplo: Diagrama de flujo Departamento de Electrónica, Sistemas e Informática INICIO Leer: base, altura Area base x altura Imprimir: base, altura, área FIN

Fases para la solución de un problema computable Solución de un problema computable Análisis del problema Diseño y verificación del algoritmo Codificación del Algoritmo Lenguaje C Ejecución del Programa Prueba del Programa Definir y entender El problema Identificar los datos de Entrada Identificar los datos de salida = resultado Diseño Descendente Refinamiento por Pasos Herramientas de programación: -Diagramas de flujo - Pseudocódigo