ϵ">]>
4. CVIČENIE Z PREDMETU ÚVOD DO DEKLARATÍVNEHO PROGRAMOVANIA
http://ii.fmph.uniba.sk/cl/courses/1-AIN-505-udp/0809ls/ex/ex04.cl
Dátum: 9. a 11. 3. 2009
Odporúčaná verzia CL: 5.81.19
WWW stránka predmetu: http://ii.fmph.uniba.sk/cl/courses/1-AIN-505-udp/0809ls/?lang=sk
Párovacia funkcia CL
Párovacia funkcia zabudovaná do CL je založená na enumerácii (očíslovaní) binárnych stromov. Zapisuje sa infixovým operátorom "," (čiarka), napr. . Podobne ako pre iné párovacie funkcie, pre funkciu "," platí:
sa nerovná žiadnemu páru: ,
každé nenulové číslo je pár: ,
ak sa dva páry rovnajú, rovnajú sa po zložkách: ,
zložky páru sú menšie ako pár: , .
Zabudované funkcie a majú vlastnosti a . Na definovanie funkcií je výhodnejšie používať párovú diskrimináciu:
Úloha 5. Definujte funkciu , ktorá vráti posledný prvok zoznamu , ak existuje, alebo , ak je prázdny.
Napr. .
Úloha 7. Definujte funkciu , ktorá vráti zoznam pozostávajúci z prvých prvkov zoznamu , teda
Napr. . Funkcia má mať vlastnosť
Úloha 8. Definujte funkciu , ktorá odstráni prvých prvkov zo zoznamu , teda
Napr. . Funkcia má mať vlastnosť
Všimnite si, že platí
Úloha 9. Definujte funkciu , ktorá vráti najmenší prvok zoznamu . Napr. .
Analogicky definujte funkciu , ktorá vráti najväčší prvok zoznamu . Napr. .
Pre prázdny zoznam obe funkcie vrátia 0. Nepoužite žiadne „bulharské“ konštanty (99999 a podobne).
Úloha 10. Definujte funkciu , ktorá vypočíta zoznam prvých hodnôt Fibonacciho funkcie, teda
Funkcia je zadefinovaná na začiatku tohto súboru.
Úloha 11. Definujte funkciu , ktorá aplikuje Fibonnaciho funkciu na všetky prvky zoznamu a vráti zoznam výsledkov:
Úloha 14. Definujte funkciu , ktorá pre zoznamy a rovnakej dĺžky vráti zoznam dvojíc prvkov zoznamov a :
Napr. .
Úloha 15. Definujte funkciu , ktorá zrotuje zoznam doľava:
Napr. . Pokúste sa o definíciu bez pomocných funkcií a bez zreťazenia.