Tema 2. Resolución de Problemas Objetivo: Objetivo: El alumno resolverá problemas mediante la especificación algorítmica.

Slides:



Advertisements
Presentaciones similares
Fundamentos de programación
Advertisements

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ó.
Presentado por: Yuli Dominguez. Portal Educa Panamá. Sistema de numeración.
ESTRUCTURAS DE CONTROL. OBJETIVO  Aplicar las diferentes estructuras de control dentro de la especificación de un algoritmo.
¿Qué es un Diagrama de Flujo? UN DIAGRAMA DE FLUJO, TAMBIÉN LLAMADO FLUJOGRAMA DE PROCESOS O DIAGRAMA DE PROCESOS, REPRESENTA LA SECUENCIA O LOS PASOS.
ALGORITMOS, DIAGRAMAS DE FLUJO ING. DIANA CRUZ. QUÉ ES UN ALGORITMO ALGORITMO PARA UNA RECETA DE COCINA ETAPAS PARA SOLUCIONAR UN PROBLEMA PROPIEDADES.
TUTORIA 1 Lógica para la Computación TUTORIA 1 Facultad de Ciencias Naturales y Matemáticas.
Figure: Algoritmos. Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Ingreso , proceso y salida de datos
Colegio San Agustín – El Paraíso
Nombre José Francisco Luna Jurado Matricula Asignatura
Actividad #2 Los algoritmos
. Primera Open Class Asignatura: Programación Estructurada Tema:
ESTRUCTURAS CONDICIONALES
INFORMÁTICA II (METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS)
Diagrama de Flujo.
Diagramas de Flujo Algoritmos.
Fundamentos de programación
Lenguajes y representación técnica
INTREGRANTES DE EQUIPO:
Tema 6. Conceptos básicos de programación (Clase 2)
TUTORIAL PSeint.
CREAR DIAGRAMA DE FLUJO
Tema 3 Fundamentos y diseño de algoritmos
ETAPAS PARA SOLUCIONAR UN PROBLEMA
FUNDAMENTOS DE INVESTIGACIÓN
LÓGICA DE PROGRAMACIÓN
Diagrama de flujo y algoritmo
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Índice temático 2.1 Análisis de problemas. 2.2 Representación de algoritmos: gráfica y pseudocódigo. 2.3 Diseño de algoritmos aplicados a problemas 2.4.
Fundamentos de programación
ALGORITMOS Un procedimiento o método para resolver un problema que cumpla con unos requisitos se dice que es un algoritmo. Se puede dar por tanto la siguiente.
Metodología de la programación
Algoritmo Capitulo Cinco.
Presentación de Algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Diagrama de Flujo La presentación gráfica de sistemas es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos.
HERRAMIENTAS DE PROGRAMACIÓN
Estructuras de Repetición Pseudocodigo1 Estructuras de Repetición Algoritmos Mientras Hacer-Mientras Para.
U NIVERSIDAD S AN P EDRO F ILIAL B ARRANCA F ACULTAD DE I NGENIERÍA E SCUELA P ROFESIONAL DE I NG. I NFORMÁTICA Y DE S ISTEMAS C URSO : ALGORITMOS Tema.
INFORMÁTICA II BLOQUE I: ALGORITMOS Y DIAGRAMAS DE FLUJO
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
INFORMÁTICA II (PSEUDOCODIGO Y METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS) Ing. José David Ortiz Salas.
Computacion - FA.CE.NA. Diagramas de flujo Tema 5.
Teoría Nº 3 Conceptos Básicos de Algoritmia Estructuras de Control
M. en TI. Omar Téllez Barrientos DOCENTE DE INFORMÁTICA GENERACIÓN DE PSEUDOCÓDIGOS Y ALGORITMOS
En un algoritmo se deben de considerar tres partes: Entrada. Información dada al algoritmo. Proceso. Operaciones o cálculos necesarios para encontrar.
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
INTRODUCCIÓN A LA PROGRAMACIÓN ABRAHAM SOPLA MASLUCÁN MAESTRO EN CIENCIAS DE LA COMPUTACIÓN INSTITUTO TECNOLÓGICO DE MONTERREY.
Estructura general de un programa. Estructura general de un programa. Pseudocódigo Diagrama de flujo Concepto de programas. Concepto de programas. Instrucciones.
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
Tema 6. Conceptos básicos de programación (Clase 2)
Recursividad 1 Análisis de algoritmos. Matrushka La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera que contiene otra muñeca más.
Fundamentos de la Programación I
DIAGRAMA DE FLUJO DE PROCESO
Estructuras de Repetición Algoritmos
Unidad I Introducción a la Lógica Algorítmica
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
INTRODUCCIÓN A LA INFORMÁTICA
Diagrama de Flujo: Definición Es una técnica que permite representar gráficamente las operacionesy estructuras que se van a realizar, mediante una simbología.
DIAGRAMAS DE FLUJO. D I A G R A M A DE F L UJ O EL DI AGRAMA DE FLUJO ES LA REPRESENTACIÓN GRÁFICA DE DICHA SE CUENCIA DE INSTRUCCIONES QUE CONFORMAN.
ALGORITMOS. En la naturaleza hay muchos procesos que puedes considerar como Algoritmos ya que tienen procedimientos y reglas. Incluso, muchas veces no.
¿Qué es un Problema? La Real Academia de la Lengua Española define: “Problema” como “Conjunto de hechos o circunstancias que dificultan la.
UNIDAD IV ESTRUCTURAS DE DESICIÓN LÓGICA (Simple, Doble, Anidada o Múltiple ) Msc. Rina Arauz.
UNIDAD V ESTRUCTURAS REPETITIVAS (Para)
UNIDAD II Generalidades sobre Algoritmos
Diseñas y elaboras algoritmos para la solución de problemas
FIGURE: Algoritmos. CONCEPTOS BÁSICOS. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Transcripción de la presentación:

