resolucion de ejercicios del primer...

14
Resoluci´ on de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. no 2015 RESOLUCI ´ ON DE EJERCICIOS DEL PRIMER PARCIAL 13/05/2015 Ejercicio 1: Se tiene una planilla de al menos 15 n´ umeros naturales. Se pide calcular, para cada valor, cu´ ales y cu´ antos son sus divisores. Por ejemplo, para el n´ umero 10 la salida del algoritmo ser´ ıa: Los divisores de 10 son 4: 1, 2, 5 y 10. Se pide dise˜ nar la soluci´ on al problema, utilizando al menos 2 niveles de renamiento sucesivo, inclu- yendo la versi´ on nal. Especicar, adem´ as, el ambiente y el procesador considerados. Nota: Los divisores de un n´ umero natural son los n´ umeros naturales que lo pueden dividir, resul- tando de cociente otro n´ umero natural y de resto 0. A continuaci´ on se muestra como ejemplo la soluci´ on de uno de los alumnos que rindi´ o el parcial, que se ha considerado adecuada. 2015 - Departamento de Inform´ atica - Universidad Nacional de San Luis 1

Upload: others

Post on 04-Oct-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

Resolucion de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Ano 2015

RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL13/05/2015

Ejercicio 1:Se tiene una planilla de al menos 15 numeros naturales. Se pide calcular, para cada valor, cuales y

cuantos son sus divisores. Por ejemplo, para el numero 10 la salida del algoritmo serıa: Los divisoresde 10 son 4: 1, 2, 5 y 10.Se pide disenar la solucion al problema, utilizando al menos 2 niveles de refinamiento sucesivo, inclu-yendo la version final. Especificar, ademas, el ambiente y el procesador considerados.Nota: Los divisores de un numero natural son los numeros naturales que lo pueden dividir, resul-

tando de cociente otro numero natural y de resto 0.A continuacion se muestra como ejemplo la solucion de uno de los alumnos que rindio el parcial,

que se ha considerado adecuada.

2015 - Departamento de Informatica - Universidad Nacional de San Luis

1

Page 2: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

2

Page 3: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

Resolucion de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Ano 2015

Antes de dar ejemplos de posibles soluciones a los ejercicios 2 y 3, cabe aclarar que cada uno delos ejercicios se considerarıa correctamente respondido si la respuesta otorgada cumple con la consignapedida. En las resoluciones que se muestran de los ejercicios se han agregado muchos mas detalles, demanera de que dichas resoluciones les sirvan para comprender mas cabalmente algunas de las posiblesopciones de respuestas validas.

Ejercicio 2: Dado la siguiente condicion de una sentencia de seleccion de un proceso algorıtmico enLenguaje TIMBA:

LA CARTA NO ESTA BOCA ABAJO Y LA CARTA ES DE VALOR MENOR O IGUAL A 7 OLA PILA AA NO ESTA VACIA Y LA CARTA NO ESTA BOCA ABAJO

Y LA CARTA ES DE BASTOS Y LA CARTA ES DE MENOR VALOR QUE TOPE DE LA PILA AA

Se pide:

1. Identifique las proposiciones simples y reescriba la condicion en Logica Proposicional, conside-rando la jerarquıa de los conectivos.

Nombrando a cada una de las proposiciones simples de la siguiente manera:P: LA CARTA ESTA BOCA ABAJO

Q: LA CARTA ES DE VALOR MENOR A 7

R: LA CARTA ES DE VALOR IGUAL A 7

S: LA PILA AA ESTA VACIA

T: LA CARTA ES DE BASTOS

U: LA CARTA ES DE MENOR VALOR QUE TOPE DE LA PILA AA

La formula que representa la condicion en Logica Proposicional serıa:

((¬ P ∧ (Q ∨ R)) ∨ (((¬ S ∧¬ P) ∧ T) ∧ U))

2. Dadas las siguientes situaciones, analice si serıa posible ejecutar las sentencias que se encuentrenentre el SI y el SINO (porque la condicion es verdadera) o las sentencias que se encuentren entreel SINO y el NADA MAS (porque la condicion es falsa). En caso que no sea posible continuarejecutando, indique claramente el motivo.

