KMI/PAPR2 -- Paradigmata programování 2

Rozvrh předmětu

Přednáška (denní studium): Čtvrtek 13:15 - 14:45 (LP-2001)

Sylabus

Procedurální programování, vedlejší efekt, sekvencování příkazů, příkaz přiřazení, procedury s vnitřním stavem, procedury sdílející vnitřní stav, jednoduchý objektový systém.
Mutace, mutátory párů, destruktivní procedury pro práci se seznamy, cyklické seznamy, metody předávání argumentů procedurám, vektory.
Makra I, pomíněné příkazy
Makra II, let-výrazy
Makra III, cykly, hygienická makra
Interpret Scheme s vedlejšími efekty a makry, generované symboly
Přísliby a líné vyhodnocování
Proudy, procedury pro práci s proudy, nekonečné proudy, implicitni definice proudu
Aktuální pokračování -- kontext, úniková procedura, kontinuace.
Nedeterminismus a korutiny.
Rezerva/dobrovolná konzultace.

Výukové materiály

Slajdy z přednášky 17.2.
Slajdy z přednášky 24.2. a 3.3.
Slajdy z přednášky 10.3.
Slajdy z přednášky 17.3.
Slajdy z přednášky 24.3.
Slajdy z přednášky 31.3., Zdrojové kódy k přednášce 31.3.
Slajdy z přednášky 7.4.
Slajdy z přednášky 14.4.
Slajdy z přednášky 21.4.
Slajdy z přednášky 28.4.,

Dodatečné výukové materiály

Rozbor vyhodnocení kódu -- iterátory pomocí korutin

Požadavky na zkoušku

Písemné a ústní zkoušení, podobně jako v předmětu Paradigmata programování I.

Studentská soutěž

Zadání

Úkolem je naprogramovat proceduru navigator, která bere dva argumenty -- seznamy: Procedura má vracet jeden ze symbolů ze seznamu directions nebo #f tak, aby sloužila k co nejrychlejší navigaci bludištěm k pokladu a po nalezení pokladu zpět k startovní pozici. Pokud je poklad nedostupný ze startovní pozice procedura vrací #f.
Nevytvářejte globální vazbu žádný jiný symbol než na symbol navigator.
Výsledky budou testovány na sadě bludišt s různými parametry -- nejlepší řešení budou odměněna zajištěnou nejnižší známkou (A-E). Přesněji to bude stanoveno později v semetru, podle množství a kvality odevzdaných řešení.

Odevzdání

Odevzdávejte e-mailem na jan.konecny(at)upol.cz s předmětem "PAPR2-WAYOUT" s příloze pojmenovane (login_do_portalu).scm

Deadline: 30.4.2016 13.5.2016
Souces:
way-out.zip
Test: way-out-test.zip

Výsledky

 
1    tomafr00        1023837       A 
2    mlcazb00        1663811       B
3    michmi02        1791822       C
4    dopitaa         1793699       C
5    hruzda01        2805787       D
6    ciburo00        2835097       E
7    zaplmi00        2840838       E