Tema 2. Resolución de Problemas Objetivo: Objetivo: El alumno resolverá problemas mediante la especificación algorítmica.

2.Resolución de problemas 1.Definición, planteamiento y modelado del problema. 2.Algoritmos para la resolución del problema. 3.Definición del modelo computacional. 4.Refinamiento del algoritmo paso a paso. 2 Resolución de Problemas

¿Qué es un algoritmo? La palabra Algoritmo es de origen árabe y proviene del inteligente matemático y astrónomo Abu Abdullah Muhammad Bin Musa, quien tomó como seudónimo Al- Khowarizmi ( ). De Al-Khowarizmi se obtuvo la derivación algoritmo. 2 Resolución de Problemas Mohammed Bin Musa Al-Khowarizmi (780 – 850)

Un algoritmo es un método para resolver un problema mediante una serie de pasos precisos, definidos y finitos. Es decir, un algoritmo debe ser:  Preciso (Indica el orden de realización en cada paso)  Definido (Si se sigue dos o más veces, se obtiene el mismo resultado cada vez)  Finito ( Tiene un fin, un número determinado de pasos) 2 Resolución de Problemas

Preciso Los pasos a seguir en el algoritmo deben ser precisados claramente. Debe tener un orden entre los pasos.

2 Resolución de Problemas Definido No debe ser ambiguo (dobles interpretaciones); si se ejecuta el mismo algoritmo el resultado siempre será el mismo, sin importar las entradas proporcionadas.

2 Resolución de Problemas Finito Finito en tamaño o número de instrucciones (tiene un primer paso y un último paso) y tiempo de ejecución (debe terminar en algún momento). Por lo tanto, debe tener un punto particular de inicio y fin.

