teoría nº 3 -...

49
1 Resolución de Problemas y Algoritmos - 2017 Teoría Nº 3 üResolución de Problemas üLenguaje de Problemas üEstructuras de Control üDiagramas de Flujo Primer Cuatrimestre 2017

Upload: hoanghanh

Post on 21-Oct-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

1 Resolución de Problemas y Algoritmos - 2017

Teoría Nº 3

ü Resolución de Problemas

ü Lenguaje de Problemas

ü Estructuras de Control

ü Diagramas de Flujo

Primer Cuatrimestre 2017

Page 2: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

2

Una computadora es, esencialmente, una HERRAMIENTA.

Una herramienta sirve para operar la conversión de una materia prima en un producto mediante un dispositivo que desarrolla un proceso; el proceso a su vez, lo determina una persona.

Resolución de problemas

• materia prima

• producto

• dispositivo

• proceso

datos

información

componentes de la computadora

PROBLEMA

PROBLEMA RESUELTO

?

Analogía

Resolución de Problemas y Algoritmos - 2017

Page 3: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

LapirámidenuméricadelSeñorMothadaComo un juego de preparación para los a lumnos de la c lase de computación del colegio secundario, el señor Mothada diseñó una pirámide numérica para poner a prueba la matemática lógica y mental. Excepto en la fila de la base, cada bloque contiene un número que es la suma de los 2 números de abajo, de manera que F= A+B, y así, sucesivamente. ¿Puedes descubrir los números que faltan?

A=104 B= C=91 D=22 E=

F= G=132 H= I=

J= K= L=252

M=522 N=

O=

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 4: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

LapirámidenuméricadelSeñorMothada

A=104 B= C=91 D=22 E=

F= G=132 H= I=

J= K= L=252

M=522 N=

O=¿Solución?

Resolución de Problemas

¿Estrategia?

Resolución de Problemas y Algoritmos - 2017

Page 5: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

5

•  Enunciado Diseñar un método para

lavarse las manos .

Bosquejo de Solución –  Abrir la canilla –  Poner las manos debajo del agua y refrejar –  Tomar el jabón –  Enjabonarse –  Dejar el jabón –  Refrejarse –  Enjuagarse –  Cerrar la canilla –  Tomar la toalla –  Secarse –  Dejar la toalla

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 6: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

6

Tipos de problemas a resolver:

Según la solución a encontrar

Ej.: Elección de un candidato en un sistema de votación .

Ej.: La resolución de un sistema de ecuaciones.

Nosotros nos concentraremos en problemas de tipo OBJETIVO

Subjetiva

La solución depende de un sistema de valores o criterios subjetivos

planteo vago con soluciones dispares y/o contrapuestas.

Objetiva

La solución depende de hechos objetivos.

planteo contiene condiciones y/o

restricciones que permiten decidir la validez de la solución.

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 7: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

Resolución de Problemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 8: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 9: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 10: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 11: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

¿Soluciona el problema?

¿Es la mejor solución?

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 12: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

ProblemaUna habitación, con 2 ventanas rectangulares, mide 25m2, cada baldosa mide 0,04m2. ¿Cuántas baldosas se necesitan para cubrir el piso completo de la habitación?

¿Datos?

¿Qué hacer?

¿Qué se desea saber?

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 13: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

1.  Entenderelproblema.

Escribir EL Objetivo de este Problema y los datos a utilizar, descartando los

datos innecesarios según el objetivo planteado.

Algunas de las preguntas que conviene realizarse en este momento son:

•  ¿Se entiende lo que plantea el problema? ¿Podrían expresarlo

con sus propias palabras?

•  ¿Se entiende a qué hay que llegar? ¿Cuál es el objetivo?

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 14: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

ProblemaUna habitación, con 2 ventanas rectangulares, mide 25m2, cada baldosa mide 0,04m2. ¿Cuántas baldosas se necesitan para cubrir el piso completo de la habitación?

¿Objetivo?

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 15: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

1.  Entenderelproblema.Escribir EL Objetivo de este Problema y los datos a utilizar, descartando los

datos innecesarios según el objetivo planteado.

