Programování v C++ 1

Podzim 2024

Úterý 14:00
Posluchárna T-101
Trojanova 13, Praha 2

Cílem této přednášky je skutečné seznámení s jazykcem C++. V zimním semestru se seznámíme především s neobjektovými a základními objektovými vlastnostmi jazyka C++. Navazující přednáška v letním semestru pokrývá objektové programování v C++, šablony, výjimky, jmenné prostory, dynamickou identifikaci typů, práci se znakovými řetězci, vícevláknové programování v C++, lokalizaci a internacionalizaci programů, knihovnu kontejnerů a další prkročilá témata.

Doporučená a nedoporučená literatura k C/C++

Předpokládaný obsah přednášky

Úvodní příklady (implementace třídy pro komplexní čísla, implementace filtru SORT aj.) základní konstrukce -- skalární datové typy v C a v C++ -- výrazy -- příkazy -- ukazatele, pole a adresová aritmetika -- struktury a unie -- funkce -- preprocesor -- objektové typy
Cílem úvodních příkladů je zopakovat znalosti ze Základů programování a uvést nové konstrukce, s nimiž se budeme setkávat při používání knihoven; podrobný výklad bude následovat později

24. 9. 2024 Organizační záležitosti. Úvodní příklady. Charakteristika jazyků C a C++, zápis programu. Příklady najdete zde.
1. 10. 2024Pro nemoc odpadá.
8. 10. 2024Úvodní příklady. Lexikální konvence, základní datové typy a operace s nimi. Příklady najdete zde.
15. 10. 2024 Základní datové typy -- dokončení (reálná čísla, znaky, logické hodnoty). Příkazy. Příklady najdete zde.
22. 10. 2024 Příkazy - dokončení (do-while, skoky, asm). Výrazy. Příklady najdete zde.
29. 10. 2024 Struktury, unie, výčtové typy. Ukazatele. Příklady najdete zde.
5. 11. 2024 Dynamické proměnné. Pole a ukazatele. Adresová aritmetika. Příklady jsou zde.
12. 11. 2024 Pole a ukazatele -- dokončení. Reference. Funkce. Příklady najdete zde.
19. 11. 2024 Funkce -- dokončení (funkce main(), běh programu). Příklady najdete zde.
26. 11. 2024 Deklarace a proměnné. Preprocesor: prázdná direktiva, direktiva #include, direktiva #define (makra). Příklady najdete zde.
3. 12. 2024 Preprocesor -- dokončení: operátory # a ##, direktivy #undef, #if a další direktivy pro podmíněný překlad, #line, #error, #warning, #pragma. Úvod do OOP v C++. Příklady najdete zde.
10. 12. 2024 Úvod do OOP v C++: Deklarace třídy bez dědění, nestatické metody a datové složky, konstruktor, destruktor, statické datové složky a metody. Příklad: Implementace analogie knihovní třídy vector. Zdrojový text najdete zde.
17. 12. 2024 Kopírování a stěhování instancí, referenční kvalifikace metod, metody konstantních objektů, seznam inicializátorů. Příklady najdete zde.

 

Příklady

K této přednášce si lze stáhnout příklady. Použijte vpravo odkazy ve skupině "Příklady ze skript ke stažení". Odkazy C++1, C++2 a C++3 vedou na příklady z prvního, druhého a třetího dílu novějšího skripta "Programovací jazyk C++". Příklady k novému skriptu jsou ve dvou verzích -- jednak v kódové stránce 1250 s diakitickými znaménky (adresář s-dia) a jednak v ASCII (bez hacku a carek, adresář bez-dia). Odkaz C++ vede na příklady ze 3. vydání skripta "Programování v C++" (staršího skripta k této přednášce).

Zajímavé programy

Výpočet Ludolfova čísla na 16000 míst a tisk říkanky Twelve Days of Christmass najdete zde.
Příklad programu, který vypíše sám sebe, najdete zde.
O celočíselném algoritmu "spigot", použitém k výpočtu π, najdete více např. zde.

Více o programech, které tisknou samy sebe a které se anglicky nazývaji "quine", najdete např. zde.

Moje domovská stránka    Přehled přednášek