Logo ČVUT
Loading...
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2011/2012

Funkcionální a logické programování

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
MI-FLP Z,ZK 4 2+1 česky
Přednášející:
Jan Janoušek (gar.)
Cvičící:
Martin Poliak
Předmět zajišťuje:
katedra teoretické informatiky
Anotace:

Studenti se seznámí s principy funkcionálního a logického programování. Budou schopni programovat v jazycích Lisp a Prolog.

Požadavky:

Základní znalost principů imperativního programování.

Osnova přednášek:

1. Deklarativní programovací jazyky. Lambda kalkul jako formalismus pro funkcionální programování.

2. Základní typy dat a funkce Lispu, seznamy.

3. Proměnné, typové predikáty, rekurze a iterace v Lispu.

4. Mapovací funkcionály, řídicí struktury.

5. Vstup a výstup, makra.

6. Struktury, vektory, pole, hashovací tabulky.

7. Implementace Lispu.

8. Predikátová logika, Hornovy klauzule a SLD rezoluce jako úvod do Prologu.

9. Predikáty, klauzule, fakta, operátory v Prologu.

10. Průběh a řízení výpočtu v Prologu, seznamy.

11. Datové struktury, vstup, výstup.

12. Implementace Prologu.

13. Logické programování a důkazové stromy - souvislosti s atributovými gramatikami.

Osnova cvičení:

1. Rekurzivní programování, řešení jednoduchých úloh v imperativním jazyce pomocí rekurze.

2. Seznámení s používáním lispovského systému v počítačové laboratoři.

3. Definice jednoduchých funkcí pro práci se seznamy v Lispu.

4. Zadání semestrální práce.

5. Rekurzivní a iterativní řešení úloh, efektivnost rekurze.

6. Mapovací funkcionály.

7. Pole, hashovací tabulky, vstup a výstup.

8. Makra, struktury.

9. Konzultace k semestrální práci.

10. Seznámení s používáním systému Prolog v počítačové laboratoři.

11. Rekurze v Prologu, aritmetické a seznamové predikáty.

12. Programování vstupu a výstupu, řízení výpočtu.

13. Odevzdání a hodnocení domácích prací, zápočet.

Cíle studia:

Předmět se zabývá funkcionálním a logickým programováním. Vysvětluje základní principy a podrobně se věnuje programování v jazycích Lisp a Prolog. Dále jsou studenti seznámeni se základními principy implementace jazyků Lisp a Prolog.

Studijní materiály:

1. Shapiro, S. C. ''Common Lisp: An Interactive Approach''. W. H. Freeman, 1991. ISBN 0716782189.

2. Seibel, P. ''Practical Common Lisp''. Apress, 2005. ISBN 1590592395.

3. Clocksin, W. F., Mellish, C. S. ''Programming in Prolog (5th Edition)''. Springer, 2003. ISBN 3540006788.

Poznámka:

Rozsah=prednasky+proseminare+cviceni2p+1c, Prednasejici: Ing. Jan Janoušek Ph.D.

Rozvrh na zimní semestr 2011/2012:
Rozvrh není připraven
Rozvrh na letní semestr 2011/2012:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
Út
místnost T9:349
Janoušek J.
09:15–10:45
(přednášková par. 1)
Dejvice
NBFIT místnost
St
Čt

místnost T9:350
Poliak M.
11:00–12:30
LICHÝ TÝDEN

(přednášková par. 1
paralelka 101)

Dejvice
NBFIT PC ucebna
místnost T9:350
Poliak M.
12:45–14:15
LICHÝ TÝDEN

(přednášková par. 1
paralelka 103)

Dejvice
NBFIT PC ucebna
místnost T9:350
Poliak M.
11:00–12:30
SUDÝ TÝDEN

(přednášková par. 1
paralelka 102)

Dejvice
NBFIT PC ucebna
Předmět je součástí následujících studijních plánů:
Platnost dat k 9. 7. 2012
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet1431906.html