Está en la página 1de 5

Resolución de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf.

Año 2015

PRÁCTICO No 4

Parte 1: Resolución de Problemas


Ejercicio 1:
a) A continuación se muestra el enunciado de un problema y el algoritmo que lo resuelve. Analice
la solución propuesta e indique si cumple con las caracterı́sticas que debe tener un algoritmo.

Preparar una taza de leche con chocolate

Algoritmo:
1. Tomar una taza vacı́a
2. Llenar la taza con leche
3. Poner la taza en el microondas
4. Establecer el tiempo de un minuto con 30 segundos
5. Encender el microondas
6. Esperar que el microondas termine
7. Retirar la taza del microondas
8. Tomar el cacao
9. Tomar una cucharita
9. Echar 2 cucharadas de cacao en la taza
10.Tomar azucarera
11.Echar 2 cucharadas de azúcar en la taza
12.Revolver la preparación con la cuchara

b) Especifique procesador y ambiente del algoritmo.

Ejercicio 2:
a) A continuación se muestra el enunciado de un problema y dos propuestas de algoritmos que lo
resuelve. Analice las soluciones propuestas e indique si cumplen con las caracterı́sticas que debe tener
un algoritmo.

Colocar 4 litros de agua en un balde utilizando un vaso de 200 cc. (Se supone que estoy al lado
de una canilla)

a) b)
Algoritmo: Algoritmo:
1. Tomar el vaso 1. Tomar el vaso
2. Repetir 20 veces 2. Repetir
3. Abrir la canilla 3. Abrir la canilla
4. Llenar el vaso de agua 4. Llenar el vaso de agua
5. Cerrar la canilla 5. Cerrar la canilla
6. Vaciar el vaso en el balde 6. Vaciar el vaso en el balde
7. Dejar el vaso 7. Dejar el vaso

Nota: la acción Dejar el vaso no pertenece a la repetición, todas las acciones que tienen sangrı́a o
indentación (comienzan más a la derecha), son las acciones que se ejecutan dentro de la repetición.

b) Especifique procesador y ambiente del algoritmo correcto.

Práctico 4: Res. de Problemas - Ref. Sucesivo Página 1 Dpto. de Informática


Resolución de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Año 2015

Ejercicio 3:
Dado el problema:
Usted sabe que en alguno de los canales de televisión se está transmitiendo la pelı́cula “Jumper”
y la quiere ver. La busca, cuando la encuentra, la mira y luego de terminar de ver la pelı́cula apaga
el televisor.
A continuación se presentan dos posibles soluciones al problema, analı́celas y luego conteste:
Procesador: persona
Ambiente: televisor

Solución 1 Solución 2
1. Encender el televisor 1. Encender el televisor
2. Si (el canal emite Jumper) 2. Mientras (el canal no emite Jumper)
3. Ver la pelı́cula 3. Cambiar de canal
4. Apagar el televisor 4. Repetir
5. Ver la pelı́cula
6. Apagar el televisor

1. ¿Funcionan de la misma manera ambas soluciones? Si se considera que no, ¿qué diferencia existe
entre ambas?

2. ¿Ambas soluciones resuelven el problema? Justifique su respuesta.

Ejercicio 4:
Se necesita un algoritmo que resuelva: Llenar una zanja con arena utilizando una pala. A conti-
nuación se dan dos soluciones posibles, analı́celas y conteste:
Procesador: persona
Ambiente: pala, zanja, arena

Solución 1 Solución 2
1. Tomar la pala 1. Tomar la pala
2. Ubicarse frente a la zanja 2. Ubicarse frente a la zanja
3. Mientras (la zanja esté vacı́a) 3. Repetir 20 veces
4. Agregar una palada de arena 4. Agregar una palada de arena
5. Repetir 5. Dejar la pala
6. Dejar la pala

1. ¿Considera que ambas soluciones son correctas? Si responde que no, diga cuál no lo es y explique
por qué.

2. Proponer otro algoritmo que solucione el problema propuesto.

Práctico 4: Res. de Problemas - Ref. Sucesivo Página 2 Dpto. de Informática


Resolución de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Año 2015

Parte 2: Resolución de Problemas. Refinamiento Sucesivo


Nota: Para resolver cada uno de los problemas planteados aplicar el modelo propuesto por Polya
expuesto en la lectura recomendada.

Ejercicio 1:
Se necesita un algoritmo que resuelva el siguiente problema:

Se tienen 2 vasos iguales, llenos de jugo uno y agua el otro. Se desea tomar de cada uno un
sorbo. La determinación de cuál vaso tomar se hará arrojando una moneda. El proceso termina
cuando se vacı́a el primero de los 2 vasos.

Version 1:

T1: Llenar los vasos.

T2: Tomar jugo o agua, determinándolo con una moneda, hasta terminar.

T3: Informar de qué vaso tomé más.

