450-2041/03 – Základy programování řídicích systémů (ZPŘS)
Garantující katedra | Katedra kybernetiky a biomedicínského inženýrství | Kredity | 4 |
Garant předmětu | doc. Ing. Michal Prauzek, Ph.D. | Garant verze předmětu | doc. Ing. Michal Prauzek, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinně volitelný |
Ročník | 2 | Semestr | zimní |
| | Jazyk výuky | angličtina |
Rok zavedení | 2015/2016 | Rok zrušení | 2020/2021 |
Určeno pro fakulty | FEI | Určeno pro typy studia | bakalářské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Cílem předmětu je uvést studenty do základů problematiky programování řídicích systémů. Po absolvování předmětu bude student schopen vytvořit programy pro řešení jednoduchých úloh využívajících základní algoritmické konstrukce jazyka C v obecném vývojovém prostředí. Bude rozumět vztahu mezi některými vlastnostmi prvků architektury počítače a jejich zobrazení v programovacím jazyku, potřebnými při zpracování úloh využívajících nestandardní periferie. Bude umět analyzovat a algoritmizovat jednoduché problémy s využitím strukturovaného přístupu.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Experimentální práce v laboratoři
Projekt
Anotace
Předmět je úvodním kurzem do problematiky programování zaměřeným na přípravu studentů pro práci se specializovanými mikroprocesorovými systémy využívanými pro řízení. Studenti jsou seznámeni se základními hardwarovými prvky počítače a se jejich vztahem k vybraným programovým konstrukcím. Probírané algoritmy a datové struktury jsou demonstrovány v jazyce C přičemž jsou studenti vedeni k strukturovanému přístupu při algoritmizaci řešených úloh. Důraz je kladen na praktickou implementaci algoritmů a datových struktur.
Povinná literatura:
Doporučená literatura:
Richta, K., Šaloun, P.: Programovací jazyk C, skriptum ČVUT, Praha 1998
Wirth, N.: Algoritmy a štruktúry údajov, Alfa, Bratislava 1989
Šaloun, P.: Programovací jazyk C. Skriptum FEI VŠB-TU Ostrava 1994
Šnorek, M. Richta K.: Připojování periferií k PC, Grada, 1996
Horák, J: Učebnice hardware, Computer Press, 2000
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Písemné testy prováděné ve cvičeních předmětu.
E-learning
Další požadavky na studenta
Žádné další požadavky na studenta nejsou kladeny
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
Osnovy přednášek
1. Algoritmus, algoritmizace, Základní algoritmické konstrukce. Typy a proměnné.
2. Základní programové konstrukce: instrukce, řídicí příkazy, podprogramy. Program, strojový jazyk,
strojový kód, binární soustava, programovací jazyky.
3. Struktura programu v jazyce C. Jednoduché vstupy a výstupy.Základní typy dat. Větvení a cykly.
4. Pole, přístup k prvkům pole.
5. Reprezentace dat, základní specifikace formátu. Funkce s parametry a s návratovými hodnotami
6. Komentáře , hlavičkové soubory - info, základní syntaxe, klíčová slova, návratové hodnoty, tělo main, použití funkcí
7. Struktura počítače, centrální jednotka, registry, operační paměť, adresa, externí paměť, čítač instrukcí, cyklus fetch-execute, aynchronní události. Vstupy a výstupy. Dotazování a přerušení , sběrnice.
8. Využití PC periferií pro řešení jednoduchých úloh měření.
9. Struktury, uniony, výčtové typy, práce s bity.
10. Ukazatele. Soubory. Použití souborů v úlohách měření.
11. Makra, dynamická alokace, výjimky. Moduly. Hlavičkové soubory. Význam dynamické alokace a mechanismu výjimek pro bezpečné programování řídicích systémů.
12. Standardní knihovny
13.Uživatelské knihovny
Osnovy cvičení
1. Základy algoritmizace - příklady na rozvoj "algoritmického" myšlení
2. Kompilátor jazyka C. Seznámení s vývojovým prostředím. První programy v jazyce C. Základní terminálový I/O.
- Hello world!
- Jednoduchá kalkulačka
3. Terminálový vstup/výstup. Základní datové typy a konstanty. Operátory. Konverze typů.
- Další příklady na IO
- Rozšířená kalkulačka (nepodmíněný výpočet všech operací)
4. Větvení (if, ternární operátor, switch).
- Příklady na větvení
- Rozšíření kalkulkačky (podmíněný výběr typu a operací)
5. Cykly. Příkazy break, continue.
- Příklady na součet řady čísel
6. Pole.
- Načtení prvků do pole
- Výpis pole
- Hledání minima
- Hledání maxima
- Třídění (bubble sort)
7. Funkce. Prototyp funkce. Hlavičkový soubor.
- Vytvoření funkcí pro práci s polem.
- Další příklady na funkce.
8. Práce s periferiemi. Komunikace s okolním světem.
- příklad na propojení dvou PC nebo PC s vestavným systémem
9. Ukazatele.
- příklady na přístup do paměti pomocí ukazatelů
10. Struktury. Výčtový datový typ. Union. Bitová pole.
- příklady použití
11. Soubory.
- příklady použití textového souboru
- příklady použití binárního souboru
12. Knihovny standardních funkcí
Příklady na:
- práci s řetězci
- matematické funkce
- generování náhodných čísel
- převody řetězec <-> číslo
- funkce pro práci s časem
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky
Předmět neobsahuje žádné hodnocení.