Popis předmětu - BD5B36PRP

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
BD5B36PRP Procedurální programování (pro EEK)
Role:P Rozsah výuky:14KP+6KC
Katedra:13136 Jazyk výuky:CS
Garanti:Jelínek I. Zakončení:Z,ZK
Přednášející:Jelínek I. Kreditů:6
Cvičící:Jelínek I. Semestr:Z

Webová stránka:

https://moodle.fel.cvut.cz/local/kos/pages/course/info.php?id=6221

Anotace:

Cílem předmětu je osvojit si principy procedurálního programování v jazyku C. Předmět je tvořen dvěma vzájemně propojenými částmi:
a. základy jazyka C, kde se studenti naučí vytvářet programy v jazyce C podle běžných standardů a konvencí
b. základy algoritmizace a procedurálního programování
Studenti se v předmětu seznámí s analýzou výpočetní úlohy, reprezentací funkcemi a procedurami a syntézou do funkčního programu. Konzultace jsou založeny na prezentaci základních programových konstrukcí a demonstraci motivačních programů dávající do souvislosti dílčí konstrukty s praktickým zápisem s důrazem na čitelnost zdrojových kódů. Těsný kontakt procedurálního přístupu a datové abstrakce je demonstrován v jazyce C. Základní pracovní metodou předmětu Procedurální programování je návrh a odladění nejen všech zadaných programů, ale i pochopení programů doporučených.

Cíle studia:

Základní pracovní metodou předmětu Procedurální programování je navrhnout a odladit nejen všechny zadané programy, ale i programy doporučené. Předmět nelze absolvovat úspěšně jen studiem programovacího jazyka, ale i základní schopností navrhnout algoritmus a zapsat ho v jazyku C. Předmět Procedurální programování je fundamentálním výchozím předmětem pro bezprostředně návazný předmět Programování C/C++ ale i pro další odborné předměty studijního programu EEK.. Předmět je tvořen dvěma vzájemně propojenými částmi: částí, která je zaměřena na algoritmizaci a částí, kde se pak studenti naučí základy jazyka C a vytvářet programy v jazyce C podle běžných standardů a konvencí. V praktické části předmětu, na seminářích, se studenti odladí projekty v jazyce C. Studenti tedy musí po seznámení s novým tématem analyzovat a 100% pochopit diskutované programy (nejasnosti řešit okamžitě na konzultaci, případně emailem) a zkusit si přiměřený počet doporučených příkladů. Je doporučeníhodnou strategii k úspěšnému zvládnutí předmětu se před konzultací, přednáškou o novém tématu se alespoň rámcově s tématem seznámit.

Obsah:

Zásadní témata, bez kterých nelze absolvovat předmět PRP: Programovací jazyky, jejich typy a vlastnosti Jazyk C, struktura, projektu, Syntaxe a sémantika Překladač, typy překladu Algoritmus a jeho vlastnosti Řídící struktury Výrazy Jednoduché datové typy Reprezentace dat v paměti počítače Strukturované datové typy, pole, soubory Strukturalizace programu, procedury a funkce Mechanismus předávání parametrů, volání hodnotou a odkazem Iterační a rekurzivní výpočty Hlavičkové soubory, knihovny Pointery, pointery a pole, pointerová aritmetika Základní algoritmy hledání a řazení Abstraktní datový typ

Osnovy přednášek:

Seznam témat:
1. Programové vybavení, překladače, typy překladu, analýza a syntéza programových úloh, ladění programů; struktura počítače, strojový kód, paměť
2. Algoritmus a jeho vlastnosti, způsoby vyjádření algoritmů; program, programovací jazyky, syntaxe a sémantika, úvod do jazyka C
3. Proměnná, výrazy, typy operací, asociativita a priorita operací,
4. Řídící struktury, cykly, základní vstup a výstup
5. Jednoduché datové typy a jejich reprezentace v paměti počítače, aproximace reálných hodnot
6. Strukturované datové typy, pole
7. Procedury a funkce, parametry funkcí, způsoby předávání, volání odkazem a hodnotou
8. Vícerozměrná pole, pointery a pole, řetězce, pole a parametry funkcí
9. Pointery, pointerová aritmetika, dynamická správa paměti
10. Rekurze, procedurální programování
11. Preprocesor, hlavičkové soubory, projekt, knihovny, podmíněný překlad, soubory
12. Speciální struktury, struktury, uniony, výčtové typy
13. Základní algoritmy řazení a vyhledávání, složitost algoritmů
14. Abstraktní datový typ

