Zadání projektů pro letní semestr:


Projekt č. 1:

Najděte algoritmus pro práci s textovými soubory (vytvoření textového souboru a zápis textu, práce s textovým souborem - tisk vět, které mají méně slov než pět, přidání vět do textového souboru), typovými soubory (vytvoření vlastní databáze - knihovna, vyhledávání informací podle klíče, třídění, doplnění položek do souboru) a netypovými soubory (otevření libovolného souboru na disku a výpis obsahu).
Práce musí obsahovat návrh datových struktur, algoritmus řešení a zdrojový program v Borland Pascalu.
Odlaďte program od syntaktických, sémantických a běhových chyb.

Poznámky k projektu:

Může být v jednom programu nebo ve třech programech (textový, typový, netypový soubor). Nezapomeňte ošetřit různé situace, které mohou nastat (soubor neexistuje nebo ho nelze otevřít apod.)

Textové soubory: Jednotlivé akce (vytvoření souboru, zápis do souboru, tisk vět s méně než 5 slovy, přidání věty do souboru, ...) by měly být reprezentovány samostatnými procedurami nebo funkcemi, volanými v hlavním programu.

Typové soubory: Jednotlivé akce by pro přehlednost opět měly být v samostatných procedurách, při vyhledávání a třídění je možné využít algoritmy použité v závěrečném projektu zimního semestru (třídění a vyhledávání). Protože některé akce lze provádět opakovaně (třídění, vyhledávání, přidávání záznamů, ...), doporučuji vytvořit rozhraní s menu obsahujícím tyto akce (může být jen jednoduché - stiskněte klávesu A pro tuto akci, klávesu B pro jinou, ...).

Netypové soubory: Pozor - s netypovými soubory se pracuje úplně jinak než s předchozími. Doporučuji zabývat se také případem, kdy se obsah souboru nevejde celý na obrazovku a proto je nutné v něm "listovat", ale není to povinné.

Projekt č. 2:

Zpracujte unit Crt a Graph. Samostatný návrh daných unitů, kde využijete hlavní procedury a funkce.
Vytvoření vlastního modulu - logo k programům. Tvorba vlastních unitů.

Poznámky k projektu:

Vytvořte dvě unity, jednu využívající unit CRT a druhou využívající unit Graph. Použijte svou fantazii (ovšem s mírou a v mezích slušnosti) a pokuste se v těchto unitách vytvořit logo - úvodní stránku, kterou lze použít po spuštění některého programu.

Unity mohou vypadat například takto: v části interface bude uvedena jediná funkce, která bude mít dva parametry. První je řetězec, který se má vypsat (např. název programu), druhý určuje časový úsek, po který se má logo zobrazovat. V části implementation je kód této funkce a případně další pomocné funkce a procedury.
Funkce může mít i jiné parametry, například barvy, ve kterých se má logo zobrazit, velikost písma, ... Může například také vracet nějakou hodnotu, určující, zda zobrazení proběhlo nebo neproběhlo tak jak mělo.

CRT: Je možné použít různé barvy, okna, ASCII znaky (viz ASCII tabulka).
Graph: Unit graph nabízí spoustu objektů různých tvarů, ale také různé módy. Nezapomeňte, že nejdřív je nutné grafiku inicializovat a potom také zrušit (to první samozřejmě na začátku funkce, to druhé na konci funkce).

K unitám napište demonstrační program, který použije nejdřív jednu a potom druhou unitu.
Jednu z těchto unit použijete v následujícím projektu.

Závěrečný projekt letního semestru:

Souhrnný příklad "Cestovní kancelář", program pracuje na vstupu se dvěma soubory dat
*  textový soubor - klienti, ve kterém je uvedeno jméno klienta, adresa, informace o letu a počtu míst
*  dále druhý soubor náhradníci - jméno a příjmení klientů, kteří jsou zaevidováni pro daný let a čekají na volná místa.
Algoritmus musí umožnit doplňovat klienty do souborů, rušit, zároveň třídit podle letu, jména, musí umět přesun klientů z náhradníků do seznamu cestujících. Algoritmus řešení musí obsahovat i výpisy - číslo letu a klienti.
Práce musí obsahovat návrh datových struktur, algoritmus řešení a zdrojový program v Borland Pascalu.
Odlaďte program od syntaktických, sémantických a běhových chyb.

Poznámky k projektu:

Program strukturujte do několika modulů (unit). Například první bude mít na starosti práci s textovým souborem, druhá práci s typovým souborem, další vstupy a výstupy, apod.
Jedním z modulů bude unita vytvořená v předchozím projektu (logo programu), z prvního projektu využijte postupy pro práci se soubory.
V programu bude klient reprezentován záznamem (record).

Je vhodné opět použít menu, mohou v něm být položky Přidat klienta, Odstranit klienta z evidence, Třídit podle letu, Třídit podle jména, Vypsat cestující letu (pozor - může být více letů, každý let může mít více klientů).

Při přidávání klienta ověřte, zda již nebyla překročena kapacita letadla. Pokud je ještě místo, zařaďte klienta do textového souboru, jinak do typového souboru. Při odstraňování klienta z evidence může dojít k přesunu prvního klienta z typového souboru na konec textového.