a) La pila AA contiene las cartas: 1 DE OROS ↑ - 11 DE OROS ↑ - 12 DE BASTOS ↑ y UCP tieneen mano la carta 10 de BASTOS ↑.La condicion es verdadera porque, aunque (¬ P ∧ (Q ∨ R)) es falsa (la carta esta boca arribapero su valor no es menor o igual a 7), (((¬ S ∧¬ P) ∧ T) ∧ U) es verdadera (la pila AA noesta vacıa y la carta no esta boca abajo y la carta es de bastos y su valor es menor que el deltope de la pila AA) y ası la disjuncion lo es.Por lo tanto, se ejecutarıan las sentencias que se encuentren entre el SI y el SINO.

b) La pila AA contiene las cartas: 1 DE OROS ↑ - 11 DE OROS ↑ - 10 DE BASTOS ↑ y UCP tieneen mano la carta 2 de BASTOS.UCP no podrıa seguir ejecutando al intentar evaluar: LA CARTA ES DE VALOR MENOR OIGUAL A 7, porque darıa un mensaje de error:USTEDQUIERE SABER SI LACARTA ESDEVALORMENORO IGUALA 7 PEROLACARTAESTA BOCA ABAJO.

2015 - Departamento de Informatica - Universidad Nacional de San Luis3

Page 4: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

Resolucion de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Ano 2015

c) La pila A contiene las cartas: 1 DE OROS ↑ - 11 DE OROS ↑ - 10 DE OROS ↑ y UCP tiene en lamano la carta 6 de OROS ↑.La condicion es verdadera porque (¬ P ∧ (Q ∨ R)) es verdadera (la carta no esta boca abajoy su valor es menor o igual a 7), aunque (((¬ S ∧¬ P) ∧ T) ∧ U) es falsa (aunque la pila noesta vacıa y la carta esta boca arriba y la carta es de valor menor que el tope de la pila AA,la carta no es de bastos); y ası la disjuncion es verdadera.Por lo tanto, se ejecutarıan las sentencias que se encuentren entre el SI y el SINO.

d) La pila AA no contiene cartas y UCP tiene en la mano la carta 3 de ESPADAS ↑.La condicion (¬ P ∧ (Q ∨ R)) se evalua como verdadera (la carta esta boca arriba y es devalor menor o igual a 7) y y al tener una disjuncion bastarıa con esto para hacerla verdadera.Sin embargo UCP, luego de evaluar a (((¬ S ∧¬ P) ∧ T) ∧ U) como falsa (la pila AAesta vacıa y la carta no esta boca abajo y la carta no es de bastos) no podrıa seguir ejecutandoporque al intentar evaluar LA CARTA ES DE MENOR VALOR QUE TOPE DE LA PILA AAdarıa unmensaje de error:USTED QUIERE COMPARAR EL VALOR DE LA CARTA CON EL DEL TOPE DE LA PILAAA Y LA PILA ESTA VACIA.

e) La pila AA contiene las cartas: 1 DE OROS ↑ - 11 DE OROS ↑ - 7 DE ESPADAS ↑ y UCP tieneen mano la carta 10 de BASTOS ↑.La condicion ((¬ P ∧ (Q ∨ R)) ∨ (((¬ S ∧¬ P) ∧ T) ∧ U)) es falsa, porque en este caso (¬ P∧ (Q ∨ R)) se evalua como falsa (la carta esta boca arriba pero su valor no es menor o iguala 7) y (((¬ S ∧¬ P) ∧ T) ∧ U) se evalua tambien como falsa (la pila AA no esta vacıa y lacarta no esta boca abajo y la carta es de bastos, pero su valor no es menor que el del tope dela pila AA).Por lo tanto, a continuacion se ejecutarıan las sentencias entre SINO y NADA MAS.

A continuacion se muestra como ejemplo la solucion de uno de los alumnos que rindio el parcial,que se ha considerado adecuada (aunque algunas de ellas tengan alguna falencia que pueda aparecerindicada en la correccion).

2015 - Departamento de Informatica - Universidad Nacional de San Luis4

Page 5: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

5

Page 6: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

6

Page 7: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

Resolucion de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Ano 2015

Ejercicio 3: Para la siguiente formula bien formada de un lenguaje de primer orden L, cuyo vocabularioσ consta solo de dos sımbolos de predicado: R binario y P unario y un sımbolo de constante c.

(∀x(¬R(x, x) ⇒ (P (y) ∧ P (c))))Se pide:

a) Determine si la formula es un enunciado (formula cerrada o formula sin variables libres), en caso deno serlo indique cuales son las apariciones de variables libres y cuales las de variables ligadas,mostrando el alcance de cada cuantificador.

