Detail předmětu

Úvod do programování

FEKT-BPC-UDPAk. rok: 2024/2025

První část předmětu je zaměřena na seznámení studentů se způsoby uložení čísel v počítači (celá čísla se znaménkem, čísla s pohyblivou řádovou čárkou, standard IEEE 754-2008, BFloat16), binární aritmetikou, kódováním znaků (ASCII, ISO-8859-X, Windows-1250, UNICODE), vysvětlení Von Neumannových principů fungování počítače. Druhá část předmětu se věnuje základům programování v jazyce C. Studenti by se měli naučit používat: jednoduché proměnné a složené proměnné (pole a struktury), operátory, přiřazovací příkazy, příkazy větvení, příkazy cyklů a funkce. Dále by se měli naučit pracovat s řetězci znaků, funkcemi pro V/V a lokalizovaným prostředím.

Jazyk výuky

čeština

Počet kreditů

7

Garant předmětu

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

Až 50 bodů za testy v počítačových cvičeních. Minimální požadovaný počet bodů z počítačových cvičení je 20.
Až 50 bodů za závěrečnou zkoušku. Minimální požadovaný počet bodů ze závěrečné zkoušky je 20 bodů.
Počítačová cvičení jsou povinná, řádně omluvené zmeškané počítačové cvičení lze po domluvě s vyučujícím nahradit.

Učební cíle

Cílem předmětu je seznámit studenty s ukládáním čísel a znaků v počítači, binárními operace, základními principy fungování Von Neumannova počítače a naučit studenty základy programování v jazyce C.
Absolvent zná:
- Vyjádření čísel v binární, oktálové a hexadecimální číselné soustavě. Převody mezi číselnými soustavami.
- Reprezentaci záporných celých čísel a reprezentaci reálných čísel v počítači.
- Operace v binární soustavě.
- Kódování znaků a kódováním binárních dat pomocí tisknutelných znaků.
- Základní principy fungování Von Neumannova počítače.
- Syntaxi a sémantiku jazyka C.
Absolvent je schopen vytvořit jednoduchý program v jazyce C.

Základní literatura

HEROUT, P.: Učebnice jazyka C (1. až 2. díl). 6.vyd. České Budějovice: Kopp, 2009. (CS)

Doporučená literatura

KADLEC, V.: Učíme se programovat v jazyce C. Computer Press: Praha, 2002. 294 s. ISBN 80-7226-715-9. (CS)
KERNIGHAN, B. W., RITCHIE, D. M.: Programovací jazyk C. Brno: Computer Press, 2006. 286 s. ISBN 80-251-0897-X. (CS)

Elearning

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

  • Program BPC-AMT bakalářský 1 ročník, zimní semestr, povinný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Úvodní informace o předmětu. podmínky úspěšného absolvování předmětu. Číselné soustavy. Reprezentace záporných čísel.
2. Uložení reálných čísel v počítači (standard IEEE 754-2008, BFloat16). BCD kód. Kódování znaků: jednobytové znakové sady (ASCII, ISO-8859-X, Windows-1250), Unicode Standard.
3. Unicode Standard – formy kódování znaků UTF-32, UTF-16, UTF-8.  Von Neumannovy principy a koncepce počítače. Algoritmus, program, proměnná, datový typ. Programovací a značkovací jazyky. Rozdělení programovacích jazyků. Historie, charakteristika, použití a standardy jazyka C. Struktura programu v jazyce C. Zpracování zdrojového souboru preprocesorem, překlad a linkování.
4. Jazyk C:  Znakové sady. Komentáře. Identifikátory. Přehled datových typů. Aritmetické datový typy. Celočíselné konstanty.
5. Jazyk C: Konstanty s pohyblivou řádovou čárkou. Znakové konstanty. Řetězcové konstanty. Výrazy a operátory.  Aritmetické operátory a operátory přiřazení.
6. Jazyk C: Operátory inkrementace a dekrementace. Definice, deklarace a inicializace proměnných. Výrazový příkaz.  Složený příkaz. Příkazy větvení.  Operátory porovnání. Logické operátory. Podmíněný výraz. Iterační příkazy.
7. Jazyk C: Příkazy skoků break a continue.  Datový typ pole.  Funkce (důvody používání, definice, deklarace, volání ). Inline funkce.
8. Datový typ struktura. Preprocesor (makra, makra s parametry, podmíněný překlad, hlavičkové soubory).
9. Jazyk C: Datový typ ukazatel. Ukazatele na struktury. Ukazatelé jako parametry funkcí, předávání parametrů hodnotou a odkazem. Ukazatelé a pole.
10. Ukazatelová aritmetika. Indexování ukazatelů. Pole jako parametr funkce. VLA. Pole struktur. Dynamická alokace paměti.
11. Jazyk C: Kvalifikátory const a restrict. Soubory. Standardní knihovní funkce pro vstupy a výstupy.
12. Jazyk C: Standardní knihovní funkce pro vstupy a výstupy . Řetězce znaků (strings). Lokalizace. Pole ukazatelů. Funkce main().
13. Pole ukazatelů. Funkce main().

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor

Osnova

1. Úvodní informace, požadavky pro udělení zápočtu. Příklady na převody mezi číselnými soustavami (desítkovou, dvojkovou, šestnáctkovou a osmičkovou soustavou).
2. Příklady na sčítání a odčítání čísel ve dvojkové soustavě. Příklady na reprezentaci čísel v přímém binárním kódu (sign-magnitude), v 1. a 2. doplňku a v kódu s posunutou nulou.
3. Příklady na násobení a dělení čísel ve dvojkové soustavě. Příklady na vyjádření čísel s pohyblivou řádovou čárkou dle standardu IEEE 754-2008 a ve formátu BFloat16. Příklady na kódování znaků dle standardů ASCII, ISO-8859-2 a UNICODE (UTF-32, UTF-16, UTF-8).
4. Příklady na popis algoritmu pomocí vývojového diagramu.
5. Seznámení s vývojovým prostředím MS Visual Studio 2022 a laděním programů. Funkce main(), návratové kódy programů. Vstup z klávesnice ,výstup na obrazovku, velikosti jednoduchých datových typů.
6. Příklady na použití operátorů ve výrazech, příkazů if – else a příkazu while.
7. Příklady na práci s poli, použití příkazu for, definici, deklaraci a volání jednoduchých funkcí.
8. Příklady na práci s datovým typem struktura.
9. Test 1.
10. Příklady na základní práci s ukazateli na proměnné a funkce. Příklad na předávání ukazatele na pole do funkcí a práci s VLA. Příklad na dynamickou alokaci paměti.
11. Příklady na použití knihovních funkcí pro ráci se soubory. Příklad na práci s dynamicky alokovaným polem struktur.
12. Příklad na podmíněný překlad a použití maker s parametry. Příklad na práci s vícebytovými (UTF-8) řetězci a locale.
13. Test 2.

Elearning