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í: | Osob je mnoho | 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 14.10.2024 09:51:02, semestry: L/2023-4, Z/2025-6, Z,L/2024-5, 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) |