Se puede observar que: x aparece ligada en (∀x(¬R(x, x) ⇒ (P (y) ∧ P (c)))), pero y aparecelibre en (P (y)∧P (c)) y por consiguiente y es libre tambien en (∀x(¬R(x, x) ⇒ (P (y)∧P (c)))).

Por consiguiente, como hay una aparicion de una variable libre en la formula, la misma no es unenunciado, o lo que es lo mismo no es una formula cerrada. Los ambitos o alcances de el unicocuantificador que aparece es el siguiente:

(∀x (¬R(x, x) ⇒ (P (y) ∧ P (c)))︸ ︷︷ ︸

alcance del ∀x

)

b) Determine el valor de verdad de la formula considerando como dominio de la interpretacion I alconjunto de los numeros naturales N e interpretando cada uno de los sımbolos de predicado como:RI es la relacion de igualdad entre los numeros de N, P I es el conjunto de los numeros de N queson pares, cI = 19. Si es necesario, utilice los siguientes valores para las variables β(x) = 4,β(y) = 32 y β(z) = 8.

Como en la formula solo la variable y aparece libre una vez, vamos a necesitar hacer uso deβ(y) = 8 para poder determinar el valor de verdad VI de la formula, en la interpretacion I dada,donde RI corresponde a la relacion de igualdad (=), en los numeros naturales N.

Ası, VI((∀x(¬R(x, x) ⇒ (P (y) ∧ P (c))))) = V. La unica manera de que fuera falso serıaque para algun a ∈ N0 fuera VI((¬R(x, x) ⇒ (P (y) ∧ P (c)))(x/a)) = F, pero para elloVI(¬R(x, x)(x/a)) = V y VI((P (y)∧P (c))(x/a)) = F, pero eso significarıa que VI(¬R(a, a))fuera verdadero, pero eso implicarıa que hay un numero natural a tal que (a, a) /∈ RI , o lo que eslo mismo tal que a �= a, lo cual es imposible en N. Por lo tanto llegamos a un absurdo y ası debeser VI((∀x(¬R(x, x) ⇒ (P (y) ∧ P (c))))) = V.

A continuacion se muestra como ejemplo la solucion de uno de los alumnos que rindio el parcial,que se ha considerado adecuada (aunque algunas de ellas tengan alguna falencia que pueda aparecerindicada en la correccion).

2015 - Departamento de Informatica - Universidad Nacional de San Luis7

Page 8: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

8

Page 9: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

Resolucion de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Ano 2015

Ejercicio 4: Para el siguiente proceso algorıtmico en Lenguaje TIMBA:

DEFINICION DE PROGRAMAMIENTRAS PILA mazo NO ESTA VACIATOME UNA CARTA DE PILA mazo,SI LA CARTA ES DE VALOR MENOR O IGUAL A 5 Y LA CARTA ES DEL PALO OROS

DEPOSITE LA CARTA EN LA PILA pila1SINO

SI LA CARTA ES DEL PALO ESPADASDEPOSITE LA CARTA EN LA PILA pila2

SINODEPOSITE LA CARTA EN LA PILA pila3

NADA MASNADA MAS

REPITA,MIENTRAS PILA pila1 NO ESTA VACIATOME UNA CARTA DE PILA pila1,DEPOSITE LA CARTA EN LA PILA mazo

REPITA,MIENTRAS PILA pila2 NO ESTA VACIA

TOME UNA CARTA DE PILA pila2,INVIERTA LA CARTA,DEPOSITE LA CARTA EN LA PILA mazo

REPITA;

Se pide:

a) Realice el Diagrama de Flujo correspondiente al proceso.

b) Realice la ejecucion con cada una de las descripciones de pilas dadas a continuacion, indicando encada caso el estado inicial y final de cada pila. En caso de existir errores o advertencias enuncielos.

1. UCP EJECUTE CON LAS SIGUIENTES CARTAS: PILA mazo TIENE 10 DE ESPADAS↑- 5 DE BASTOS↑ - 12 DE OROS↑ - 3 DE ESPADAS↑ - 2 DE ESPADAS↑ - 5 DE COPAS↑- 1 DE COPAS↑ - 1 DE ESPADAS↑ - 4 DE BASTOS↑ - 2 DE OROS↑ , PILA pila1no tiene cartas, PILA pila2 no tiene cartas, PILA pila3 TIENE 4 DE OROS,PILA pila4 no tiene cartas