Ejemplo: Un cliente hace un pedido a una tienda. La tienda examina en su base de datos la ficha del cliente, si es solvente acepta el pedido, en caso contrario lo rechaza. Expresando como algoritmo: 1.Inicio 2.Leer el pedido 3.Examinar la ficha del cliente 4.Si el cliente es solvente entonces 1.Aceptar el pedido 5.En caso contrario 1.Rechazar el pedido 6.Fin 2 Resolución de Problemas

Ejercicio: Diseñar un algoritmo para saber si un número es primo o no. Un número primo sólo es divisible por sí mismo y por la unidad. 2 Resolución de Problemas

Solución: 1.Inicio 2.Hacer x igual a 2 3.Dividir N entre x 4.Si el resultado de la división es entero entonces 1.N no es un número primo 2.Ir al paso 9 5.En caso contrario 1.Continuar el proceso 6.Sumar 1 a x 7.Si x es igual a N entonces 1.N es un número primo 8.En caso contrario ir al paso 3 9.Fin 2 Resolución de Problemas

Ejercicio: Diseñar un algoritmo que realice la suma de todos los números pares entre 2 y Resolución de Problemas

Solución: 1.Inicio 2.Establecer SUMA en 0 3.Establecer NUMERO en 2 4.Sumar NUMERO y SUMA, el resultado será el nuevo valor de SUMA. 5.Incrementar NUMERO en 2 unidades 6.Si NUMERO es menor o igual a 100 entonces 1.Ir al paso 4 7.En caso contrario 1.Escribir el último valor de SUMA 8.Fin 2 Resolución de Problemas

Diseño del algoritmo En la etapa del análisis se determina el QUÉ hace el programa, en la etapa de diseño se determina el CÓMO lo hace. Una computadora no tiene la capacidad para solucionar problemas mas que cuando se le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las instrucciones a ejecutar por la máquina constituyen el algoritmo. La información proporcionada al algoritmo constituye su entrada y la información producida constituye su salida. 2 Resolución de Problemas

Los problemas complejos se pueden resolver más eficazmente con la computadora cuando se dividen en sub-problemas que sean más fáciles de solucionar que el original. (Divide y vencerás). 2 Resolución de Problemas Algoritmo Datos de Entrada Procesamiento de los datos Impresión de resultados

Ejemplo: 2 Resolución de Problemas Área y perímetro de círculo Entrada de datos Entrada radio (R) Calculo de perímetro P = 2*Pi * R Calculo de área A = Pi * R 2 Salida de resultados Salida ASalida P

Escritura de algoritmos El sistema para escribir un algoritmo consiste en realizar una descripción paso a paso con un lenguaje natural. Siguiendo algunas reglas:  Deben tener alguna secuencia definida de pasos hasta que se obtenga un resultado coherente.  Sólo puede ejecutarse una operación a la vez.  El flujo de un algoritmo es secuencial. 2 Resolución de Problemas

Ejemplo: ¿Qué hay que hacer para ver la película de “Mascotas”? (si no tenemos internet) Ir al cine Comprar boletos Ver la película Regresar a casa 2 Resolución de Problemas

El algoritmo consta de 4 acciones básicas, cada una de las cuales debe ser ejecutada antes de realizar la siguiente. Sin embargo, dado que este algoritmo es muy sencillo, se puede descomponer en pasos más simples. A esto se le llama refinamiento sucesivo, ya que cada acción puede descomponerse a su vez en otras acciones simples, y así sucesivamente. 2 Resolución de Problemas

1.Inicio 2.Ver la cartelera del cine en el periódico 3.Si proyectan “Mascotas” entonces 1.Ir al cine Si no 1.Elegir otra actividad 2.Ir al paso 7 Fin Si 4.Si hay fila entonces 1.Formarse 2.Mientras haya personas delante hacer 1.Avanzar en la fila Fin mientras Fin Si 2 Resolución de Problemas

5.Si hay localidades entonces 1.Comprar una entrada 2.Pasar a la sala 3.Localizar su asiento 4.Mientras proyectan la película hacer 1.Ver la película Fin mientras 5.Salir del cine Si no 1.Enojarse Fin Si 6.Volver a casa 7.Fin 2 Resolución de Problemas

