# Zkouska 18.6.2009

<{ForumPost(poster="Hans z labu", timestamp=2009-06-18 13:25:22)}>
HASKELL  
  
1. Mocninnou radu reprezentujeme jako nekonecny seznam jejich koeficientu. Naprogramujte funkce, ktere spocitaji a) Hodnotu souctu prvnich n clenu rady pro k-tou derivaci v bode x, b) Soucin dvou mocninnych rad  
  
2. Ridka matice je reprezentovana jako trojice <m,n,s>, kde m je pocet radek, n je pocet sloupcu a s je seznam trojic <i,j,a_ij> (kde i je cislo radky, j je cislo sloupce a a_ij je nenulova hodnota) usporadany vzestupne podle i a uvnitr radek podle j. Naporgramujte funkce, ktere v teto reprezentaci realizuji a) transpozici matic b) nasobeni matic  
  
PROLOG  
  
3. Na brehu reky je m misionaru a k kanibalu. Maji se prepravit na druhy breh pomoci jedne lodky, na ktere muze jet jedna nebo dve osoby. Pokud v nejakem okamziku je na nekterem z brehu vice kanibalu, misionare snedi. Pokud je lodka u brehu, pocita se jeji osadka do osazenstva na brehu. Existuje zpusob jak se mohou prepravit, aniy by byl nekdo sneden? Pokud ano najdete nejkratsi takovy.  
  
4. Priklad popisuje situaci, kdy jeste nebyly mobilni telefony. Kazdy telefon byl v nejakem byte a patril domacimu. V databazi jsou fakty nasledujicich typu (nemusi popisovat situaci uplne, jsou to informace, ktere jsou prave k dispozici):  
macislo(Kdo,TelCislo) - Kdo ma telefonni cislo TelCislo  
jes(Kdo,Skym) - Kdo je s Kym  
jevByte(Kdo,Domaci) - Kdo je v byte, ktery patri Domacimu  
znacislo(Kdo,Koho,Cislo) - Kdo zna Cislo Koho  
  
Muzete predpokladat, ze data jsou korektni (nejsou v nich spory).  
  
Naprogramujte predikat muzeZavolat(+Kdo,-Obet,-Jak), ktery na strednik vyda vsechny moyne Obeti, ktere muze Kdo telefonicky zastihnout. Obeti nemusi pri tom volat na jeji cislo, ale na cislo bytu, kde dotycna prave je. Pokud toto cislo nezna, muze si ho predem telefonicky zjistit u nekoho, kdo ho zna. Vystupni paramatre tedy obsahuje informace o vsech volanich potrebnych, abychom zastihli Obet.
<{/ForumPost}>

<{ForumPost(poster="DarkAngeL", timestamp=2009-06-19 09:19:56)}>
Nevi nekdo, jak hezky na tu 4. ulohu? Mne to prislo prilis chaoticky na to, abych se to pokousel na zkousce nejak napsat.
<{/ForumPost}>

<{ForumPost(poster="Medved", timestamp=2009-06-26 02:12:39)}>

 > DarkAngeL wrote:Nevi nekdo, jak hezky na tu 4. ulohu? Mne to prislo prilis chaoticky na to, abych se to pokousel na zkousce nejak napsat.

To je zrovna docela jednoduche, ne?  
  
Nekomu muzu zavolat kdyz:  
1) znam jeho cislo  
2) znam cislo nekoho kdo zna jeho cislo  
3) muzu zavolat nekomu, kdo s nim bydli  
  
Akorat je potreba si hlidat, aby se to nezacyklilo asi nakym seznamem osob, ktere uz jsem lustroval. A Jak je zasobnik, ktery postupne inkrementuju. Kdyztak dej vedet, kdyby to nestacilo a ja zkusim naprogramovat. Ale ted se ucim na pondelni statnici :)
<{/ForumPost}>

