Literatura a studijní materiály
Vlastní materiály ke kurzu:
Kurz je vyučován v prezenčním (BPC2A) i kombinovaném programu (KPC2A – řešení DU zadávaných přes IS).
Materiály ke kurzu jsou publikovány na fakultní www stránce přednášejícího. Tyto stránky jsou dostupné přímo zadáním adresy, nebo z elearningu, ve kterém je navíc možné psát zprávy a účastnit se diskuzí. Dále budou materiály (patrně méně často) kopírovány na školní disk do adresáře garanta (Q:/vyuka/richter/www_stranky).
Text skript (pdf
v zip 1.12MB) – skripta obsahují přehled o
programování a sestavení programu v C a C++. Jazyk C a C++ včetně
příkladů. Zde je aktuální verze (aktualizace je pružnější než na
stránkách fakultních elektronických textů). Kapitoly o C a základy
C++ jsou v pořádku. Na konci kapitol skript je shrnutí –
nutno znát a vědět proč.
Pozn. 1. Součástí skript jsou i texty
věnující se jazyku C – jsou zařazeny jako příloha ve druhé
části skript. V této části se nachází „jádro“ jazyka C,
nebo-li část jazyka C, která se vyskytuje ve většině překladačů
jazyka C. Součástí je i množství příkladů řešených i
neřešených.
Pozn. 2: Příklady jsou v rámečcích, aby šly snadno
překopírovat do překladače. Bohužel toto funguje pouze pokud příklad
„nepřeteče“ přes hranici stránky. Potom se musí
vykopírovat každá stránka zvlášť. (Nejlepším řešením ovšem je snažit
se příklad napsat samostatně):
Přednášky jazyka C s příklady naleznete zde. (jedná se o aktuální verzi, která bude během semestru doplňována.
Diplomová práce, ve které je popsán způsob kontroly alokace paměti
a popis práce se strukturami vázaného seznamu a stromu (pdf
2,7MB).
Zdrojové texty knihovny checker pro
kontrolu paměti a souborů (knihovna check - alokace
zip 142kB), (struktury
zip 127 kB)
Knihy
vVychází celá řada knih – nutno zajít do knihovny či knihkupectví, dostupné knihy prolistovat a najít si tu, která nejvíce „sedne“ vašemu stylu myšlení. Pozor – v textu by mělo být zmíněno, že popisují i normu C99, popřípadě novější.
Například: Herout, Virius, Kernigham&Richie (novější verze)
---
Knihy o algoritmech - Algoritmy v C, Robert Sedgewick, softpress, Praha 2003, ISBN 80-86497-56-9
Knihy o kultuře programování (týmová práce, řízení
projektů) – Extrémní programování Kent Beck, Grada 2002,
ISBN 80-247-0300-9
Odkazy na www
učební materiály na FEKT – BPC1A,
je publikován draft (návrh) normy. Samotná norma, publikovaná po přijetí draftu, se platí (cca 7000Kč pro C). Norma pro C má označení ISO/IEC 9899:1999 (cor. 2: 2004(E)).
S www odkazy opatrně, ne všechny www materiály jsou seriozní, ne všechny dopracované. Některé si píší studenti podle toho jak to pochopili a ne jak to je – proto je to jednoduché ale ne precizní.
Ostatní
Na adrese: http://www.gimpel-online.com/OnlineTesting.html je pristupny online tester korektnosti zdrojovych textu jazyka C/C++ (on line demo, které je na rozdíl od ostré verze přístupné zdarma). Testovaný kod se nakopíruje, stiskne se "Analyse Code" a hned se muzete divit co vsechno neni ve vasem zdrojaku uplne korektne dle normy.
Na adrese http://www.gimpel.com/html/bugs.htm můžete najít na procvičení příklady, ve kterých máte za úkol najít nepřesnosti, nejednoznačnosti, nebo chyby.
Existují programy (doplňky), které usnadňují práci, či kontrolují chyby. Na disku Q jsou u p. Petyovského moduly do programu pro kontrolu paměti v MS VC++. Knihovna která se přidá k programu kontroluje zda je korektní práce s pamětí. Jedná se o VLD (Visual Leak Detektor), který napsal Dan Moulding a je přístupný ze stránek http://dmoulding.googlepages.com/ nebo http://www.codeproject.com/tools/visualleakdetector.asp. V prostředí Builder je tento mechanizmus (trochu jinak) implementován a dá se kontrola nastavit – jmenuje se CodeGuard (v borlandu 6 má stránku v project / options).
Pokud Vás zajímá programování pro paralelní výpočty hledejte klíčová slova – OpenMP, parallel C
Hra s tématem jazyka C - http://www.c-jump.com
Jak by neměly programy v jazyce C vypadat – výběr (překládat jako jazyk C, možná doplnit knihovny, pro globe zadat dva paremtry na řádku parametrů programu)
Volně dosažitelné knihy a články se vztahem k programování http://knihy.root.cz/
wikipedia cz – heslo „návrhový vzor“
wikipedia en – heslo „design pattern“
Doporučený styl programování pro
linux
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/CodingStyle?id=HEAD
Překladače
Vlastní programy je možné překládat i na fest.stud.feec.vutbr.cz (gcc, c-lang). Přihlásíte se svým jménem x...00, heslo jako do linuxu, mailu (asi). Komfort je zde oproti VC++ horší (jako v linuxu) ale na procvičení C/C++ to stačí a o překladu se zde patrně naučíte více. Je zde k dispozici řádkový překladač gcc (gcc --help pro začátek) a clang, překlad pomocí dávkového programu make. Tyto překladače implementují normu lépe než MSVC). Vlastní texty je v unixu možné psát v editoru textu (dostupný například z mc, nebo v editoru joe, pico, vi).
Je možné stahovat MS Visual C++
(leden 2016 – VS2015 Community update1). Je dostupné postupně
ze stránek fakultního intranetu přes sekci informační systémy a
položku „program MSDN academic alliance“. (což je adresa
http://msdnaa.feec.vutbr.cz/)
Stručný návod na instalaci zde.
vhodný a dostačující je každý překladač, který ctí normu C
Poslední změna 2016-03-14