Existen ciertas palabras “reservadas” las cuales describen las estructuras de control fundamentales y proceso de toma de decisión en el algoritmo. La capacidad de decisión permite seleccionar alternativas de acciones a seguir o bien la repetición una y otra vez de acciones básicas. Es importante notar el empleo de indentación (o sangrado) en la escritura de algoritmos. Esto facilita la lectura y posterior escritura de un programa. 2 Resolución de Problemas

Ejercicio: Utilizando las palabras reservadas para control de flujo e indentación, realizar un algoritmo para el cálculo del área y el perímetro de un circulo. 2 Resolución de Problemas

Ejercicio: Utilizando las palabras reservadas para control de flujo e indentación, realizar un algoritmo para saber si un número es primo o no. 2 Resolución de Problemas

Diseño de algoritmos Ejemplo: Se desea diseñar un algoritmo para obtener la suma de dos números cualesquiera. Se debe partir de que para poder obtener la suma es necesario contar con dos números, pues el proceso que debemos realizar es precisamente la suma de éstos, la cual se asigna a una variable que se reporta como resultado del proceso. 2 Resolución de Problemas

Algoritmo: 1.Inicio 2.Leer A, B 3.Hacer S = A + B 4.Escribir S 5.Fin Como se puede ver, A y B representan los valores para sumar, y S el resultado de la suma. Al representar la solución del problema utilizando un algoritmo, se está utilizando un lenguaje que comúnmente utilizamos, sólo que de una forma ordenada y precisa. 2 Resolución de Problemas

Ejemplo: Se desea diseñar un algoritmo para determinar el volumen de una caja de dimensiones A, B y C. 1.Inicio. 2.Leer las medidas A, B y C. 3.Realizar el producto de A * B * C y guardarlo en V 4.(V = A * B * C). 5.Escribir el resultado V. 6.Fin. 2 Resolución de Problemas

Ejercicio: Un estudiante realiza cuatro exámenes durante el semestre, los cuales tienen la misma ponderación. Realice el algoritmo para obtener el promedio de las calificaciones obtenidas. 2 Resolución de Problemas

Ejercicios: Se requiere conocer el área de un rectángulo. Realice un algoritmo para tal fin. Se requiere obtener el área de un círculo. Realizar el algoritmo correspondiente. 2 Resolución de Problemas

Ejercicio: Una empresa constructora vende terrenos con la forma de la figura. Realice un algoritmo para obtener el área respectiva de un terreno de medidas de cualquier valor. 2 Resolución de Problemas

Ejercicio: Se requiere obtener el área de la figura: Realice un algoritmo para resolver el problema. 2 Resolución de Problemas

Tarea Realizar los algoritmos incluidos en el documento “Tarea 2”.Tarea 2 Se entrega únicamente la hoja con el formato de tareas. Todo se encuentra en la página de la materia. 2 Resolución de Problemas

Representación de algoritmos Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación a utilizar. Esto permitirá que un algoritmo pueda ser codificado indistintamente en cualquier lenguaje. Los métodos más usados para representar algoritmos son:  Diagramas de flujo  Pseudocódigo 2 Resolución de Problemas

Diagramas de flujo Para el diseño de algoritmos se utilizan técnicas de representación. Una de estas técnicas son los Diagramas de Flujo, que se definen como la representación gráfica que, mediante el uso de símbolos estándar conectados o unidos mediante líneas de flujo, muestran la secuencia lógica de las operaciones o acciones que deben realizar las computadoras, así como la corriente o flujo de datos en la resolución de un programa. 2 Resolución de Problemas

Símbolos principales en los diagramas de flujo 2 Resolución de Problemas SímboloFunción Terminal : Representa el comienzo “inicio” o el final “fin” de un programa. Lectura : Cualquier tipo de introducción de datos en la memoria desde los periféricos, “entrada” o registro de la información. Proceso : Cualquier tipo de operación que pueda originar cambio de valor, formato o posición de la información almacenada en memoria. Decisión : Indica operaciones lógicas o de comparación entre datos y en función del resultado se determina cuál de los caminos se debe seguir. (Normalmente tiene dos salidas “SI” o “NO”)