2. UCP EJECUTE CON LAS SIGUIENTES CARTAS: PILA mazo TIENE 1 DE OROS - 11DE BASTOS↑ - 6 DE ESPADAS↑ - 5 DE BASTOS↑ - 12 DE OROS↑ - 3 DE ESPADAS↑- 2 DE ESPADAS↑ - 5 DE COPAS↑ - 1 DE COPAS↑ - 1 DE ESPADAS↑ - 4 DE BASTOS↑- 12 DE OROS↑ , PILA pila1 no tiene cartas, PILA pila2 no tiene cartas,PILA pila3 no tiene cartas

A continuacion se muestra como ejemplo la solucion de uno de los alumnos que rindio el parcial, que seha considerado adecuada (aunque algunas de ellas tengan alguna falencia que pueda aparecer indicadaen la correccion).

2015 - Departamento de Informatica - Universidad Nacional de San Luis9

Page 10: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

10

Page 11: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

11

Page 12: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

Resolucion de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Ano 2015

Ejercicio 5: Dado el siguiente problema:Se desea buscar en un mazo de cartas todas las cartas de copas y de bastos menores o iguales a 7

dejando la mayor cantidad posible de copas y bastos intercaladas en la pila INTERCALADAS.Se pide desarrollar un proceso algorıtmico en Lenguaje TIMBA que resuelva el problema utilizando

la tecnica de refinamiento sucesivo con al menos 3 niveles de refinamiento, siendo la tercera version laversion final.

A continuacion, a modo de ejemplo, se muestra una posible solucion al ejercicio: Existen muchasotras posibilidades de procesos algorıtmicos que resuelvan el problema adecuadamente.

Version 1:

t1: Separar de un mazo de cartas todas las copas y bastos menores o iguales a 7, dejandolas en pilasdistintas descartando las restantes.

t2: Intercalar en una pila las copas y bastos separadas anteriormente.

Version 2:Mientras tenga cartas el mazo

t1.1: Tomar una carta del mazo

t1.2: Invertirla si esta boca abajo

Si es menor o igual a 7 y de copas

t1.3: depositarla en la pila PCOPAS

sino si es menor o igual a 7 y de bastos

t1.4: depositarla en la pila PBASTOS

sino

t1.5: depositarla en la pila DESCARTE

Mientras tengan cartas PCOPAS y PBASTOS

t2.1: Tomar una carta de PCOPAS

t2.2: Depositarla en INTERCALADAS

t2.3: Tomar una carta de PBASTOS

t2.4: Depositarla en INTERCALADAS

2015 - Departamento de Informatica - Universidad Nacional de San Luis12

Page 13: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

Resolucion de Problemas y Algoritmos - Ing. en Comp. e Ing. en Inf. Ano 2015

Version final:

DEFINICION DE PROGRAMAMIENTRAS PILA MAZO NO ESTA VACIA

TOME UNA CARTA DE PILA MAZO,SI LA CARTA ESTA BOCA ABAJO

INVIERTALASINO NADA MAS,SI LA CARTA ES DEL PALO BASTOS Y LA CARTA ES MENOR O IGUAL A 7

DEPOSITELA EN PILA PBASTOSSINO SI LA CARTA ES DEL PALO COPAS Y LA CARTA ES MENOR O IGUAL A 7

DEPOSITELA EN PILA PCOPASSINO

DEPOSITELA EN PILA DESCARTENADA MAS

NADA MASREPITA,MIENTRAS PILA PBASTOS NO ESTA VACIA Y PILA PCOPAS NO ESTA VACIA

TOME UNA CARTA DE PILA PCOPAS,DEPOSITELA EN PILA INTERCALADAS,TOME UNA CARTA DE PILA PBASTOS,DEPOSITELA EN PILA INTERCALADAS

REPITA;

A continuacion se muestra como ejemplo la solucion de uno de los alumnos que rindio el parcial,que se ha considerado adecuada (aunque algunas de ellas tengan alguna falencia que pueda aparecerindicada en la correccion).

2015 - Departamento de Informatica - Universidad Nacional de San Luis13

Page 14: RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´dirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · RESOLUCION DE EJERCICIOS DEL PRIMER PARCIAL´ 13/05/2015 Ejercicio 1: Se tiene

14