Algunas de las preguntas que conviene realizarse en este momento son:

•  ¿Se pueden distinguir datos? ¿Hay datos desechables? •  ¿Hay datos, que creen que sirven pero no saben cómo

utilizarlos? ¿Cuáles?

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 16: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

ProblemaUna habitación, con 2 ventanas rectangulares, mide 25m2, cada baldosa mide 0,04m2. ¿Cuántas baldosas se necesitan para cubrir el piso completo de la habitación?

¿Datos relevantes?

¿Datos irrelevantes?

ResolucióndeProblemas

Método de Polya

1.  Entenderelproblema.

Resolución de Problemas y Algoritmos - 2017

Page 17: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

2.De2inirunplan.

En este punto es importante pensar en:

¿Es posible dibujar alguna figura o esquema que nos oriente?

¿Qué relación existe entre el objetivo y el estado inicial planteado en el

problema?

¿Qué cálculos se deben realizar? ¿Identifica algún patrón?

En qué orden deberíamos resolver los cálculos para descifrar la incógnita?

Para elaborar el plan a seguir es necesario utilizar alguna estrategia que los oriente a encontrar

ideas útiles a seguir.

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 18: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

18

ResolucióndeProblemas

Resolución de Problemas y Algoritmos - 2017

Estrategia: Técnica y conjunto de actividades destinadas a conseguir un objetivo. Por ejemplo: Divide y venceras

•  Ensayo-Error

•  Buscar un patrón

•  Hacer una lista

•  Hacer una figura

•  Hacer diagramas

•  Buscar una fórmula

Page 19: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

ProblemaUna habitación, con 2 ventanas rectangulares, mide 25m2, cada baldosa mide 0,04m2. ¿Cuántas baldosas se necesitan para cubrir el piso completo de la habitación?

Definamos un plan

ResolucióndeProblemas

Método de Polya

2.De2inirunplan.

Resolución de Problemas y Algoritmos - 2017

Page 20: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

3.Ejecutarelplan

¿Se han empleado todos los datos?

¿Se ha tenido en cuenta todas las nociones del problema?

¿Se logró el objetivo especificado en la primera etapa?

En este punto deben seguir las ideas y pasos

establecidos en la etapa anterior hasta que se

encuentre la solución o

hasta que se encuentren con otra dificultad, en cuyo

caso será necesario volver a pensar...

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 21: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

4.Mirarhaciaatrás:

En esta etapa es necesario que tengan una visión retrospectiva donde

puedan observar:

¿qué fue lo que se hizo? ¿El razonamiento seguido tuvo en

cuenta todas las restricciones del problema?

¿El resultado obtenido, es correcto? ¿Es posible verificarlo?

¿Es posible extender la solución a un caso más general?

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 22: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

ProblemaUna habitación, con 2 ventanas rectangulares, mide 25m2, cada baldosa mide 0,04m2. ¿Cuántas baldosas se necesitan para cubrir el piso completo de la habitación?

¿Es general la solución?

¿Y si la habitación mide 30m2?

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 23: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

ResolucióndeProblemas(Repaso)

✓  Problema en forma de enunciado ✓  Reconocimiento de

datos importantes ✓  Eliminación de datos

innecesarios ✓  Determinación del

objetivo

ResolucióndeProblemas

Método de Polya

Resolución de Problemas y Algoritmos - 2017

Page 24: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

Resolución del problema: encontrar una secuencia de acciones expresadas en forma de método o receta.

24

Problema

Problema’ Resolución del problema

Expresarlo

Solución Problema

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 25: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

25

Todo problema es expresado en forma verbal o escrita a través de un enunciado.

L a A b s t r a c c i ó n d e u n problema describe los aspectos fundamentales del mismo y descarta detalles irrelevantes

Inconveniente: 4 la cantidad de información suministrada.

Necesidad: 4 obviar los detalles irrelevantes.

Técnica: 4la utilización de una ABSTRACCIÓN. Objetivo: 4Construir la abstracción de un problema de la realidad. 4Construir una simplificación de la misma 4Construir un MODELO.

Comprender el problema: Representación Resolución de Problemas

Modelo: Representación de alguna cosa.

