(mistnost A 5 5)
(mistnost B 6 6)
(mistnost C 4 7)
(mistnost D 3 4)
(mistnost E 6 5)
(mistnost F 4 3)
Řešení části 2. Pro určení počtu čtvercových místností je třeba si uvědomit, jaké charakteristiky má čtvercová místnost. Má stejné rozměry pro stranu a i b. Z toho vyjdeme.
(defrule pocet_mistnosti
(mistnost ?nejaka ?rozmerA ?rozmerB)
(test(= ?rozmerA ?rozmerB))
Vlastně tímto pravidlem říkáme: za podmínky, že je v naší bázi evidována nějaká místnost s rozměry ?rozmerA ?rozmerB, pak pro zjištění toho, jestli se jedná o čtvercovou místnost, použijeme příkaz test. Otestujeme si shodnost rozměrů místnosti (rovnost proměnných ?rozmerA ?rozmerB). Pak to řešíme stejným způsobem jako v předchozím případě.
(stáhnout: ctverec_mistnosti.clp)Řešení části 3. Pro vyřešení tohoto problému je vhodné si úlohu rozdělit na dvě části.
1. část: nejprve vypočítáme obsah pro každou jednotlivou místnost - tedy máme místnost A s rozměry 5 a 5 - takže první hodnota bude 5x5=25. Pak to samé učiníme pro ostatní místnosti a informaci o výsledcích obsahů u každé místnosti vložíme do báze faktů, abychom s těmito hodnotami mohli dále pracovat. Toto je zajištěno pravidlem: vypocti_obsah_jednotlivych_mistnosti. Vložený fakt bude mít název obsah_mistnosti ?oznaceni ?obsah /název místnosti + její obsah/Naprogramujte jednoduchou hru: počítač vygeneruje náhodné číslo v rozsahu 1 až 10 a uživatel má určitý počet pokusu, aby číslo uhodl. Po každém neúspěšném pokusu program sdělí, zda hledané číslo je větší, nebo menší, než uživatelův tip.
Tato úloha je už docela složitá, ale myslím, že se pochopit dá. (stáhnout: hra_uhodni_cislo.clp)