|
|
|
||
Poslední úprava: doc. RNDr. Pavel Töpfer, CSc. (05.02.2018)
|
|
||
Poslední úprava: doc. RNDr. Tomáš Dvořák, CSc. (20.02.2020)
Předmět je zakončen zápočtem a zkouškou. K získání zápočtu je vyžadováno
Zkouška je složena z části písemné a ústní. Písemná část
Nesplnění písemné části znamená, že celá zkouška je hodnocena známkou nevyhověl(a). Požadavky ústní části zkoušky odpovídají sylabu předmětu v rozsahu, v němž byl prezentován na přednášce. |
|
||
Poslední úprava: doc. RNDr. Tomáš Dvořák, CSc. (17.02.2024)
Richard Bird, Jeremy Gibbons, Algorithm Design with Haskell, Cambridge University Press, 2020
Patrick Blackburn, Johan Bos, Kristina Striegnitz, Learn Prolog Now!, College Publications, 2006
Ivan Bratko, Prolog Programming for Artificial Intelligence, 4th ed., Pearson, 2012
Graham Hutton, Programming in Haskell, 2nd ed., Cambridge University Press, 2016
Miran Lipovača, Learn You a Haskell for Great Good!: A Beginner's Guide, No Starch Press, 2011
Rebecca Skinner, Effective Haskell: Solving Real-World Problems with Strongly Typed Functional Programming, Pragmatic Bookshelf, 2023
David S. Warren et al., Prolog: The Next 50 Years, Lecture Notes in Artificial Intelligence 13900, Springer, 2023 |
|
||
Poslední úprava: doc. RNDr. Tomáš Dvořák, CSc. (17.02.2024)
Tvar programu a jeho interpretace, unifikace, backtracking. Deklarativní a procedurální sémantika programu. Práce se seznamy a s rekurzivními datovými strukturami. Standardní predikáty a jejich použití. Aritmetika. Definice operátorů. Řez a negace. Efektivita programů v Prologu, neúplně definované datové struktury. Aplikace logického programování v umělé inteligenci. Funkcionální programování, základy lambda kalkulu. Tvar programu v jazyce Haskell. Dvojrozměrná syntax, líné vyhodnocení. Definice funkce, rekurze, porovnávání se vzorem. Stručné seznamy. Definice typů a datových struktur, polymorfismus, typové třídy a instance. Funkce vyšších řádů. Nekonečné datové struktury. Monády, vstup a výstup. |