La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Tema 2. Resolución de Problemas Objetivo: Objetivo: El alumno resolverá problemas mediante la especificación algorítmica."— Transcripción de la presentación:

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

2 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

3 ¿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 (780-850). De Al-Khowarizmi se obtuvo la derivación algoritmo. 2 Resolución de Problemas Mohammed Bin Musa Al-Khowarizmi (780 – 850)

4 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

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

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

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

8 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

9 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

10 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

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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 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

29 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

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

31 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

32 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

33 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

34 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”)

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

36 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

37  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

38  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

39  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

40  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

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

42 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

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

44 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

45 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

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

47 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

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

49 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

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


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

Presentaciones similares


Anuncios Google