Herramientas de usuario

Herramientas del sitio


introalg:taller09_soluciones

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
introalg:taller09_soluciones [2009/06/10 02:00] lauraintroalg:taller09_soluciones [2018/08/10 03:03] (actual) – editor externo 127.0.0.1
Línea 585: Línea 585:
  
   * Comprobar si podemos cocinar un determinado platillo dados los ingredientes necesarios para el platillo y los ingredientes que tenemos en la heladera. Se puede ampliar con los utensilios, las técnicas, e implicaciones entre ellos (p.ej., si tenemos que usar la técnica "montar a punto de nieve" necesitamos el utensilio "batidora").   * Comprobar si podemos cocinar un determinado platillo dados los ingredientes necesarios para el platillo y los ingredientes que tenemos en la heladera. Se puede ampliar con los utensilios, las técnicas, e implicaciones entre ellos (p.ej., si tenemos que usar la técnica "montar a punto de nieve" necesitamos el utensilio "batidora").
 +<code>
 +ingredientes(tortilla,[huevos,papas,cebolla,sal,aceite,pimienta]).
 +ingredientes(papafrita,[papas,aceite,sal]).
 +ingredientes(huevofrito,[huevos,aceite,sal]).
 +ingredientes(pizza,[prepizza,salsa,queso]).
 +ingredientes(asado,[carne]).
 +ingredientes(crema,[leche,huevos,azúcar,maicena,canela]).
  
-  * Crear un sistema de alertas que cuando se produce un insumo, chequea en la base de datos cuánta reserva queda de ese insumo y, si la reserva está por debajo de un mínimo, devuelve un mensaje diciendo que hay que comprar más de ese insumo.+tengo(sal). 
 +tengo(azúcar). 
 +tengo(pimienta). 
 +tengo(canela). 
 +tengo(huevos). 
 +tengo(leche). 
 +tengo(queso). 
 +tengo(maicena). 
 + 
 +puedoCocinar(Platillo) :-  
 +   ingredientes(Platillo,Ingredientes) , 
 +   tengoTodos(Ingredientes). 
 + 
 +tengoTodos([]). 
 +tengoTodos([I|Ingredientes]) :- tengo(I) , tengoTodos(Ingredientes). 
 +</code> 
 + 
 +  * Crear un sistema de alertas que cuando se consume un insumo, chequea en la base de datos cuánta reserva queda de ese insumo y, si la reserva está por debajo de un mínimo, devuelve un mensaje diciendo que hay que comprar más de ese insumo. 
 +<code> 
 +queda(jeringas,8). 
 +queda(vendas,20). 
 +queda(curitas,30). 
 + 
 +minimo(jeringas,5). 
 +minimo(vendas,10). 
 +minimo(curitas,20). 
 + 
 +bajoMinimo(Insumo,Cantidad) :- 
 +  queda(Insumo,Reserva) , 
 +  minimo(Insumo,Minimo) , 
 +  (Reserva - Cantidad) =< Minimo . 
 +</code>
  
   * Hacer un programa **no muy largo** que, dado un animal, nos diga si es ovíparo o vivíparo, si vive en la tierra, en el agua o en el aire, si come carne o vegetales, etc. Tratar excepciones como "delfín" (mamífero marino), "nutria" (mamífero de agua dulce) o "guppi" (pez vivíparo).   * Hacer un programa **no muy largo** que, dado un animal, nos diga si es ovíparo o vivíparo, si vive en la tierra, en el agua o en el aire, si come carne o vegetales, etc. Tratar excepciones como "delfín" (mamífero marino), "nutria" (mamífero de agua dulce) o "guppi" (pez vivíparo).
 +<code>
 +mamifero(vaca).
 +mamifero(delfín).
 +mamifero(nutria).
 +acuatico(delfín).
 +acuatico(nutria).
 +pez(trucha).
 +pez(guppi).
 +viviparo(guppi).
  
 +terrestre(X) :- mamifero(X) , not(acuatico(X)).
 +acuatico(X) :- pez(X).
 +viviparo(X) :- mamifero(X).
 +oviparo(X) :- pez(X) , not(viviparo(X)).
 +</code>
  
 ==== ejercicios de recursividad clásicos 1/06/2009 ==== ==== ejercicios de recursividad clásicos 1/06/2009 ====
Línea 603: Línea 655:
 El problema de las n reinas (perdón, no eran 9 :-} ). Está muy bien explicado en el [[http://programacionilogica.wordpress.com/|blog de programación lógica]] de un estudiante de informática, tanto [[http://programacionilogica.wordpress.com/2008/02/11/implementacion-del-problema-de-las-n-reinas-en-haskell-programacion-funcional/|para haskell]] como [[http://programacionilogica.wordpress.com/2008/02/07/implementacion-del-problema-de-las-n-reinas-en-prolog/|para prolog]]. El problema de las n reinas (perdón, no eran 9 :-} ). Está muy bien explicado en el [[http://programacionilogica.wordpress.com/|blog de programación lógica]] de un estudiante de informática, tanto [[http://programacionilogica.wordpress.com/2008/02/11/implementacion-del-problema-de-las-n-reinas-en-haskell-programacion-funcional/|para haskell]] como [[http://programacionilogica.wordpress.com/2008/02/07/implementacion-del-problema-de-las-n-reinas-en-prolog/|para prolog]].
  
-El problema de misioneros y caníbales+El problema de misioneros y caníbales está bien explicado como caso particular de un problema de búsqueda en estas [[https://forja.rediris.es/docman/view.php/82/300/busqueda1.pdf|filminas sobre búsqueda]].
introalg/taller09_soluciones.1244599251.txt.gz · Última modificación: 2018/08/10 03:03 (editor externo)