Popis předmětu - B0B36PRP
| B0B36PRP | Procedurální programování (pro OI) | ||
|---|---|---|---|
| Role: | P | Rozsah výuky: | 2P+2C |
| Katedra: | 13136 | Jazyk výuky: | CS |
| Garanti: | Faigl J. | Zakončení: | Z,ZK |
| Přednášející: | Faigl J. | Kreditů: | 6 |
| Cvičící: | Faigl J., Herynek J., Nagyová I., Szadkowski R. | Semestr: | Z |
Webová stránka:
https://cw.fel.cvut.cz/wiki/courses/b0b36prp/startAnotace:
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ískání zkušeností s programováním a získání programovacích návyků tvorby funkčních a správně implementovaných programů. Osvojení si psaní čitelných, srozumitelných, dobře udržovatelných a znovupoužitelných programů. Porozumění cizím kódům.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ý typPředmět je zahrnut do těchto studijních plánů:
| Stránka vytvořena 7.11.2025 17:51:23, semestry: Z/2025-6, L/2026-7, L/2025-6, L/2024-5, Z/2026-7, 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) |