Popis předmětu - BD5B36PRP
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=6221Anotace:
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í |
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ý typOsnovy 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ý typKlíčová slova:
Procedurální programování, algoritmizace, jazyk CPř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 26.3.2025 07:50:56, semestry: Z,L/2024-5, Z,L/2025-6, 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) |