Programování a algoritmizace 1
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BIK-PA1.21 | Z,ZK | 7 | 14KP+8KC | česky |
- Garant předmětu:
- Jan Trávníček
- Přednášející:
- Radek Hušek
- Cvičící:
- Radek Hušek, Barbora Kolomazníková, Ondřej Štorc, Jan Trávníček, Ladislav Vagner, Josef Vogel
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Studenti se naučí sestavovat algoritmy řešení základních problémů a zapisovat je v jazyku C. Ovládají datové typy (jednoduché, ukazatele, strukturované), výrazy, příkazy, a funkce demonstrované v programovacím jazyce C. Rozumějí principu rekurze a složitosti algoritmů. Naučí se základní algoritmy pro vyhledávání, řazení a práci se spojovými seznamy.
- Požadavky:
-
nic
- Osnova přednášek:
-
1. Algoritmus, program, programovací jazyky. Vývojová prostředí. Proměnné, přiřazovací příkaz, vstup a výstup pro celočíselné typy.
2. Reálné typy. Výrazy. Řídicí struktury, větvení, cykly.
3. Funkce, vstupní a výstupní parametry. Rozklad problému na podproblémy, rekurze.
4. Pole, řetězce. Ukazatele, dynamické proměnné.
5. Soubory. Složitost algoritmů, algoritmy řazení a vyhledávání.
6. Struktury, soubory se strukturami. Spojové seznamy.
7. Modulární programování, zbývající rysy jazyka C.
- Osnova cvičení:
-
1. Číselné soustavy, převody. Bit, bajt, slovo, dvojslovo. Vývojová prostředí. Celočíselné typy, proměnné, přiřazení, vstup a výstup. Zobrazení celých čísel, doplňkový kód. Reálné typy. Zobrazení čísel v pohyblivé řádové čárce. Výrazy. Podmíněné příkazy. Cykly, zpracování posloupností. Funkce. Rekurzivní funkce.
2. Pole a řetězce. Ukazatele a dynamické proměnné. Soubory. Složitost algoritmů, příklady algoritmů s různou složitostí. Struktury, soubory se strukturami. Spojové seznamy.
- Cíle studia:
-
Předmět je základním kurzem algoritmizace a procedurálního programování, jehož úspěšné absolvování je nutnou podmínkou pro další studium.
- Studijní materiály:
-
1. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. : Introduction to Algorithms (3rd Edition). MIT Press, 2016. ISBN 978-0262033848.
2. Brassard G., Bratley P. : Fundamentals of Algorithmics (3rd Edition). Pearson, 2015. ISBN 978-0133350685.
3. Sedgewick R. : Algorithms (4th Edition). Addison Wesley, 2011. ISBN 978-0321573513.
4. Kochan S.G. : Programming in C (4th Edition). Addison-Wesley, 2014. ISBN 978-0321776419.
5. Virius M : Jazyky C a C++: kompletní průvodce, 2. vydání, Grada, 2011. ISBN 978-80-247-3917-5.
- Poznámka:
- Další informace:
- https://courses.fit.cvut.cz/BIK-PA1.21
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bc. specializace Informační bezpečnost, kombi., 2021 (povinný předmět programu)
- Bc. specializace Softwarové inženýrství, kombi., 2021 (povinný předmět programu)
- Bc. specializace Počítačové sítě a Internet, kombi., 2021 (povinný předmět programu)
- Bc. specializace Počítačové systémy a virtualizace, kombi., 2021 (povinný předmět programu)
- Bc. program, pro fázi studia bez specializace, kombi., 2021 (povinný předmět programu)