estrd22s1's People
estrd22s1's Issues
Pr2: en `cuentaRegresiva` no tenés en cuenta los valores negativos
El enunciado pide explícitamente que se contemplen, pues establece que NO debe ser un error. Así como está definida, los números negativos se cuelgan.
Pr3: en `poner` podrías no usar recursión...
Ya sé que es una práctica de recursión... Pero siempre es mejor usar las herramientas más simples disponibles. ;)
Pr3: `hayTesoroEn` debería ser total
Como faltan casos, hay situaciones para las que se cuelga...
El tipo `Entrenador` está definido en forma levemente ineficaz
No es necesario que el tipo Entrenador
tenga un par de Pokemon
. Puede tener ambos Pokemon directamente, sin el par.
Eso te complica después las funciones...
Pr2: en `asignadosPorProyecto` estás repitiendo muchas veces cada proyecto...
O sea, si un proyecto p
particular aparece 3 veces, ponés 3 elementos (p,3)
en la lista final, y esto no es feliz.
Además, estás recorriendo muchísimas veces todos los proyectos de la empresa, lo que no es muy bueno.
La idea es usar recursión estructural sobre los proyectos de la empresa...
Pr2: faltan ejercicios de la práctica 2...
Algunos de Pokémon y todos los de Empresas.
Pr2: es innecesario renombrar `(==)` a `equal`
Usá directamente (==)
... Por regla general, no es feliz hacer renombre de funciones sin otro propósito que cambiarle el nombre. Debería haber alguna razón más que solo eso...
Pr 2: en `proyectosSinRepetidos ` estás mirando la pertenencia contra una lista más larga de lo necesaria
Al usar ps
en lugar de proyectosSinRepetidos ps
en la condición, mirás más veces de las necesarias.
Esto es en general para cuando querés remover duplicados...
Este tema lo vimos en clase...
La función `vieneDespues2` utiliza una característica que no hay para `DiaDeLaSemana`
NO está permitido usar la característica deriving
en algo diferente de la clase Show
(en esta materia).
Pr2: la función `pertenece` tiene miedo al booleano
NUNCA devolvemos True o False en un if. Hay formas más comunicativas de decir lo mismo. Nuevamente, es un tema que vimos en la práctica 1.
Pr3: `alMenosNTesoros` es incorrecta
Siempre da False, ya que nunca usa el número que le estás pasando para nada más que para decrementarlo...
La función `esMayorQueLaOtra` tiene miedo al booleano
No es adecuado escribir if cond then True else False
porque es lo mismo que cond
.
Pr2: el segundo caso de `losQueTrabajanEn` es innecesario
NUNCA hagas doble PM si no es necesario. Y SIEMPRE agotá los casos de un parámetro antes de mirarel otro... (cuando es necesario mirarlo, que no es este caso).
Pr3: `ponerN` es innecesariamente compleja e incorrecta
¿Por qué hacer recursión sobre AMBOS parámetros, si alcanza con hacerlo sobre UNO SOLO?
Esto te lleva a equivocarte en la cantidad de bolitas que pone... ¿La probaste?
Pr3: `simplificarNegacion` no es correcta
Porque es una auxiliar que debe ARMAR una negación según sea el argumento. Y lo que hace es sacar doble negación directamente, sin agregar nada, por lo que cambia el significado...
Funciona por propiedades accidentales de la negación, pero no es feliz que sea así.
Pr2: tus funciones `and'` y `or'` son inadecuadas porque usan doble PM
Lo trabajamos en la práctica 1, y se supone que no vuelvan a cometer los mismos errores...
Un truco para hacer eso es REUTILIZAR, en lugar de reinventar todo cada vez...
La función vieneDespues es incorrecta
La función vieneDespues
definida no es la pedida. Por ejemplo, Miercoles
viene después que Lunes
, pero tu función no lo indica adecuadamente, porque solamente considera el caso inmediato siguiente, y no todos.
Atención al corregirla de no caer en una explosión combinatoria de casos. El consejo es usar subtareas adecuadas.
El nombre de tu repositorio no cumple estrictamente con el solicitado
Es importante que aprendan a respetar las consignas al pie de la letra...
Pr2: la función `agregarAlFinal` no está hecha con recursión estructural
Toda la idea de esta práctica es usar recursión estructural, por lo que la solución ofrecida es inadecuada.
Por otra parte, en esta definición, la ecuación 1 es innecesaria, porque está cubierta por la siguiente. Si vas a hacer una solución con subtareas, no deberías mirar casos particulares...
Pr3: `ramaMasLarga` no está hecha estrictamente por recursión estructural
Al utilizar una función auxiliar sobre los subárboles, se pierde la idea de recursión estructural (y se trabaja de más).
Pensá por recursión estructural... (y subtareas)
La función `juntarPokemon` es ineficaz
Básicamente, si se cambia la definición de entrenador, se te complica esta función...
Además, al mirar a los dos al mismo tiempo estás repitiendo trabajo que debería ser para subtareas.
Finalmente, si bien no está mal usar fst
y snd
, estaría bueno que practiques el uso de PM, porque lo vamos a usar mucho...
Pr2: la función `zipMaximos` no es totalmente correcta
Básicamente, pierde elementos. Los elementos que sobran en cualquiera de las 2 listas deberían ser parte de la solución (o sea, en ese sentido esta función no es igual a zip
).
Pr2: hay 2 soluciones para `agregarAlFinal`
No es feliz ofrecer más de una solución sin elegir alguna, o sin establecer las ventajas y desventajas de cada una de ellas. Eso muestra indecisión y acá se trata de poder tomar decisiones...
Funciones and y or diferentes a las pedidas.
La función and
de la práctica 1 debería comportarse de la siguiente manera:
> and False (error "Mal")
False
Sin embargo, tu versión da error "Mal"
.
Así, no es la función pedida.
Exactamente lo mismo pasa con la función or
, que debería pasar el test or True (error "Mal")
dando True
.
Pr3: falta atreverse al desafío... :-D
Es interesante de pensar. Consejo: dividir en subtareas... ;)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.