Terminar de diseñar el algoritmo a partir de la versión 1, realizando 3 niveles de refinamiento para


llegar al algoritmo final.

Ejercicio 2:
a) Dado el siguiente problema, diseñe un algoritmo que permita resolverlo utilizando la técnica de
Refinamiento Sucesivo.

Se necesita calcular y mostrar el resultado de la multiplicación entre los números 15 y 25


mediante sumas sucesivas.

b) Ahora suponga que utiliza una calculadora y conoce que las primitivas con las que cuenta son las
que se dan a continuación. Rediseñe el algoritmo anterior utilizando las mismas.
Acciones Primitivas (en la notación que sigue <> significa tecla).
t1. Oprimir < C > (limpiar pantalla)
t2. Oprimir < dig >
t3. Oprimir < + >
t4. Oprimir < ∗ >
t5. Oprimir <=> (muestra el resultado en el visor)

Ejercicio 3:
Conociendo las primitivas definidas en el ejercicio anterior y utilizando Refinamiento Sucesivo di-
señe los algoritmos que, utilizando una calculadora, permitan:

a) Calcular y mostrar el resultado de (2 ∗ 5) + (4 ∗ 6), mediante sumas sucesivas.

b) Calcular y mostrar el resultado de 1247 mediante multiplicaciones sucesivas.

Práctico 4: Res. de Problemas - Ref. Sucesivo Página 3 Dpto. de Informática


Resolución de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Año 2015

Ejercicio 4:
Dadas las siguientes acciones primitivas:
t1. Guardar el nro en nombre
t2. Tomar el valor de nombre
t3. Guardar el resultado en nombre
t4. Sumar
t5. Mostrar resultado en nombre
Donde nro es cualquier natural y nombre es cualquier secuencia de letras del alfabeto castellano.
Utilizando Refinamiento Sucesivo, diseñar algoritmos repetitivos que calculen y muestren:

a) La suma de todos los números pares entre 2 y 100.

Ejercicio 5:
Suponga que un usuario le informa el tiempo, expresado en minutos, que utiliza un proceso para
obtener su resultado. Diseñar un algoritmo que permita calcular los dı́as, horas y minutos que representan
el tiempo informado.

Ejercicio 6:
Dados 4 números enteros positivos todos diferentes:

Diseñar un algoritmo que los ordene de menor a mayor.

Qué modificarı́a, en el algoritmo anterior, para que los números quedaran ordenados de mayor a
menor.

Ejercicio 7:
Diseñe un algoritmo que, dado un mazo completo de cartas en una pila, arme 10 pilas en las que
cada una sólo tenga cartas con el mismo número. Las cartas pueden estar boca arriba o boca abajo.

Ejercicio 8:
Diseñe un algoritmo que saque el tope de una pila y arme dos nuevas pilas, una pila con las cartas
mayores o iguales que el tope y otra con las cartas que son menores. Las cartas de la pila original pueden
estar boca arriba o boca abajo.

Práctico 4: Res. de Problemas - Ref. Sucesivo Página 4 Dpto. de Informática


Resolución de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Año 2015

Ejercicios Complementarios

Ejercicio 1:
Hay tres interruptores afuera de un cuarto que está cerrado con llave. Adentro del cuarto hay tres
lámparas. Usted puede encender y apagar los interruptores cuantas veces quiera, siempre y cuando la
puerta del cuarto permanezca cerrada. Además puede entrar al cuarto una sola vez. Diseñar un algoritmo
que permita:
Determinar cuál interruptor le corresponde a cada lámpara.
Indique el procesador y el ambiente correspondiente.

Ejercicio 2:
Diseñe el algoritmo que resuelva el siguiente problema, indicando el procesador y el ambiente co-
rrespondiente:
Jacinto tiene doce monedas, pero sabe que una de ellas es falsa porque es más pesada que cada
una de las restantes. Le dicen que use una balanza de dos platos y con sólo tres pesadas averigüe cuál
es la moneda falsa.

Ejercicio 3:
Diseñe el algoritmo que resuelva el siguiente problema, indicando el procesador y el ambiente co-
rrespondiente:
Un señor entra en una taberna y pide cuatro litros de vino. ¿Cómo se las ingenia el tabernero
para medir cuatro litros exactos sabiendo que tiene sólo un barril de ocho litros de vino y dos cazos
para medir, uno de tres y otro de cinco?

Ejercicio 4:
Diseñe el algoritmo que resuelva el siguiente problema, indicando el procesador y el ambiente co-
rrespondiente:
Dado un número natural, determinar cuáles son sus divisores.

Ejercicio 5:
Calcular, mediante un algoritmo repetitivo y utilizando refinamiento sucesivo, la suma de los N
primeros números naturales.

Práctico 4: Res. de Problemas - Ref. Sucesivo Página 5 Dpto. de Informática

También podría gustarte