Procedurální programování
Vyučován:
V tomto školním roce je předmět vyučován jinými vyučujícími.
Požadavky
Zápočet: |
- závěrečný projekt a jeho obhajoba
- téma závěrečného projektu si student vybírá sám podle vlastních zájmů
[HTM] možná zadání projektů jako inspirace.
- Při odevzdání se předpokládá funkčnost.
|
Obsah přednášek
- Jednoduché datové typy, proměnné, konstanty, základní operace s daty.
- Vstup a výstup programu, hlavičkový soubor stdio.h.
- Řídicí struktury - podmíněné příkazy a cykly.
- Funkce. Platnost identifikátorů, paměťové třídy.
- Preprocesor, makra.
- Ukazatel. Dynamické přidělování paměti.
- Pole. Pole a pointery. Vícerozměrná statická a dynamická pole.
- Řetězce.
- Struktura, union, výčtový typ.
- Práce se soubory.
Studijní materiály
Materiály k jednotlivým přednáškám:
Obsah přednášek zahrnuje základní informace o programování v C a popis některých programovacích technik.
Ukázkové příklady projektů:
- Projekt Taylorův polynom
Program počítá hodnoty funkcí sin x, cos x, ex a ln x
pomocí Taylorova polynomu a umožňuje srovnání s hodnotami počítanými pomocí funkcí vestavěných
v knihovnách Borland C. Je možné měnit hodnotu x, pro kterou jsou funkční
hodnoty počítány a také přesnost (odpovídá stupni Taylorova polynomu). Přesnost je min. 2 (pracovat s polynomem stupně < 2 nemá smysl). Shora sice není omezena, ale pro hodnotu > 33 dochází k přetečení při výpočtu faktoriálu.
Knihovna T_vypoct.c obsahuje funkce pro výpočet funkčních hodnot jednotlivých funkcí, knihovna T_kom.c zase všechno potřebné pro vstupy a výstupy.
- Projekt Práce s řetězci
Program demonstruje práci s řetězci, především pomocí pointerů.
Knihovna mystring.c obsahuje funkce pro práci s řetězci, její
hlavičkový soubor mystring.h definice maker.
- Projekt Graf polynomiální funkce
Program ukazuje řešení těchto úkolů:
- řádkové menu v textovém režimu, pohyb pomocí kurzorových kláves
- rozdělení pracovní plochy do oken (knihovna conio.h)
- jednoduchá událostní smyčka pro načítání kláves
- práce s grafikou (knihovna graphics.h)
- použití některých matematických funkcí z knihovny math.h
- postup, jak vypisovat ASCII znaky, které nejsou na klávesnici (např. rámečky)
- jedna z metod, jak z obrazovky odstranit blikající kurzor (nefunguje při spuštění programu ve Windows).
Programy byly přeloženy pod OS MS-DOS 6.22, proto při spuštění pod Windows mohou EXE soubory dělat problémy.
Řešení některých problémů:
Jestliže chcete v programu použít grafiku (knihovnu graphics.h), potom k EXE souboru přikládejte vždy příslušný BGI soubor (obvykle je to EGAVGA.BGI, je k nalezení v adresáři BGI) a v příkazu pro inicializaci grafiky uvádějte jako cestu prázdný řetězec, jinak bude program fungovat pouze na vašem počítači nebo tam, kde je stejná struktura adresářů včetně umístění BGI souboru. Viz ukázkový příklad Graf funkce.
Pokud jsou problémy s překladem (práce s grafikou apod.):
-
v menu Options -> Linker -> Libraries zkontrolujte, zda je zatrženo používání grafiky
-
pokud to nepomůže, zavřete program bc, smažte všechny soubory projektu (prj, sym, dsk), NECHTE C (CPP) a H SOUBORY !!!, pak znovu zapněte bc, vytvořte nový projekt (Project -> Open ..., napište název projektu).
Pokud se automaticky otevřel některý projekt, nejdříve bez milosti zavřete, pak teprve začněte vytvářet nový.
Do projektu přidejte (klávesou INS) všechny C (CPP) soubory.
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):
Stiskneme klávesu Levý ALT a na číselné klávesnici napíšeme 200.
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 pro Windows.
Znaky s kódem 0..9 se obvykle nepoužívají.
Literatura
HEROUT, P. Učebnice jazyka C. České Budějovice: Kopp, 1996.
HEROUT, P. Učebnice jazyka C, 2. díl. České Budějovice: Kopp, 1996.
KERNINGHAN, B. W. - RITCHIE, D. M. The C Programming Language. Prentice-Hall Englewood Cliffs, 1978, Bratislava: ALFA, 1986.
RICHTA, K. - BRÚHA, I. Programovací jazyk C. Praha: ČVUT, 1991.
Zdroje na Internetu:
www.pcsvet.cz/c/ ... spousta odkazů
www.mujweb.cz/pocitace/goldxxxgold/c++.html ... první ze 4 obrázků pod nadpisem Programování v jazyce C
cecko.kvalitne.cz ... výukové programy, tutoriály, zdrojové soubory, odkazy
www.volny.cz/pjsoft/ ...tipy, triky, kurz
www.skocovsky.cz/brosko89/ ...výukový text, zaměření hlavně na Unix