Osnovy cvičení:

Praktická cvičení jsou zaměřena na získání a procvičování programovacích návyků tak, aby studenti byli schopni samostatně vytvářet čitelné kód. Odevzdávané úlohy jsou automaticky ověřovány a testovány na robustnost ošetření vstupních hodnot. V průběhu semestru studenti získávají body za odevzdané úlohy a programovací písemky. Bodové hodnocení úlohy se skládá z bodů za správnost a efektivitu kódu, dále pak z bodů zohledňující kvalitu zdrojových kódů, jejich čitelnost a znovu použitelnost.
1. Programové vybavení, překladače, typy překladu, analýza a syntéza programových úloh, ladění programů; struktura počítače, strojový kód, paměť počítače, strojový kód, paměť
2. Algoritmus a jeho vlastnosti, způsoby vyjádření algoritmů; program, programovací jazyky, syntaxe a sémantika, úvod do jazyka C
3. Příkazy, řídící struktury, cykly, základní vstup a výstup
4. Proměnná, výrazy, typy operací, asociativita a priorita operací, jednoduché datové typy a jejich reprezentace v paměti počítače
5. Procedury a funkce, parametry funkcí, způsoby předávání, volání odkazem a hodnotou
6. Procedurální programování
7. Strukturované datové typy, pole, řetězce
8. Vícerozměrná pole, pointery a pole
9. Pointery, pointerová aritmetika, dynamická správa paměti
10. Rekurze, procedurální programování
11. Preprocesor, hlavičkové soubory, projekt, knihovny, podmíněný překlad, soubory
12. Struktury, uniony, výčtové typy
13. Základní algoritmy řazení a vyhledávání, složitost algoritmů
14. Abstraktní datový typ

Literatura:

• Kochan: Programming in C, (3rd Edition or later), 2014. • King: C Programming: A Modern Approach, (2nd Edition or later), 2008. • Klemens: 21st Century C: C Tips from the New School, 2012. • Sedgewick, Wayne: Algorithms (4th Edition or later), 2011. • Cormen, Leiserson, Rivest, and Stein: Introduction to Algorithms, (3rd Edition or later), 2009.

Požadavky:

Předmět Procedurální programování student/tka úspěšně ukončí, když: v řádných termínech odevzdá zadané čtyři domácí úlohy odevzdá semestrální úlohu úspěšně absolvuje závěrečné soustředění a získá zápočet úspěšně složí zkoušku Zásadní témata, bez kterých nelze zvládnout zkoušku z předmětu Programovací jazyky, jejich typy a vlastnosti Syntaxe a sémantika Překladač, typy překladu Algoritmus a jeho vlastnosti Iterační a rekurzivní výpočty Výrazy Řídící struktury Strukturalizace programu, procedury a funkce Mechanismus předávání parametrů, volání hodnotou a odkazem Jazyk C, struktura, hlavičkové soubory Jednoduché datové typy Reprezentace dat v paměti počítače Strukturované datové typy, pole, soubory Pointery, pointery a pole, pointerová aritmetika Základní algoritmy hledání a řazení Abstraktní datový typ

Klíčová slova:

Procedurální programování, algoritmizace, jazyk C

Předmět je zahrnut do těchto studijních plánů:

Plán Obor Role Dop. semestr
BKEEK_2016 Před zařazením do oboru P 1


Stránka vytvořena 25.4.2024 17:50:46, semestry: L/2023-4, Z/2024-5, Z/2023-4, připomínky k informační náplni zasílejte správci studijních plánů Návrh a realizace: I. Halaška (K336), J. Novák (K336)