kemalle cananda toplanti var kemalle okulda toplanti var okuldaki kemalleri goster canandaki kemalleri goster diyalogu implement edildi ve oldukca iyi bir hizda calisiyor. Dedigin sorunu çözmek için Prolog'da findall diye bir predicate var: > > findall(X,P,L) > > dediginde bütün çözümlerini bulmak istedigin predicate P, onun içinde > > dönmesi istenen variable X, L de basta free bir degisken olursa sonuçta > > L'yi P'yi satisfy eden tüm X degerlerinin listesine baglar. Bir Prolog > > kitabindan, SWI'in sitesinden veya belki Seniz'den ekstra bilgi > > alabilirsin. Prolog penceresinden birkaç örnekte dene göreceksin. Sen > > tabii o listenin eleman sayisini sayacaksin. (Yalniz kaynaklardan > > kontrol et, o listede duplicate elemanlar oluyor muydu olmuyor muydu.) > > Baska sorun olursa konusuruz. findall fonksiyonunun unbounded variablelari da dondurmesi soz konusu oldugu icin takvimcagir isminde bir fonksiyon yazildi ve bu fonksiyon nonvar ile cagirilanlari (ve mantikli olanlari) kontrol ediyor. zamanustu ile de soru kelimesini birlestirdim, artik kemalle haftaya toplanti var haftaya kiminle toplanti var veya yarin kimlerle toplanti var veya otuzunda kimlerle toplanti var cumleleri dogru calisiyor goruluyor sorun tarih kisminin bound olmasiydi (haftaya kimlerle toplanti var diyebilmek icin tarih filedlarinin bound edilmesi gerekiyor) ancak kimlerle toplanti var veya okulda kimlerle toplanti var dedigim zaman bunu bugun okulda kimler var gibi dusunuyor, cunki anlasorudan once anlazaman cagiriliyordu, bende zamanustu ve zamanalti fieldlarini nonvar ile check edip, sayet bosdegilse anlazaman'a sokuyorum. boylece kimlerle toplanti var dedigim zaman butun toplanti olanlari basiyor. sorun: duplicate butun toplanti olanlar listesi cok uzun ve duplicateler var, list_to_set fonksiyonu ile duplicatelerin atildigi bir set elde ediliyor. sorun nerede sorusu basarili bir sekilde calisiyor ancak kimde gibi bir soru ciddi problem olabilir. ok simdi ne zaman kelime grubunu da soru olarak tanittim, ne zamanlar ne zamanda, ne zaman toplanti var sorularini cevapliyabiliyorum. o halde olasi senaryolar: haftaya kemalle cananda toplanti var haftaya kac toplanti var haftaya kiminle toplanti var haftaya kimlerle toplanti var haftaya nerede toplanti var haftaya nerelerde toplanti var kemalle ne zaman toplanti var cananda ne zaman toplanti var onbirinde kimle toplanti var ok kac sorusunda duplicate sorunu vardi, yarin kac toplanti var dedigim zaman tek toplanti olmasina ragmen iki toplanti var diyordu, list_to_set fonksiyonu ile sorun cozuldu. takvimden bir kayidin iptali icin ugrasiyorum, ancak takvimsil fonksiyonu basarili gorulmuyor, retract etmeye calisirken sorun cikiyor.