Hlavní stránka

Algoritmy a programování

Vyučován:

V tomto školním roce je předmět vyučován jinými vyučujícími.

Algoritmy a programování I.

(zimní semestr)

Požadavky k zápočtu:

1. Účast na cvičeních nejméně 70 %.
2. Odevzdání programů zadaných na cvičení (ve funkční podobě).
3. Úspěšné provedení testů.
4. Vypracování závěrečného projektu.

Podmínkou udělení zápočtu v zimním semestru je odevzdání projektů ve funkční podobě.

Pokud v zimním semestru nebude splněn požadavek (1):

Požadavky (2), (3) a (4) musejí být splněny a navíc si student vybere kterékoliv tři z programů části A a tři z programů části B , které vypracuje a na konci semestru odevzdá ve funkční podobě.
V části A jsou programy vyžadující především propracování prostředí programu (grafický nebo speciálně formátovaný výstup, použití knihoven GRAPH nebo CRT) a jsou náročnější, programy v části B se zaměřují na provedení výpočtů nebo práci se soubory.
Fantazii se však meze nekladou a pokud se rozhodnete pro složitější programy (hry a podobné objekty zájmu průměrného studenta), budu jen ráda.

Pokud někomu bude do 70 % chybět jen málo, lze se domluvit na jednodušší variantě.

Algoritmy a programování II.

(letní semestr)

Zadání projektů:

[HTM] Projekty pro letní semestr jsou dva plus závěrečný. Postupně k souboru z tohoto odkazu budou přidávány poznámky pro řešení programů.

Pozn:
Kód příkladů je v DOS Pascalu, proto se v HTM souborech některé znaky nebudou zobrazovat korektně (jde především o znaky s rámečky a pomocné znaky pro označení ukazatelů).

Vybrané programy z jednotlivých cvičení:

Příklad Zadání Řešení
1. Kreslení v CRT: --- [PAS]   [HTM]   [EXE]
2. Výčt. typ, množina: [PAS]   [HTM] [PAS]   [HTM]   [EXE]
3. Barvy v gr. režimu: --- [PAS]   [HTM]   [EXE]
4. Vlastní výplň oblasti: --- [PAS]   [HTM]   [EXE]   Postup
5. Tabulka v textovém souboru: [HTM] [PAS]   [HTM]   [EXE]
6. Typové soubory: [PAS]   [HTM]   [EXE] ---
7. Netypové soubory: [PAS]   [HTM] [PAS]   [HTM]   [EXE]

Text pro strukturované a modulární programování včetně ukázky vytvoření vlastní unity je zde.

Ukazatele (pointery):

(Pokud není uveden EXE soubor, potom spuštění programu nemá příliš smysl, důležitější je programový kód v Pascalu.)

Program Popis Řešení
Pointer1: Demonstrace používání typových ukazatelů na různé datové typy,
statická i dynamická alokace.
[PAS]   [HTM]
Pointer2: Srovnání práce s dynamickými a statickými poli. [PAS]   [HTM]
Pole_int: Statické pole celých čísel a jeho zpracovávání pomocí ukazatelů
do tohoto pole.
[PAS]   [HTM]   [EXE]
Pointer3: [Pro zájemce] Plně dynamické pole s určením jeho délky. [PAS]   [HTM]
Pointer4: [Pro zájemce] Pole pointerů na pole. [PAS]   [HTM]
Pointer5: Získání informací o dynamické proměnné. [PAS]   [HTM]   [EXE]
Vypis: Výpis obsahu textového souboru. Program si vyžádá název souboru,
načte obsah, zavře a potom načtený text zobrazí. Umožňuje pohybovat se
v textu po řádcích nebo stránkách. Text je načten do pole řetězců,
jednotlivé řetězce jsou alokovány dynamicky podle potřeby.
[PAS]   [HTM]   [EXE]

Dynamické datové struktury:

Zadání příkladů pro použití dynamických datových struktur.

Užitečné příklady:

Příklad Řešení
Zjišťování kódů kláves v CRT (konec programu - ESC): [PAS]   [HTM]   [EXE]
Jednoduché menu v CRT: [PAS]   [HTM]   [EXE]

Ukázkové příklady pro náročné (pokročilejší):

Programování prostředí:

V textovém režimu lze psát také ty znaky, které se nenacházejí na klávesnici. Používá jejich ASCII kód takto (příklad pro znak s ASCII kódem 200, což je levý dolní roh dvojitého rámečku): Funguje pouze v textovém režimu v MS-DOSu. Ke stažení jsou ASCII kódy znaků od 10 do 255 pro Latin2 a od 30 do 255 ve Windows. Znaky s kódem 0..9 se obvykle nepoužívají.

Materiály

Ke stažení jsou ASCII tabulky pro Latin2 a Windows.
Mnoho informací, příkladů a výkladů lze najít na Internetu, na této fakultě je to například diplomová práce Davida Padrty (pozor na občasné překlepy, například mnoha studenty notoricky používané lenght místo length - funkce pro zjištění délky řetězce).

Další:

http://www.nejedly.com/arthurmax/
http://www.pcsvet.cz/pascal
http://jsoft.web2001.cz/
atd.

Literatura

WIRTH, Niklaus Algoritmy a struktury údajů. Bratislava: Alfa
BUCHALCEVOVÁ, Alena Algoritmizace a programování. Praha: VŠE
MIKULA, Pavel Pascal, kompletní příručka, od příkladů k příkazům. Praha:Grada
Manuály Borland Pascalu.
materiály na síti.