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 5.

Vysvětlující příklady

Příklady k procvičení


Vysvětlující příklad na příkaz retract

(stáhnout: retract_2_lama.clp)

Tento příklad je obdobný, jen s tím rozdílem, že rušíme ten seznam, který obsahuje konkrétní hodnotu. V našem příkladu odstraňujeme ty seznamy obsahující zvíře lama (předem se omlouvám všem, kteří mají rádi toto zvíře :-)).

?pryc_s_lamou<-(zvire $?zacatek lama $?konec) - zde říkáme: zapamatuj si identifikátor toho faktu, kde na jakémkoliv místě v seznamu je slovo lama.

Vysvětlující příklad na příkaz length

(stáhnout: length.clp)

Vysvětlující příklad na příkaz member

(stáhnout: member.clp)

Příklady k procvičení

Úloha 1.

Definujte seznam několika čísel. Napište pravidla, pomocí kterých:
  1. vypíšete celý seznam čísel
  2. vypíšete na zvláštní řádky jednotlivá čísla
  3. zpracujte seznam tak, že vypíšete vždy jeho první prvek, poté seznam smažete a nahradíte novým seznamem, kde první prvek již nebude obsažen; činnost pravidla skončí v momentě, kdy seznam bude prázdný
Úloha je rozdělena na dva soubory:

(stáhnout: cisla_ab.clp)

(stáhnout: cisla_c.clp)


Pokus o grafické vysvětlení části úlohy (cisla_ab.clp)

Vysvětlení činnosti programu cisla_ab.clp


Úloha 2.

Definujte dva seznamy a do každého z nich uložte několik znaků, oddělené mezerami. Napište pravidlo, které vyhledá znaky vyskytující se v obou seznamech (použijte provázání pomocí proměnné).

(stáhnout: seznam_znaky.clp)

Úloha 3.

Definujte seznam několika barev. Napište pravidlo, které uloží jednotlivé barvy ze seznamu do samostatných faktů. Tyto samostatné fakty budou mít tento tvar: (barvy ?hodnota).

(stáhnout: barvicky.clp)

Úloha 4.

Definujte několik seznamů. Všechny seznamy vypište a současně vypište jejich délky. Zkuste napsat pravidla, jimiž vyhledáte nejdelší seznam a nejkratší seznam.

Řešení selským rozumem: (stáhnout: max_a_min_1.clp)

Řešení bez selského rozumu: (stáhnout: max_a_min_2.clp)

Úloha 5.

Napište pravidlo, jímž číselný seznam setřídíte podle velikosti (od nejmenšího po největší).

(stáhnout: trideni_seznamu.clp)

Na tomto programu lze dobře poznat to, že při programování v Clipsu (a asi nejen v něm) můžete používat svůj přirozený jazyk a na základě toho formulovat pravidla a fakta.

Co tím myslím?

Máte před sebou určitý problém (např. seřadit čísla vzestupně). Přesně tak jak si slovně vyjadřujete svůj postup pro vyřešení problému - tak tento slovní postup můžete dobře přetransformovat např. do nějaké podmínky. Tedy jestliže máte dvě čísla : 10 5, pak vidíte, že nejsou seřazena dle velikosti (10 má být až po 5). Zní to naprosto jasně. Stačí tyto čísla vyměnit - na pozici desítky dát číslo pět. Ono to sice jasně zní, ale napsat to v programovacím jazyce je o trochu složitější, ale vychází to z přirozeného jazyka.



<==Zpět       ^ Nahoru ^



KONEC 5.LEKCE  

Validace

Valid XHTML 1.0 Strict

Valid CSS!

Monitoring webu