Resolución de Problemas y Algoritmos - 2017

Page 26: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

26

Utilizaremos abstracción en un sentido de “obtener la esencia” al identificar o percibir el problema.

Comprender el problema: Abstracción Resolución de Problemas

En el nivel superior de abstracción, se establece una solución en términos amplios, usando el lenguaje del entorno natural.

En los niveles inferiores de abstracción se toma una orientación más procedimental. La terminología orientada al problema se acompaña con una terminología orientada a la implementación, en un esfuerzo para establecer una solución.

Por último, en el nivel más bajo de abstracción, se establece la solución de forma que pueda implementarse directamente.

Resolución de Problemas y Algoritmos - 2017

Page 27: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

27

¿Por qué unas personas ven unas cosas que otros no ven teniendo adelante el mismo escenario?

Resolución de Problemas

UNSL - Resolución de Problemas y Algoritmos - 2016

Comprender el problema: Abstracción

Los procesos de abstracción y aprehensión

están condicionados en buena medida por

nuestras características personales y

capacidades... Pero también por el ejercicio,

esfuerzo y el uso de métodos adecuados.

Page 28: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

Mediante la Resolución del problema se pretende llegar a

28

Problema

Solución

Problema’ Se convierte en

Descomposición

Problema

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 29: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

29

Existen problemas cuya solución puede ser expresada mediante la utilización de un método, receta o fórmula. Ej.: armar un juguete por partes, hacer una torta.

Características: 4 acciones perfectamente delimitadas. 4 número finito de acciones. 4 orden pre-establecido de las acciones.

Bosquejar una solución

ALGORITMO

Un Algoritmo consiste de un conjunto de acciones (pasos) que, ejecutados de la manera correcta permite obtener un resultado en un tiempo acotado

Un Algoritmo es unívoco, finito, de duración finita, ordenado.

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 30: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

30

Algoritmo

Un algoritmo es una sucesión de instrucciones o pasos precisos que permiten resolver un problema. Características

ü  Consiste en una secuencia de etapas con un punto de inicio. ü  Debe ser preciso (no ambiguo). ü  Debe ser general ü  Debe ser finito en tamaño y tiempo.

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 31: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

31

Todo proceso de resolución de un problema puede representarse como la transición entre dos estados diferentes: un estado Inicial y un estado Final o Deseado.

Como encarar un problema

O lo que es lo mismo, para resolver un problema se debe establecer cual es el conjunto de tareas que se deben realizar para poder llegar al estado final.

ACCIONES

EI

EF

Conjunto de Acciones que llevan de un estado al otro

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 32: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

32

Problemas de Tipo Computacional

Definiciones asociadas: Trabajo: problema a resolver. Enunciado: descripción del trabajo a realizar. Procesador: entidad capaz de realizar un trabajo indicado a través de un algoritmo. Ambiente: conjunto de todos los recursos necesarios para la ejecución de un trabajo. Algoritmo: conjunto de acciones (pasos) que debe realizar la entidad procesadora para llegar al fin perseguido.

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 33: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

33

¿Qué se considera ACCIÓN?

ACCIÓN Es un evento que modifica al ambiente establecido. Restricción Dicha acción debe ser especificada de modo que pueda ser comprendida por el procesador sin mayor información adicional (no ambigua) . Esto se denomina Acción Primitiva. Determinación Existen diferentes técnicas para descomponer un problema en un conjunto de acciones primitivas. Uno de ellos es denominado Refinamiento Sucesivo.

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 34: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

Como abordar un problema

Actividad: Programar en papel cuadriculado

Primitivas disponibles

34

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 35: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

35

Etapas en el proceso de resolver un problema: 1- Comprender el problema: lograr una abstracción

4 Descomposición del problema. 2- Bosquejar una solución:

4 Determinar un algoritmo. 4 Codificar ese algoritmo.

3- Volver hacia atrás: perfeccionar la solución

4 Ejecutar el algoritmo bosquejado. 4 Corregir (depurar) el algoritmo.

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 36: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

36

Determinación Existen diferentes técnicas para descomponer un problema en un conjunto de acciones primitivas. Una de ellas es denominada Refinamiento Sucesivo.