2 Resolución de Problemas SímboloFunción Escritura : Cualquier tipo de “salida” de datos o resultados. Decisión múltiple: En función del resultado de la comparación se seguirá uno de los diferentes caminos. Conector : Sirve para enlazar dos partes cualesquiera de un diagrama a través de un conector en la salida y otro conector en la entrada. Se refiere a la conexión en la misma página del diagrama. Conector : Conexión entre dos puntos del diagrama en diferentes páginas. Línea de flujo : Indica el sentido de ejecución de las operaciones.

Reglas para la construcción de Diagramas de Flujo  Todo diagrama de flujo debe tener un inicio y un fin. 2 Resolución de Problemas

 Las líneas utilizadas para indicar la dirección del flujo del diagrama deben ser rectas, verticales y horizontales.  Las líneas de flujo nunca deben cruzarse. 2 Resolución de Problemas

 Todas las líneas utilizadas para indicar la dirección del flujo del diagrama deben estar conectadas. La conexión puede ser a un símbolo que exprese lectura, proceso, decisión, impresión, conexión o fin de diagrama. 2 Resolución de Problemas

 El diagrama de flujo debe ser construido de arriba hacia abajo y de izquierda a derecha.  La notación utilizada en el diagrama de flujo debe ser independiente del lenguaje de programación.  Es conveniente cuando realizamos una tarea compleja poner comentarios que expresen o ayuden a entender lo que hicimos. 2 Resolución de Problemas

 Si el diagrama de flujo requiriera más de una hoja para su construcción, debemos utilizar los conectores adecuados y enumerar las páginas convenientemente. 2 Resolución de Problemas 1 1 … … … … 1 1

 No puede llegar más de una línea a un símbolo. 2 Resolución de Problemas

Generalmente la estructura de un diagrama de flujo es:  Declarar variables a utilizar  Realizar la lectura (generalmente datos desde teclado)  Procesar la información (resolver el problema)  Devolver resultados (generalmente imprimirlos en pantalla) 2 Resolución de Problemas

Ejercicio: De acuerdo con lo aprendido, analice el siguiente diagrama de flujo y diga sus comentarios. 2 Resolución de Problemas

Ejemplo: Se desea realizar el diagrama de flujo de un algoritmo para obtener la suma de dos números cualesquiera. Algoritmo: 1.Inicio 2.Leer A, B 3.Hacer S = A + B 4.Escribir S 5.Fin 2 Resolución de Problemas

Se desea realizar el diagrama de flujo del algoritmo para determinar el volumen de una caja de dimensiones A, B y C. 1.Inicio. 2.Leer las medidas A, B y C. 3.Realizar el producto de A * B * C y guardarlo en V 4.(V = A * B * C). 5.Escribir el resultado V. 6.Fin. 2 Resolución de Problemas

Ejercicio: Un estudiante realiza cuatro exámenes durante el semestre, los cuales tienen la misma ponderación. Realice el diagrama de flujo para obtener el promedio de las calificaciones obtenidas.

Ejercicio: Se requiere conocer el área de un rectángulo. Realice el diagrama de flujo del algoritmo para tal fin. 2 Resolución de Problemas

Ejercicio: Se requiere obtener el área de un círculo. Realizar el diagrama de flujo del algoritmo correspondiente. 2 Resolución de Problemas

Ejercicio: Una empresa constructora vende terrenos con la forma de la figura. Realice el diagrama de flujo del algoritmo para obtener el área respectiva de un terreno de medidas de cualquier valor. 2 Resolución de Problemas

Ejercicio: Se requiere obtener el área de la figura: Realice un algoritmo para resolver el problema. 2 Resolución de Problemas