You are on page 1of 18

Resolución de PROBLEMAS

y ALGORITMOS
Definición
Resolver un problema consiste en encontrar una
secuencia de pasos que nos permitan pasar de un
estado a otro.

Situación Inicial Problema Situación Deseada

Diferencia

Representa la búsqueda de acciones ordenadas para


encontrar el objetivo.

Situación Inicial Acción 1 Acción 2 ... Acción n Situación Deseada


Definición
Un problema puede ser simple o complejo
según quien tenga que hallar su solución.
Las personas tienen distintas capacidades
para hallar soluciones para diferentes
clases de problemas.
Resulta conveniente entrenarnos en el uso
de algunas estrategias y técnicá que nos
orienten en la búsqueda de soluciones de
problemas
Técnicas de resolución de
Problemas
Estrategias que nos pueden ayudar para resolver
un problema:


Re-escribir el problema en forma clara y
entenderlo completamente.

Clarificar cualquier redundancia que presente el
enunciado del problema.

Definir exactamente que se quiere hacer.

Especificar con precisión todas las restricciones
o condiciones que debe satisfacer la solución.
Algoritmos

Un algoritmo es un modelo de la resolución de un


problema.

… o un conjunto de directivas o una fórmula que indicará


exactamente cómo se obtendrán los resultados deseados.
… es una secuencia de operaciones precisas (no
ambigüas ) para resolver un problema en un número finito
de Pasos. (Podemos decir que es similar a una receta)
Algoritmos
El conjunto de instrucciones dadas para armar un triciclo a partir
de sus componentes, el procedimiento para registrarse en un
colegio, una receta para preparar una torta, son ejemplos válidos
de algoritmos. Describamos un algoritmo que llamaremos
shampoo:
1. Mojar el cabello.
Y para preparar
2. Aplicar shampoo. un té?
3. Masajear.
4. Enjuagar.
5. Repetir.
Algoritmos

Un algoritmo es una secuencia de operaciones


precisas (i.e. no ambigüas) para resolver un
problema en un número finito de pasos.
Por secuencia de operaciones, entendemos que
para cada paso del algoritmo, el siguiente está
definido sin ambigüedad.
El orden de ejecución puede indicarse en la
especificación, numerando los pasos con enteros
positivos.
Ejemplo

Se cuenta con dos jarras, una de 4 y otra de 9 Litros.


Se sabe que hay un tanque conteniendo agua en
abundancia.
Indique una secuencia de pasos que permita obtener
exactamente 6 litros en una de las jarras.
Considere: las acciones: llenar jarra – vaciar jarra
Propiedades de los Algoritmos

Todo algoritmo debe tener un punto inicial y por lo


menos uno final.
Las propiedades de un algoritmo incluyen:
Entrada / Salida: Recibe Entrada y genera Salida.

Precisión: Cada paso esta precisamente explicitado


Algoritmos
Correctitud: Un algoritmo es correcto, si cumple con los tres puntos
siguientes:

El algoritmo resuelve el problema para el cual fue diseñado:
efectividad.

Para cada entrada, el algoritmo produce la salida deseada.

El algoritmo termina en un tiempo finito: finitud.
Generalización: Un algoritmo es aplicable a un conjunto de entradas.
Las operaciones que componen un algoritmo son llamadas primitivas,
y deben ser entendibles para la persona o máquina que las ejecutar ́ a.
Por lo tanto el conjunto de primitivas posibles para escribir un
algoritmo depende de quien o que lo ejecutará.
Caso de Estudio
Realizar un algoritmo en el que un alumno pueda ingresar 3 notas y obtener
su promedio.
Análisis:
Objetivo del Problema: hallar el promedio
Datos: nota1, nota2, nota3
Plan= pasos para resolverlo:
Paso1= leo nota1
Paso2= leo nota2
Paso3= leo nota3
Paso4= hallo el promedio
Paso5= lo muestro en pantalla
Ejecuto el algoritmo= compruebo si resuelvo el problema. Lo probamos con
ejemplos de notas.
Caso de Estudio

Para comprobar el algoritmo realizamos una tabla

nota1 nota2 nota3 Promedio

10 7 7 (10+7+7)/3=8
estudiante1
7 7 8 (7+7+8)/3= 7,33
estudiante2
4 6 9 (4+6+9)/3=6,33
estudiante3
Software: PSe-int

Para trabajar en esta unidad utilizaremos un software que se


llama Psen-int
pseint.sourceforge.net
Datos

El mecanismo de resolución de problemas


involucra generalmente una transformación o
un procesamiento de los objetos del problema.

La representación de dichos objetos estará dada


por sus características principales o por la
información que nos interese conocer de ellos
Abstracción de Datos
Datos

Podemos identificar 3 clases de datos en un


algoritmo

Datos de entrada: estarán disponibles al
comienzo de nuestro algoritmo

Datos de salida: representarán el resultado
de nuestro algoritmo

Datos auxiliares: serán datos que se
crearan durante la ejecución del algoritmo
Asignación
En un algoritmo, para cambiar el valor de
una variable se utiliza un paso elemental
llamado asignación
Notación
nombre_variable = expresión

Donde el resultado de la expresión será del


mismo tipo que la variable ( o compatible)
Ejemplos


Dado el dato d1, incrementar su valor en 1
d1 = d1+1 //primero evalúa d1+1, luego asigna


Dados dos datos d1 y d2, intercambiar sus
valores
auxiliar = d1 //guardo el valor
d1 = d2 //asigno
d2 = auxiliar //recupero el valor
Asignación

Para poder resolver el problema mediante un algoritmo


necesitaremos recurrir a instrucciones. Una
instrucción es una orden o acción clara y precisa.
Asignación: Es la instrucción que nos permite asociar
un valor a una variable, es decir, nos permite
almacenar un dato en una variable. Es la instrucción
fundamental, dado que todo algoritmo puede verse
como una composición de asignaciones. Su sintaxis
es:
Un valor
X←E Una variable
Una expresión

You might also like