Dado un trabajo T, descripto por medio de acciones no primitivas, tal que transforma el ambiente desde el estado inicial E0 en un estado final Ef, se puede encontrar una descomposición t1,t2,...,tn que constituye una secuencia de acciones primitivas que ejecuta el trabajo T.

Donde: para cualquier ti dado

•  si es una acción primitiva para el procesador, se finaliza la descomposición. •  si no es acción primitiva para el procesador, ésta se debe descomponer en una nueva secuencia ti,1, ti,2, ...,ti,k.

Resolución de Problemas y Algoritmos - 2017

Page 37: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

37

E0

Ef

T

E1 t1

t2

t3

tn

E2

En-1

t3,1

t3,2

t3,3

Refinamiento Sucesivo

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 38: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

38

Ejemplo Nº 1: Enunciado: sumar los números 124, 59 y 3 usando la calculadora de bolsillo. Procesador: una persona que entienda la tarea descripta y cuente con los elementos necesarios para realizarla. Ambiente: la calculadora de bolsillo. Acciones primitivas: ( la notación “< >” representa una tecla )

4 Oprimir <C> (limpiar pantalla) 4 Oprimir <dig> 4 Oprimir <+> 4 Oprimir <=> (mostrar el resultado)

Refinamiento Sucesivo

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 39: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

39

Algoritmo: •  Versión 1: (nivel 1 de descomposición) •  t1 - Limpiar visor. •  t2 - Ingresar el número 124. •  t3 - Oprimir tecla de suma. •  t4 - Ingresar el número 59. •  t5 - Oprimir tecla de suma. •  t6 - Ingresar el número 3. •  t7 - Oprimir tecla igual para obtener resultado.

Refinamiento Sucesivo

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 40: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

40

Algoritmo: Versión 2: (nivel 2 de descomposición) t1 - Oprimir <C> t2 - Ingresar el nro. 124. t3 - Oprimir <+> t4 - Ingresar el nro. 59. t5 - Oprimir <+> t6 - Oprimir <3> t7 - Oprimir <=>

t21 - Oprimir <1> t22 - Oprimir <2> t23 - Oprimir <4>

t21 - Oprimir <5> t22 - Oprimir <9>

Refinamiento Sucesivo

Resolución de Problemas

Resolución de Problemas y Algoritmos - 2017

Page 41: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

41

Versión 3: (Codificación) t1 - Oprimir <C> t21 - Oprimir <1> t22 - Oprimir <2> t23 - Oprimir <4> t3 - Oprimir <+>

Algoritmo: (Otra opción de versión) Versión 2: (nivel 2 de descomposición)

t1 - Limpiar visor. t21 - Ingresar el número 1.

t22 - Ingresar el número 2. t23 - Ingresar el número 4. t3 - Oprimir tecla de suma. t41 - Ingresar el número 5. t42 - Ingresar el número 9. t5 - Oprimir tecla de suma. t6 - Ingresar el número 3. t7 - Oprimir tecla igual para obtener resultado.

t41 - Oprimir <5> t42 - Oprimir <9> t5 - Oprimir <+> t6 - Oprimir <3> t7 - Oprimir <=>

Resolución de Problemas: Refinamiento Sucesivo

Resolución de Problemas y Algoritmos - 2017

Page 42: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

42

Procesador: una tortuga con la habilidad de moverse y dibujar sobre el plano. Ambiente: una hoja de papel. Acciones primitivas:

4 DERECHA <grados> 4 IZQUIERDA <grados> 4 ADELANTE <número_de_pasos>

Situación Inicial del Ambiente:

Ejemplo Nº 2: Enunciado: se desea dibujar un farol con pedestal del siguiente tipo.

t papel tortuga

Resolución de Problemas: Refinamiento Sucesivo

Resolución de Problemas y Algoritmos - 2017

Page 43: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

Donde t1 se puede descomponer en (versión 2):

43

t1 - Dibujar la base, que es un rectángulo. t2 - Dibujar el poste, que es una línea. t3 - Dibujar el farol, que es un rombo.

