Znalostní technologie I.
 Rozcestnik                   Pár slov ...                   Znalostní technologie II.                   Znalostní technologie III.                   Znalostní technologie IV.                   Další zdroje                  
Dnes je:        Aktuální čas: 00:00       Moudra: 

Pokračování LEKCE 4.

Úlohy k procvičení


Úloha č.1: Města

Zadání:

  1. Do báze faktů uložte údaje ve tvaru (zařazení město okres), kam uložíte údaje o příslušnosti několika měst do okresů. Ve tvaru (reforma okres kraj), kam uložíte údaje o začlenění okresů do krajů.
  2. Napište pravidla, pomocí kterých načtete město, které zajímá uživatele a vypíšete, do kterého okresu a kraje město patří.

Vysvětlení funkce pravidla pro výpis údajů

Pravidlo pro výpis údajů


(stáhnout: mesta.clp)


Úloha č.2: Místnosti

V bázi faktů jsou popsány rozměry místností v prostorném domě:

(mistnost A 5 5)
(mistnost B 6 6)
(mistnost C 4 7)
(mistnost D 3 4)
(mistnost E 6 5)
(mistnost F 4 3)

(Pozn. písmeno označuje místnost, čísla její rozměry v metrech.)

Zadání:

  1. napište pravidlo, kterým spočítáte místnosti v domě
  2. napište pravidlo, kterým spočítáte čtvercové místnosti v domě
  3. napište pravidlo, jímž zjistíte celkovou plochu všech místností
Doporučení: Každé pravidlo si napište a zkuste spustit zvlášť, všechna naráz nespouštějte.

Řešení části 1. (stáhnout: mistnosti_pocty.clp)

Ř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/

2. část: dále pak vytvoříme pravidlo, které nám sečte všechny tyto obsahy jednotlivých místností, přičemž to poslední číslo bude to naše hledané. Princip je velmi podobný příkladu s místnostmi.

Grafické znázornění pravidla (secti_obsahy)

(stáhnout: mistnosti_celk_plocha.clp)


Úloha č. 3 - Hra

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)


<== Zpět       ^ Nahoru ^      


KONEC 4.LEKCE  

Validace

Valid XHTML 1.0 Strict

Valid CSS!

Monitoring webu