Home page

PC2A home page

Výuka home page


Počítače a programování 2
Cvičení



přednášky naleznete zde





Body označené + jsou pro lepší studenty na hodině, nebo na domácí procvičení.



Týden

Příklad

Náplň

1

(2018)


Organizace kurzu. Termíny testů se mohou posouvat v závislosti na probrané látce.

Opakování funkce. + Příkaz preprocesoru #define. Podmíněný překlad. Projekt s více soubory, hlavičkový soubor. Vstup dat z příkazové řádky, práce s polem řetězců.
Společný dělitel.

Příklad na další procvičení:
+ Výpočet Pi.

Na příští týden: Co je rekurze? Metoda půlení intervalu (nalezení minima, maxima, průsečíku s danou hodnotou).

2
(2018)


Práce se soubory - kopie souboru, vstup parametrů z konzoly. Statistika znaků v souboru + tisk (podle limitů). Konzola jako soubor. stdin, stdout,stderr

3
(2018)


binarni soubory

Ascii art - načtení dat a uložení výsledku do souboru.

Formátovaný tisk – násobilka (bez funkcí)

4
(2018)


Stavový diagram/automat , enum - odstranění komentářů

DU

Na test v příštím cvičení si zopakujte příklady ze cvičení 1 až 4 (parametry funkce main, práce s textovými a binárními soubory, látka probraná v BPC1)
Své znalosti si můžete ověřit tvorbou zdrojového kódu podle následujícího zadání. (Tvorba projektu a řešení do 45 minut)

5
(2018)


Test č.1
Náplň – BPC1 (cykly, proměnné, funkce, větvetní), cvičení (funkce, rekurze, bitové operace, makra, vývojové diagramy), práce se soubory.
Možné typy příkladů - teoretické otázky, programování podle zadání, zjištění co dělá daná funkce, oprava zadaného kódu, převod vývojový diagram na program (a opačně) ...)
Forma – pokud se nepodaří odpojit PC od sítě, potom test na papír.
Pomůcky – tištěná skripta, knihy, papírové poznámky (v případě práce na PC)
Čas – cca jedna hodina

Dokončení prací z minula.

6
(2018)


Vyčištění cestovních profilů windows – desktop, documents, source, koš, download … (velikost prázdného profilu cca … 120MB) přesunout (starší) data na disk P


Ukazatele základ - předání parametrů (typu ukazatel), ukazatelová aritmetika nad statickým polem, vyměna ukazatelu na pole intu (v main, ve funkci).

7
(2018)


Alokace – výměna polí.
Vícerozměrné pole (uprava na strukturu). Rozdíl mezi „polem polí“ a dynamickým polem)
Checker.

8
(2018)


Příklad na procvičení práce s dynamickou paměti. Zadání, úvodní část projektu a testovací soubory naleznete zde.

K dalšímu procvičování:

1) Přípravný projekt k testu 2 – složitější verze předchozího příkladu s testováním napsaných funkcí pomocí předdefinovaných testovacích volání v lib knihovně.
Rozbalte zip soubor a sledujte návod „navod_ke_cviceni.txt“, dále pokračujte podle zadání v docx.

2) Práce s pamětí – příklad na procvičování práce s alokací.

3) !!! Pozor !!! Tato následující zadání (knihovny lib) jsou pro VS2013, proto je nutné v properties/general/platform toolset nastavit VS2013 v120. !!!
DU2_2015 zadání (Linux verze test knihovny zde – spravuje p.Petyovsky)
test 2 2016 20161 20162 (nová verze – upraveno počítání paměti ve funkci odděl)

4) Příklad pro procvičení programování:
Složitější zadání komplexnějšího příkladu/projektu

+ vicerozmerne pole s datovym prvkem union (struct { enum TType{EChar, EInt, ELong} aType;union { char aChar; int aInt; long aLong} aVal;}

9
(2018)


Test č. 2

10
(2018)


Příklad na bitové operace - hledání prvočísel a uložení výsledků v bitovém poli - Eratostenovo síto

+ Převod na float



Rekurze:

Faktoriál (normálně, rekurentně).
Větvení programu (příkaz switch) - „hádání čísel“ pomocí půlení intervalu – vstup z konzoly
Půlení intervalu

11
(2018)


Makra s bitovými operacemi (využití ternárního operátoru). Bitové operace - Base64 (Enkoder, dekoder).

12
(2018)


zápočtový test(č.3) – úterý. Soubory + ukazatele + struktury + bitové operace



Opakování struktury:

Struktura komplex. Ukazatele na struktury,

Struktury a dynamická paměť
verze pro skupiny cvičení Petyovský

Použití struktur - Lineární seznam.

+ Binarni strom, morseovka. (vyuzit knihovnu (diplomka) na malovani struktur)

Příklady k procvičování:

Formátovaný tisk (násobilka, sin/cos) , předávání 2D pole do funkce

Ascii art - načtení dat a uložení výsledku do souboru.

+ Knihovna pro konverzi endianity hodnot v souboru. (fread,fwrite, read, write)

+ Knihovna pro statistické výpočty.

Sorty (třídění) setřídění dat podle velikosti pomocí algoritmu buble sort.

13
(2018)


zápočtový test(č.3) – středa . Soubory + ukazatele + struktury + bitové operace



















Poslední změna 2017-02-07