t11 - Dibujar el borde superior del rectángulo. t12 - Dibujar el borde derecho del rectángulo. t13 - Dibujar el borde inferior del rectángulo. t14 - Dibujar el borde izquierdo del rectángulo

Algoritmo: Versión 1:

Resolución de Problemas: Refinamiento Sucesivo

Resolución de Problemas y Algoritmos - 2017

Page 44: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

44

Donde t11 se puede descomponer en (versión 3): t111 - DERECHA 90 t112 - ADELANTE 40

Donde t12 se puede descomponer en: t121 - DERECHA 90 t122 - ADELANTE 10

Donde t13 se puede descomponer t131 - DERECHA 90 t132 - ADELANTE 40

Acciones primitivas:

4 DERECHA <grados> 4 IZQUIERDA <grados> 4 ADELANTE <número_de_pasos>

Resolución de Problemas y Algoritmos - 2017

Page 45: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

45

Donde t14 se puede descomponer en: t141 - DERECHA 90 t142 - ADELANTE 10

t111 - DERECHA 90 t112 - ADELANTE 40 t121 - DERECHA 90 t122 - ADELANTE 10 t131 - DERECHA 90 t132 - ADELANTE 40

t141 - DERECHA 90 t142 - ADELANTE 10

t14- Dibujar el borde izquierdo del rectángulo.

Agrupando las acciones primitivas para la acción t1 obtenemos:

Resolución de Problemas: Refinamiento Sucesivo

Resolución de Problemas y Algoritmos - 2017

Page 46: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

46

Donde t2 se puede descomponer en (versión 2):

t21 - Posicionar la tortuga en la mitad de la base. t22 - Dibujar el poste.

Donde t21 se puede descomponer en (versión 3): t211 - DERECHA 90 t212 - ADELANTE 20 t213 - IZQUIERDA 90

t1 - Dibujar la base, que es un rectángulo. t2 - Dibujar el poste, que es una línea. t3 - Dibujar el farol, que es un rombo.

Resolución de Problemas: Refinamiento Sucesivo

Resolución de Problemas y Algoritmos - 2017

Page 47: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

47

Donde t3 se puede descomponer en (versión 2):

t31 - Dibujar el borde inf. derecho del rombo. t32 - Dibujar el borde sup. derecho del rombo. t33 - Dibujar el borde sup. izquierdo del rombo. t34 - Dibujar el borde inf. izquierdo del rombo. NOTA: Se deja como tarea la descomposición de cada una de las

acciones t3i en acciones primitivas

.

t1 - Dibujar la base, que es un rectángulo. t2 - Dibujar el poste, que es una línea. t3 - Dibujar el farol, que es un rombo.

Resolución de Problemas: Refinamiento Sucesivo

Resolución de Problemas y Algoritmos - 2017

Page 48: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

48

Desarrollando el conjunto total de acciones para t1 y t2 tendremos el siguiente algoritmo:

t111 - DERECHA 90 t112 - ADELANTE 40 t121 - DERECHA 90 t122 - ADELANTE 10 t131 - DERECHA 90 t132 - ADELANTE 40 t141 - DERECHA 90 t142 - ADELANTE 10 t22 - ADELANTE 30

t3 - ......

Resolución de Problemas: Refinamiento Sucesivo

Resolución de Problemas y Algoritmos - 2017

Page 49: Teoría Nº 3 - dirinfo.unsl.edu.ardirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/ce46a... · Diseñar un método para lavarse las manos . Bosquejo de Solución – Abrir

49

Observando, existe una secuencia de cuatro primitivas que se repite 2 veces.

REPETIR <número veces> [ <acciones_ primitivas> ]

Se incorpora una nueva acción primitiva, denominada primitiva de control que permitirá simplificar el algoritmo.

t1 - REPETIR 2 [ DERECHA 90 ADELANTE 40 DERECHA 90 ADELANTE 10 ]

t211 - DERECHA 90 t212 - ADELANTE 20 t213 - IZQUIERDA 90 t22 - ADELANTE 30 t3 - ......

Entonces nuestro algoritmo quedará:

Resolución de Problemas: Refinamiento Sucesivo

Resolución de Problemas y Algoritmos - 2017