Teoría Nº 3 - Departamento de...
Transcript of Teoría Nº 3 - Departamento de...
![Page 1: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/1.jpg)
Teoría Nº 3
ü Resolución de Problemas
ü Lenguaje de Problemas
Segundo Cuatrimestre 2018
1 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 2: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/2.jpg)
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
2 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 3: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/3.jpg)
PensamientoComputacional
C o m p r e n d e l o s p r o c e s o s d e pensamiento impl icados en la formulación de problemas y la representación de sus soluciones, de manera que dichas soluciones puedan ser efectivamente ejecutadas por un agente de procesamiento de información (humano, computadora o combinación de ambos)
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 4: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/4.jpg)
4
PensamientoComputacional:Pilares
Descomposición
Por ejemplo: Dibujar un jeep
T1: Dibujar parte frontal del jeep T2: Dibujar neumáticos
T4: Dibujar las luces T3: Dibujar el parabrisas
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 5: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/5.jpg)
5
PensamientoComputacional:Pilares
Reconocimiento de Patrones
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 6: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/6.jpg)
6
PensamientoComputacional:Pilares
Definición de abstracciones
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 7: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/7.jpg)
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
7 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 8: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/8.jpg)
Resolución de Problemas
Método de Polya
8 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 9: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/9.jpg)
ResolucióndeProblemas
Método de Polya
9 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 10: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/10.jpg)
ResolucióndeProblemas
Método de Polya
10 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 11: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/11.jpg)
ResolucióndeProblemas
Método de Polya
11 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 12: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/12.jpg)
¿Soluciona el problema?
¿Es la mejor solución?
ResolucióndeProblemas
Método de Polya
12 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 13: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/13.jpg)
ProblemaUna habitación rectangular, con 2 ventanas cuadradas, mide 25m2, cada baldosa mide 0,04m2. ¿Cuántas baldosas se necesitan para cubrir el piso completo de la habitación?
ResolucióndeProblemas
Método de Polya
13 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 14: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/14.jpg)
1. Entenderelproblema.
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é se desea llegar? ¿Cuál es el objetivo?
ResolucióndeProblemas
Método de Polya
14 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 15: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/15.jpg)
ProblemaUna habitación rectangular, 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
15 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 16: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/16.jpg)
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
16 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 17: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/17.jpg)
ProblemaUna habitación rectangular, con 2 ventanas cuadradas, mide 25m2, cada baldosa mide 0,04m2. ¿Cuántas baldosas se necesitan para cubrir el piso completo de la habitación?
¿Datos relevantes?
ResolucióndeProblemas
Método de Polya
1. Entenderelproblema.
17 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 18: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/18.jpg)
2.Definirunplan.
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
18 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 19: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/19.jpg)
Problema
Una habitación rectangular, con 2 ventanas cuadradas, 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.Definirunplan.
19 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 20: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/20.jpg)
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
20 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 21: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/21.jpg)
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
21 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 22: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/22.jpg)
ProblemaUna habitación rectangular, con 2 v e n t a n a s , m i d e 25m2cuadradas, 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
22
¿Cómo se podría generalizar?
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 23: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/23.jpg)
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
23 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 24: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/24.jpg)
Resolución del problema: encontrar una secuencia de acciones expresadas en forma de método o receta.
Problema
Solución
Problema’ Resolución del problema
Expresarlo
Problema
Resolución de Problemas
24 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
Solución Problema
Proponemos trabajar
![Page 25: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/25.jpg)
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.
Definir un plan: Representación Resolución de Problemas
Modelo: Representación de alguna cosa.
25 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 26: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/26.jpg)
Utilizaremos abstracción en un sentido de “obtener la esencia” al identificar o percibir el problema.
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.
Definir un plan: Representación
26 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 27: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/27.jpg)
Resolución de Problemas Comprender el problema: Abstracción
¿Por qué unas personas ven unas cosas que otros no ven teniendo adelante el mismo escenario?
27 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
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 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/28.jpg)
Resolver Problemas… ¿Cómo?
Una computadora posee un repertorio muy reducido de instrucciones elementales que es capaz de entender y obedecer. Determinar el proceso de resolución de un problema consiste en establecer la secuencia de dichas instrucciones elementales que llevarán a que la computadora resuelva el problema por nosotros.
La secuencia de instrucciones elementales a ser ejecutadas por una computadora se denomina: Programa
La acción de determinar la secuencia de instrucciones elementales se denomina: Programar
Resolución de Problemas
28 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 29: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/29.jpg)
No obstante:
Las computadoras son herramientas con una amplia variedad de aplicaciones. Los problemas a resolver son de una amplia gama, mayormente No Triviales.
La mayor dificultad radica en el propio proceso de resolver el problema (determinar un ALGORITMO) más que en escribir un programa en un lenguaje de programación.
Resolución de Problemas
29 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 30: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/30.jpg)
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 abordar 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
30 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 31: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/31.jpg)
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.
Bosquejar una solución
ALGORITMO
Resolución de Problemas
31 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 32: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/32.jpg)
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.
Lenguaje del problema
32 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 33: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/33.jpg)
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
33 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 34: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/34.jpg)
¿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.
Resolución de Problemas
34 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 35: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/35.jpg)
Como abordar un problema
Resolución de Problemas
Actividad: Programar en papel cuadriculado
Primitivas disponibles
35
¿Estado inicial?
¿Estado final?
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 36: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/36.jpg)
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.
36 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 37: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/37.jpg)
E0
Ef
T
E1 t1
t2
t3
tn
E2
En-1
Refinamiento Sucesivo
Resolución de Problemas
37
t3,1
t3,2
t3,3
E1 t1
t2
tn
E2
En-1
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 38: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/38.jpg)
Mediante la Resolución del problema se pretende llegar a
Lenguaje del problema
Problema
Solución
Problema’ Se convierte en
Descomposición
Resolución de Problemas
38 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 39: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/39.jpg)
Cómo se expresa?
4 diversidad de métodos.
Característica:
4 en un lenguaje comprensible para las personas.
LENGUAJE DEL PROBLEMA
Algoritmo
Lenguaje del problema
39 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 40: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/40.jpg)
Lenguaje del problema
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)
40 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 41: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/41.jpg)
Ejemplo Nº 1: Sumar los números 124, 59 y 3 usando la calculadora de bolsillo.
Versión 2: (versión 1 refinada) t1 - Limpiar visor. t21 - Colocar el número 1. t22 - Colocar el número 2. t23 - Colocar el número 4. t3 - Oprimir tecla de suma. t41 - Colocar el número 5. t42 - Colocar el número 9. t5 - Oprimir tecla de suma. t6 - Colocar el número 3. t7 - Oprimir tecla igual para obtener resultado.
Algoritmo expresado en lenguaje del problema Versión 1: t1 - Limpiar visor. t2 - Colocar el número 124. t3 - Oprimir tecla de suma. t4 - Colocar el número 59. t5 - Oprimir tecla de suma. t6 - Colocar el número 3. t7 - Obtener obtener resultado.
Lenguaje del problema
41 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 42: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/42.jpg)
Enunciado: se desea dibujar un farol con pedestal del siguiente tipo. 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:
t papel tortuga
Lenguaje de Problemas
42 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 43: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/43.jpg)
Donde t1 se puede descomponer en (versión 2):
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:
Lenguaje de Problemas
43 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 44: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/44.jpg)
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
t11 - Dibujar el borde superior del rectángulo.
t12 - Dibujar el borde derecho del rectángulo.
t13- Dibujar el borde inferior del rectángulo.
Lenguaje de Problemas
44 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 45: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/45.jpg)
Ejemplo Nº 2: Dibujar un farol con pedestal.
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 t21 - Posicionar la tortuga en la mitad de la base. t22 - Dibujar el poste.
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.
Versión 2: (versión 1 refinada)
Versión 1: 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.
Lenguaje del problema
45 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 46: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/46.jpg)
46
Versión 3: (versión 2 refinada)
t111 - Girar a la derecha 90 grados. t112 - Avanzar 40 pasos. t121 - Girar a la derecha 90 grados. t122 - Avanzar 10 pasos. t131 - Girar a la derecha 90 grados. t132 - Avanzar 40 pasos. t141 - Girar a la derecha 90 grados. t142 - Avanzar 10 pasos.
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
Lenguaje del problema
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 47: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/47.jpg)
47
Versión 3: (versión 2 refinada)
t211 - Girar a la derecha 90 grados. t212 - Avanzar 20 pasos. t213 - Girar a la izquierda 90 grados. t221 - Avanzar 30 pasos.
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.
t21 - Posicionar la tortuga en la mitad de la base. t22 - Dibujar el poste.
Lenguaje del problema
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 48: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/48.jpg)
t1 - Repetir 2 veces, (t111 - t112 - t121 - t122). t211 - Girar a la derecha 90 grados. t212 - Avanzar 20 pasos. t213 - Girar a la izquierda 90 grados. t22 - Avanzar 30 pasos. 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.
Versión 4:
Lenguaje del problema
48 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 49: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/49.jpg)
Diseñar un algoritmo que considere tres números enteros positivos y encuentre si uno de ellos es la suma de los otros dos.
Lenguaje del problema
Ejemplo Nº 3:
Solución Versión 1:
t1 – Pensar 3 números enteros positivos. (A, B, C)
t2 – Determinar si uno de esos valores es la suma de los otros dos.
No obstante: No todos los problemas tienen un único algoritmo que lo resuelve.
49 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 50: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/50.jpg)
Ejemplo Nº 4: Dados cuatro números A,B,C y D determinar cual es el mayor de ellos e informarlo. (Algoritmo expresado en lenguaje del problema) Solución 1: Versión 1:
t1 - Si A es mayor que B, C y D, informar A. t2 - Si B es mayor que A, C y D, informar B. t3 - Si C es mayor que A, B y D, informar C. t4 - Si D es mayor que A, B y C, informar D.
Lenguaje del problema
50 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 51: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/51.jpg)
Solución 2: Versión 1:
t1 - Determinar el mayor entre A y B. t2 - Determinar el mayor entre el resultado de
(A, B) y C. t3 - Determinar el mayor entre el resultado de ((A, B), C) y D. t4 - Informar el número resultante.
Lenguaje del problema
51 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 52: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/52.jpg)
Todas las versiones expresan una solución al problema a través de la especificación de acciones con diferente nivel de detalle y en
un lenguaje cercano a la persona.
Solución 3 Versión 1:
t1 - Determinar el mayor entre A y B. t2 - Determinar el mayor entre C y D. t3 - Determinar el mayor entre el resultado de (A, B) y (C, D). t4 - Informar el número resultante.
Lenguaje del problema
52 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 53: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/53.jpg)
Solución 3 Versión 2 t11 - Si A es mayor a B, A es el primer mayor
sino B es el primer mayor. t21 - Si C es mayor a D, C es el segundo mayor
sino D es el segundo mayor. t31 - Si primer mayor es mayor a segundo mayor, primer mayor es el resultado sino segundo mayor es el resultado. t4 - Informar el resultado.
Lenguaje del problema
53 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 54: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/54.jpg)
Solución 3 Algoritmo Si A > B, A es el primer mayor
sino B es el primer mayor. Si C > D, C es el segundo mayor
sino D es el segundo mayor. Si primer mayor > segundo mayor, primer mayor es el resultado
sino segundo mayor es el resultado. Informar el resultado.
Lenguaje del problema
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos
![Page 55: Teoría Nº 3 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/materiales/231c0-tr… · UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022050604/5fabefb9163c973eaa0161a1/html5/thumbnails/55.jpg)
55