Domácí úloha - křížovka
Na vstupu programu je textový soubor následujícího tvaru:
1. řádka : čísla m, n m počet řádek, n počet sloupců
2. - (m+1) řádka: schéma křížovky mezera vloné políčko, * plné políčko
další řádky typu:
h ř s řetězec
v ř s řetězec ,
kde v resp h je znak určující zda se má řetězec do křížovky zapsat vertikálně - do sloupce,
nebo horizontálně - řádku ;
ř číslo řádku a s číslo sloupce počátečního políčka, od kterého se má řetězec do křížovky umístit.
Program se pokusí dle vstupních dat vepsat do zadaného schématu křížovky
všechna slova zapsaná na řádcích vstupního souboru. Pokud zjistí kolizi, napše na výstup chybovou hlášku.
Pokud ke kolizi požadavků nedojde nechá vystoupit "vyplněnou křížovku.
Pojmenujte vstupní soubor F a výstupní G jak v programu, tak i v pracovním adresáři
var F, G : text;
begin
assign(F,'F.TXT'); assign(G,'G.TXT');
reset(F); rewrite(G); .....
end
seminář 1.března 2006
- Vytváření (spojového lineárního) seznamu přidáváním na konec
- Tabulka počtu výskytů jako jednosměrný spojový seznam - přidávání prvku
- Tabulka počtu výskytů jako uspořádaný jednosměrný spojový seznam s hlavou - přidávání prvku
- Slévání dvou uspořádaných lineárních seznamů do jednoho
- Otáčení cyklického spojového seznamu s hlavou - nemusíte ladit -
pošlete jen globální deklarace, které předpokládáte a příslušný podprogram.
seminář 8.března 2006
- Práce se seznamy - technická úloha volenka
- Průchod grafem do šířky a hloubky - analýza
- Domácí úkol: průchod grafem do šířky
stačí poslat text, není nutné ladit na počítači.
- Rozmyslet - skladiště
seminář 15.března 2006
- výpis listů binárního stromu odlava doprava rekursivní a nerekursivní řešení
- Rozmyslet: Vytvoření seznamu prvků stromu v pořadí podle jejich vzdálenosti
od listů (a je-li stejná, pak odleva do prava)
seminář 22.března 2006
- Technická úloha: Vyřazení konzervy ze skladiště
- Vytvoření seznamu prvků stromu v pořadí podle jejich vzdálenosti od listů (a je-li stejná, pak odleva do prava)
- Rozmyslet: technická úloha práce s řídkými maticemi
- Fotografie
seminář 29.března 2006
Písemka - technická na práci se spojovými strukturami, není nikde dovoleno použít (ani pomocné) pole
- Předpokládejte obvyklé deklarace binárních vyhledávacích stromů:
ref = ^node;
node = record X;real; left,right:ref end;
Množiny budeme reprezentovat jako ukazatele na binární vyhledávací strom
obsahující prvky příslušné množiny.Vytvořte proceduru
procedure prunik( A,B: ref);
{zpusob predavani parametrů vhodně zvolte},
která dostane jako parametry dvě množiny A,B v této reprezentaci a v parametru A
vrátí reprezentaci průniku množin A a B. Procedura má pracovat destruktivně,
tj. není dovoleno použití procedury new.
- Uvažujte deklarace
puzel = ^uzel; uzel = record X:integer; next: puzel end;
pro reprezentaci lineárních spojových seznamů. Vytvořte funkci
function prvocisla(N:integer) : puzel;
která vrací ukazatel na seznam obsahující prvních N prvočísel
seminář 5.dubna 2006
- nevím
- Vytvoření seznamu N prvočísel
seminář 12.dubna 2006
- Diskuse návrhu objektové hierarchie realizující tabulku
- Návrh některých tříd této hierarchie
- Rozmyslet:
- Povinný domácí úkol:
Každému uzlu v binárním stromě můžeme přiřadit uspořádanou dvojici (informace v uzlu, vzdálenost uzlu od kořene).
Každému binárnímu stromu můžeme přiřadit množninu usp. dvojic přiřazených jeho uzlům. Řekneme, že dva binární stromy jsou ekvivalentní jestliže
jim přiřazené množniny usp. dvojic jsou stejné.
Vytvořte funkci, která pro dva stromy rozhoduje zda jsou ekvivalentní nebo ne.
seminář 19.dubna 2006
seminář 26.dubna 2006
- Povídání o zápočtech
- Diskrétní simulace - nástin metody
- Rozmyslet:
Model pro diskrétní simulaci budovy s více výtahy, několik verzí modelu
- Povinný domácí úkol:
Vytvořte program, realizující algoritmus vnějšího třídění s N (konstanta rovna 5) pomocnými páskami.
Doporučený algoritmus - polyfázové třídění.
Pro jednoduchost můžete pracovat s textovými soubory, které budou mít na každé řádce jedno číslo typu longint.
Vstupní soubor inp.txt, výstupní out.txt, oba v aktuálním adresáři.