Definition

Deklaratív tudás

A "mit?" kérdésre adott válasz egy probléma kapcsán


In Lectures:


Imperatív tudás

A "hogyan" kérdésre adott válasz egy probléma kapcsán


In Lectures:


Specifikáció

Egyfajta deklaratív leírása egy programnak Miből, mit? - állapottér - bemenő/kimenő adatok - előfeltétel - amit tudunk a bemenetről - utófeltétel - az eredmény kiszámítási szabálya (amit tudunk az eredményről) legyen **teljes** és **részletes**


In Lectures:


Example

Deklaratív példák

- tervrajz - térképjelzés - anatómiai ábra - ...


In Lectures:


Imperatív példák

- recept - IKEA útmutató - útvonalterv - ...


In Lectures:


Mit adunk át a gépnek?

Egy probléma megoldására szeretnénk megtanítani/megkérni: tetszőleges $x$-re, számolja ki $ \sqrt{x} $-et úgy, hogy csak osztani, szorozni, meg összeadni tud


In Lectures:


Specifikáció teljessége

Amit az előfeltétel megenged az állapottéren belül, azt az utófeltételnek kezelnie kell Pl: - Válassza ki két szám közül azt amelyiknek több prím osztója van - több különböző vagy több összesen? - mi van ha ugyanannyi? - Válassza ki egy számsorból azt az 5 számot ami legjobban eltér az átlagtól - mi van ha nincs 5 szám a számsorban? - mi van ha minden szám ugyanaz? - Sakktáblán szereplő állásról döntse el hogy matt-e. - mi van ha mindkét fél sakkban van? - lehet 11 királynő valakinél?


In Lectures:


Specifikáció részletessége

A program főzzön rántottát: - Á: (konyha) - Ef: ( ) - Uf: (ha a konyha alkalmas ennek elkészítésére, a konyhában legyen egy finom rántotta) vagy: - Á: (serpenyő, főzőlap, 3 tojás, olaj, só, fakanál, tányér) - Ef: (a serpenyő, tányér és fakanál tiszta, a tojás nem romlott, a főzőlap képes a serpenyőt 200 Celsius fokra felmelegíteni) - Uf: (a tojások összekeverve kerültek a 200 fokos serpenyőbe az olaj után, több mint 4 de kevesebb mint 10 percet töltöttek ott, ebből 20 másodpercnél többet nem álltak kavarás nélkül, végül megsózva kikerültek a tányérra)


In Lectures:


Specifikáció I. példa

Valós számok halmazán megoldható másodfokú egyneletet oldjon meg a program, ami $ax^2+bx+c=0$ formában van megadva - Á: $(a,b,c,x_1,x_2 \in \mathbb{R})$ <!-- .element: class="fragment" data-fragment-index="1" --> - Ef: $(a \neq 0 \land b^2-4ac \geq 0)$ <!-- .element: class="fragment" data-fragment-index="2" --> - Uf: $ (x_1 = \frac{-b + \sqrt{b^2-4ac}}{2a} \land x_2 = \frac{-b - \sqrt{b^2-4ac}}{2a})$ <!-- .element: class="fragment" data-fragment-index="3" -->


In Lectures:


Question

Mit ír le egy specifikáció?

Egy probléma **megoldását** **Mi** oldja meg a problémát? Az hagyján hogy hogyan...


In Lectures:


Mi értelme volt specifikációnak?

Le tudjuk írni hogy mit várunk el. - teljesen - részletesen


In Lectures:


Task

Specifikáció párosítás jelölés help

- $\mathbb{B}$ a logikai értékek halmaza. - $l \in \mathbb{B}$ azt jelenti hogy $l$ egy logikai változó - $P: \mathbb{R} \to \mathbb{B}$ pedig azt, hogy $P$ egy valós számból logikai értékbe képző függvény (más néven predikátum) - $\mathbb{N}^n$ a $n$ elemű tömböket jelöli amikben $\mathbb{N}$ típusú elemek vannak - $v \in \mathbb{N}^n$ azt jelenti, hogy $v$ egy $n$ elemszámú tömb és mindegyik elem természetes szám, amiket lehet $(v_1,v_2 ... v_n)$-el jelölni - Ha az előző módon kikötöttük micsoda $v$, használhatjuk az $x \in v$ jelölést arra, hogy $v$ egyik eleme $x$ (ez ugye nem alap, mivel $\in$ egy halmazművelet és $v$ nem egy halmaz hanem tömb, de most megengedjük)


In Lectures: