owned this note
owned this note
Published
Linked with GitHub
# Guía 2 (revisión 20231C)
## Propuesta clase 2
1c) esMinimo [20min]
- analizar contexto donde tiene sentido preguntarse si n es el mínimo
- es necesario un requiere que chequee si elem está en l?. Diferencias entre si lo pongo o no, está mal o no? Depende, todo depende.
- analizar distintas maneras de decir mínimo
- no hay otro más chicos
- todos son más grandes
2d) buscar [20min]
- idem antes, tengo que poner que elem está en la secuencia como requiere? qué pasa si no lo pongo? debatir y tomar decisión
- discutir 3 ej de posibles soluciones
- cuál es más ambigua, cual no etc (ver soluciones de la guia)
2f) ordenadaCrecientemente [20min]
- idem antes, analizar distintas posibles soluciones y comparar cuál es más ambigua o no
- hablar sobre modularizar para encarar problemas, ej definimos el pred sinRepeticion
Presentamos el siguiente enunciado y [BREAK]
2h) elMasRepetido [15min]
- ejercicio semi-integrador, que lo hagan soles y luego hacemos puesta en común
6.b) indiceDelMaximo [10min]
7.a.e.f) encontrar error en espe [20min]
- a) contradicción
- e) típico error de lógica poner el ó
- f) no podemos "devolver" expresiones lógicas
## Revisión v3 - Preclase
[ ] Agrego ejercicio para comparar espe semiformal vs formal: ej3 buscar
[ ] Sumar ejercicios nuevos al final
## Revisión v2 - Post repaso teórica
- [x] Definir típicos ejercicios de especificación básicos
- máximo
- mínimo
- cantidadDeApariciones
- ordenado
- ?
- [x] Borrar todos los "in"/out
- [x] Comentar ejercicios IN/OUT (se ven luego de imperativo)
- [x] Verificar que no haya aux ni pred, ahora son todos problemas que llaman a problemas
- [ ] Agregar un par de ejercicios para practicar bottomup/town down en especificación semiformal. REVISAR
- [ ] Sugerir cuáles ejercicios ver en clase
- [ ] Revisar estrellitas
### Ejercicios
- ej1
- practican bottomUp de a poco, reusen problemas sencillos, introducción a posición en rango en secuencias, noten diferencia con especificación formal de los mismos ejercicios
- REVISAR ejercicios 9-10-11, dejar resolución para docentes (paso en limpio de la Revisión v1)
- Ejercicio 10
- descomposición en primos
- requiere: n es entero positivo
- asegura: todos las tuplas ordenadas con respecto a su 2da componente
- asegura: la 1ra componente de todas las tuplas son primos
- hay que impedir que pongan cualquier número a la 0
- asegura: la 2da componente de todas las tuplas debe ser entero positivo
- asegura: la productoria entre el primer componente de cada tupla elevado a la 2da componente, es igual n
- diferencia máxima en secuencia
- asegura: res es igual a la resta entre dos elementos distintos de la lista l
- asegura: toda diferencia entre dos elementos cualesquiera de l es menor o igual a res medido en módulo.
- aquel que divide más TODO: revisar porque queda medio rari así)
- requiere true
- asegura: resultado pertenece a l
- asegura: todo numero de la lista que divide a algún otro número de la lista, divide a menor cantidad de números que resultado
- ejercicio 11 TODO: resolver
## Revisión v1 - Filtrado de vieja guía 3
### Tareas:
- [ ] Falta revisar los ejercicios estrella
- [ ] Sugerir cuáles ejercicios ver en clase
- [ ] Proponer/revisar qué ejercicios serían tipo parcial de IP (revisar ejercicios 9, 10 y 13 de la nueva guía)
Obs:
- FIXED son cambios ya hechos en la p2
- TODO son cosas que estaría bueno revisar con algún docente más
### Revisión
Comentarios sobre cada ejercicio/lo que se espera que practiquen en c/u /pseudosolución
- ejercicio 1
- a) indefinición de var out
- b) indice de lista en rango + True != true
- Ya ven yLuego?
- c) falta pedir que pertenezca result + pre no vacio
- ejercicio 2
- b) [1,3,-2]
- 2
- c) Permitir especificación semiformal en requiere "suma" es una suma valida de los elem de l
- ejercicio 3
- a) TODO: Cuál es la idea moraleja de este ej? lo volaría
- I) 0
- II) 1/-1
- III) +-raiz de 27
- b) TODO: indiceDelMaximo no estaría bueno que tengan que leer la espe para saber qué pide y no que solo lean el nombre en el enunciado?
- II) para que vean que hay dos maximos y cualquier índice esta OK
- III) idem
- c) FIXED: agregué i!= result en asegura
- ejercicio 4
- a) pide condiciones contradictorias sobre a
- b) no indica que pasa cuando a=0
- c) OK
- d) OK
- e) Piola para contrarestar con el anterior -> **EN CLASE**
- f) TODO: 1er uso del ifthenelsefi en la práctica, por ahí deberíamos introducirlo antes en un ejemplo bien utilizado, no?
- ejercicio 5: lo podemos mover antes
- ejercicio 6: OK
- ejercicio 7: OK
- ejercicio 8: FIXED: usaba beta TODO: mi propuesta fue cambiar este ejercicio a lenguaje semiformal para que vean unos ejemplos en la guía de lo que se espera. La idea es que lo usen de guía/ejemplo para hacer el viejo ejercicio 14. Ya modificado en la nueva p2.
- Ejercicio 9 al 14 no suman nada que no hayan visto en ejercicios anteriores. Vuelan.
- Ejercicio 14: Especificar los siguiente problemas semiformalmente (VER EN CLASE)
- FIXED: vuelan a) b) c)
- d) descomposición en factores primos
- requiere: n es entero positivo
- asegura: todos las tuplas ordenadas con respecto a su 2da componente
- asegura: la 1ra componente de todas las tuplas son primos
- hay que impedir que pongan cualquier número a la 0
- asegura: la 2da componente de todas las tuplas debe ser entero positivo
- asegura: la productoria entre el primer componente de cada tupla elevado a la 2da componente, es igual n
- diferencia máxima en secuencia
- asegura: res es igual a la resta entre dos elementos distintos de la lista l. TODO: acá deberíamos alentarles a que digan: "existen dos elementos en la lista tal que blabla" o aceptamos cualquier variante semiformal?
- asegura: toda diferencia entre dos elementos cualesquiera de l es menor o igual a res medido en módulo. TODO: idem punto anterior, algo así de informal lo aceptamos, no?
- TODO: agregar 1 ejercicio más inicial antes de estos dos y otro un poco más complejo
- e) aquel que divida más? Si les tiramos este ejercicio no sé si lo sacan...
- acá solo deberían decir qué significa ser máximo coloquialmente
- podríamos darle como ayuda definir la auxiliar que cuente a cuantos divide
- ->sepan definir aux sumatoria con ifthen formalmente
- -> puedan usar su aux en la espe informal
- ejercicios 15: Especificar semiformalmente los siguientes problemas sobre listas
- b) s subcadena de t
- c) lista incluida en otra
- d) mezclar ordenado
- TODO: agregar otro ejercicio nivel parcial sobre especificación sobre secuencias?
- ejercicio 16 vuela (no ven especificar sobre matrices en esta iteración)
- ejercicio 17 (introducción a INOUT)
- Ejercicio 18 vuela (no vemos head/tail de seq en teorica)
- ejercicio 19: queda
- ejercicio 20 vuela, ya no hacemos énfasis en que sepan leer especificaciones formales un poco rebuscadas/más complejas
- ejercicio 21: TODO: Ejercicios donde completen especificación semiformal sobre listas. Los últimos 2 deberían ser del nivel que esperamos en el parcial. Solución esperada:
- a) [21a original]
- asegura: el tamaño de l y L0 es igual
- asegura: toda posición par de l cumple que es el doble que el valor en esa misma posición en L0
- (falta pedir resto de posiciones impares iguales)
- b)[ejercicio 22b] reemplazar(l,a,b)
- requiere: a en l y l=L0
- asegura: tamaños de l y L0 iguales
- asegura: toda posición en l que tenía un a cumple que en L0 tiene un b
- (anterior iguales)
- TODO: pensar un ejercicio nuevo tipo nivel parcial, consideré el 22e pero no me terminó de cerrar, queda un lio la post coloquial.