Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2024/2025

Programování a algoritmizace 1

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BI-PA1.21 Z,ZK 7 2P+2R+2C česky
Garant předmětu:
Jan Trávníček
Přednášející:
Miroslav Balík, Jan Trávníček, Ladislav Vagner, Josef Vogel
Cvičící:
Miroslav Balík, David Bernhauer, Daniel Breiner, Michal Dvořák, Filip Gregor, Albert Havliček, Radek Hušek, Jiří Kašpar, Tomáš Krupička, Jaroslav Kříž, Jan Matoušek, Tomáš Pecka, Sebastian Prokop, Matyáš Rak, Róbert Selvek, Ivan Šimeček, Otto Šleger, Milan Špinka, Petr Šťastný, Ondřej Štorc, Jan Trávníček, Ladislav Vagner, Josef Vogel, Vladimír Votava, Ondřej Wrzecionko
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 a stromy.

Požadavky:

Žádné.

Osnova přednášek:

1. Algoritmy a programy, základní podpora vývoje.

2. Proměnné, vstup a výstup v jazyce C.

3. Pohyblivá řádová čárka. Výrazy v jazyce C.

4. Řídící konstrukce v jazyce C.

5. Funkce v jazyce C.

6. Pole a řetězce v jazyce C.

7. Struktury a ukazatele v jazyce C.

8. Ukazatele a dynamická alokace paměti v jazyce C.

9. Složitost, algoritmy pro vyhledávání a kvadratické algoritmy řazení.

10. Spojové a stromové struktury v jazyce C.

11. Rekurzivní algoritmy, MergeSort, úvod do QuickSortu.

12. Práce se soubory a modulární programování v jazyce C.

13. Abstraktní datové typy (boolean, komplexní čísla, fronta, zásobník).

Osnova cvičení:

1. Číselné soustavy, převody. Bit, bajt, slovo, dvojslovo. Vývojová prostředí. 2. Celočíselné typy, proměnné, přiřazení, vstup a výstup. Zobrazení celých čísel, doplňkový kód.

3. Reálné typy. Zobrazení čísel v pohyblivé řádové čárce. Výrazy.

4. Podmíněné příkazy.

5. Cykly, zpracování posloupností.

6. Funkce.

7. Pole a řetězce.

8. Ukazatele a dynamické proměnné.

9. Struktury.

10. Složitost algoritmů, příklady algoritmů s různou

složitostí.

11. Rekurzivní funkce.

12. Spojové seznamy.

13. Rezerva.

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:

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-PA1/

Další informace:
https://courses.fit.cvut.cz/courses/BI-PA1/
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ů:
Platnost dat k 16. 6. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6533506.html