Detail předmětu

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

FEKT-BKC-PC2MAk. rok: 2024/2025

Předmět je zaměřen na získání základních znalostí programovacího jazyka ANSI/ISO C . Studenti se učí algoritmizaci zadané úlohy, použití správných datových typů a návrhu vhodných datových struktur, realizaci algoritmu v jazyce ANSI/ISO C. Jsou prezentovány vybrané algoritmy pro zpracování numerických a textových dat. Studenti budou seznámeni se standardními knihovnami a vybranými funkcemi z nich, prací s ukazateli, soubory, dynamickou alokací paměti a tvorbou vlastních knihoven funkcí.

Jazyk výuky

čeština

Počet kreditů

5

Garant předmětu

Vstupní znalosti

Jsou požadovány znalosti na úrovni středoškolského studia.

Pravidla hodnocení a ukončení předmětu

Podmínky pro úspěšné ukončení předmětu stanoví každoročně aktualizovaná vyhláška garanta předmětu.
Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Učební cíle

Cílem předmětu je seznámit studenty s obecnými programovacími návyky a algoritmizací zadaných úloh, seznámit je s jazykem ANSI/ISO C a základními programovacími technikami v jazyce C.
Absolvent předmětu je schopen:
- vysvětlit funkci příkazů jazyka C,
- popsat vlastnosti základních datových typů,
- navrhnout strukturu pro reprezentaci složitější dat,
- použít funkce obsažené ve standardních knihovnách,
- sestavit algoritmus pracující s jednorozměrnými a vícerozměrnými poli,
- pracovat se soubory
- sestavit algoritmus pro seřazení seznamu hodnot, pro převod číselných soustav, pro maticové a vektorové operace, pro zpracování vstupních dat neznámého rozsahu atd.
- vytvořit knihovnu funkcí

Základní literatura

PECINOVSKÝ, R., VIRIUS, M. Učebnice programování: základy algoritmizace. Praha: Grada Publishing, 1997 (CS)
PROKOP, J. Algoritmy v jazyku C a C++. Praha: Grada Publishing, 2008 (CS)
RAIDA, Z., FIALA, P. Počítače a programování 2. Edice "Elektronická skripta". Brno: FEKT VUT v Brně, 2002. (CS)

Zařazení předmětu ve studijních plánech

  • Program BKC-MET bakalářský 1 ročník, letní semestr, povinný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Algoritmizace (rozšíření základních poznatků z předchozího semestru). Definice úlohy, definice vstupů/výstupů, zápis algoritmu v metajazyku, přepis do programovacího jazyka.
2. Úvod do jazyka C. Základní typy proměnných, odvozené typy, konstanty, pole.
3. Výrazy, aritmetické konverze, aritmetické operátory, operátory posuvů, relační operátory, logické operátory, bitové operátory, přiřazovací operátory, priorita operátorů.
4. Řetězce a jejich operátory, knihovní funkce, standardní knihovna string.h.
5. Příkazy, složený příkaz, příkazy pro větvení, cykly a přenos řízení. Vývojový diagram.
6. Funkce. Deklarace funkce, metody volání funkcí, ošetření událostí, rekurze funkcí.
7. Pokročilé datové typy. Unie, výčtový typ, dynamické proměnné, ukazatel.
8. Objekty. Lexikální elementy, konstanty a řetězce, třídy objektů, typy objektů.
9. Uživatelské rozhraní Microsoft Visual C++ Studio. Grafické komponenty.
10. Algoritmy I. Vyhledání maxima a minima, třídění.
11. Algoritmy II. Práce s poli, maticové výpočty.
12. Algoritmy III. Práce se soubory ve Windows.
13. Algoritmy IV. Databázové systémy. Záznamy, třídění, vyhledávání, statistiky. Propojení databází.

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor

Osnova

1. Algoritmizace (rozšíření základních poznatků z předchozího semestru). Definice úlohy, definice vstupů/výstupů, zápis algoritmu v metajazyku, přepis do programovacího jazyka.
2. Úvod do jazyka C. Základní typy proměnných, odvozené typy, konstanty, pole.
3. Výrazy, aritmetické konverze, aritmetické operátory, operátory posuvů, relační operátory, logické operátory, bitové operátory, přiřazovací operátory, priorita operátorů.
4. Řetězce a jejich operátory, knihovní funkce, standardní knihovna string.h.
5. Příkazy, složený příkaz, příkazy pro větvení, cykly a přenos řízení. Vývojový diagram.
6. Funkce. Deklarace funkce, metody volání funkcí, ošetření událostí, rekurze funkcí.
7. Pokročilé datové typy. Unie, výčtový typ, dynamické proměnné, ukazatel.
8. Objekty. Lexikální elementy, konstanty a řetězce, třídy objektů, typy objektů.
9. Uživatelské rozhraní Microsoft Visual C++ Studio. Grafické komponenty.
10. Algoritmy I. Vyhledání maxima a minima, třídění.
11. Algoritmy II. Práce s poli, maticové výpočty.
12. Algoritmy III. Práce se soubory ve Windows.
13. Algoritmy IV. Databázové systémy. Záznamy, třídění, vyhledávání, statistiky. Propojení databází.