Základy algoritmizace a programování
Informace k zimnímu semestru 2022/2023
- základní operátory a funkce
- příkazy pro řízení běhu programu
1. zápočtový test: 27. 10. 2022
Test se bude psát tužkou (propiskou) na papír, bez použití počítače (nebo kalkulačky, mobilu, ... apod.).
Můžete si ale vytisknout jako nápovědu tyto příkazy a operátory a funkce.
Úlohy k procvičování - pokud to lze, napište skripty pro úlohy na cykly (4. odstavec) jak s využitím matlabovských vektorových funkcí (např. max, min, mean, sum, ...), tak bez nich, tj. s explicitním použitím cyklu for
nebo while
- příklad.
2. zápočtový test: 24. 11. 2022 (nebo oprava 1. zápočtového testu)
V druhém testu lze použít počítač. Cílem je na zadané úloze předvést, že umíte v Matlabu napsat svou vlastní funkci a použít ji ve skriptu. Úlohy k procvičování.
DÚ: programy otestujte v Matlabu (nebo v Octave) a odevzdejte v Moodle
-
1. cvičení
V Dialogovém okně: uložte do proměnných a, b, c koeficienty kvadratického polynomu a pak do proměnných x1 a x2 pomocí standardního vzorce vypočítejte jeho kořeny. Zobrazte si výsledek na obrazovce. Ověřte správnost na několika variantách hodnot a, b, c. Příkazy, které jste použili, zapište do textového souboru s příponou .m a odevzdejte v moodle.
-
2. cvičení
Napište skript, který zjistí, zda z daných tří stran lze sestrojit trojúhelník.
vstup: a, b, c ... tři kladná čísla
výstup: buď "ano", nebo "ne" -
3. cvičení
Napište skript, který přečte zadaný počet čísel a určí, kolik z nich je záporných a kolik nezáporných.
vstup: n ... počet čísel, která budou následovat (např. 3)
n čísel, postupně zadávaných (např. 2 -1 0 )
výstup: zap ... počet záporných čísel
nezap ... počet nezáporných čísel -
4. cvičení
Napište skript, který postupně načte posloupnost celých nenulových čísel zakončenou nulou (nula slouží jen jako ukončovací číslo, do posloupnosti nepatří) a vytiskne, kolik čísel je větších než 10.
vstup: postupně zadávaná posloupnost čísel, zakončená nulou (např. 2 -1 12 3 0 )
výstup: p10 ... počet čísel větších než 10Nepoužívejte cyklus
for
, alewhile
(protože nevíte předem, kolikrát má proběhnout). -
5. cvičení
DÚ tentokrát v moodle není - sami si procvičujte tyto příklady (zejména odstavec cykly) jako přípravu na test na následujícím cvičení.
-
6. cvičení
Napište skript, který v cyklu vždy požádá o 4 hodnoty představující body ze čtyř příkladů v testu (každý příklad je hodnocen 0 až 25 body) a vytiskne jejich součet a výslednou známku (pod 50 bodů F, 50 až 59 E, ... atd. po 10 bodech až do A). Cyklus skončí, když se zadá záporné číslo.
-
7. cvičení
Napište skript pro výpočet BMI:
- Nejdřív napište funkci fBMI, která počítá index BMI ( = (váha v kg)/(výška v m)2):
vstup: vyska ...výška v cm
vaha ... váha v kg
výstup: BMI ... index BMI
- Pak svou funkci fBMI upravte tak, aby měla 2 výstupy - index BMI a odpovídající kategorii K jako číslo od 1 do 3:
K = 1 ... index BMI pod 18.5 ... podváha,
K = 2 ... index BMI 18.5-25 ... ideální váha,
K = 3 ... index BMI nad 25 ... nadváha
Funkce fBMI nesmí nic číst ani vypisovat, všechny hodnoty se musí předávat jen jako vstupní, resp. výstupní parametry.
- Nakonec napište skript, který se zeptá na váhu a výšku, pak zavolá funkci fBMI, a pak vypíše index BMI a odpovídající kategorii (slovy).
- Nejdřív napište funkci fBMI, která počítá index BMI ( = (váha v kg)/(výška v m)2):
-
8. cvičení
DÚ tentokrát v moodle není - sami si procvičujte příklady na používání funkcí jako přípravu na test na následujícím cvičení, tj. 24. listopadu, případně tyto příklady, pokud budete opakovat 1. test.
Doporučená literatura
- Algoritmizace v systému MATLAB - výukový text VŠCHT Praha
- J. Koláček, K. Konečná: Jak pracovat s Matlabem
Další odkazy na literaturu jsou na této stránce dole (všechno v angličtině)
SW
Matlab - studentskou verzi lze nainstalovat ze stránek download.cvut.cz
(používání vyžaduje přístup k síti z domény ČVUT)
GNU OCTAVE - volně šiřitelný program velice podobný Matlabu
Průvodce programem OCTAVE - anglicky