130 likes | 343 Views
4. Algoritmy a programovanie v jazyku Pascal Cykly a riadenie. Podmienka IF..THEN..ELSE. Na rozhodovanie v programe využívame podmienku, ktorá ma syntax: IF Podmienka THEN Príkaz; IF Podmienka THEN Príkaz ELSE InýPríkaz ;
E N D
Podmienka IF..THEN..ELSE Na rozhodovanie v programe využívame podmienku, ktorá ma syntax: IF Podmienka THEN Príkaz; IF Podmienka THEN Príkaz ELSE InýPríkaz; Ináč povedané: ak je podmienka splnená, vykonaj príkaz. Podmienka je ľubovoľný výraz typu Boolean (musí byť vyhodnotiteľná: pravda/nepravda) a príkaz môže byť aj zložený (skupina začne BEGINom a končí ENDom). Ak podmienka splnená nie je (jej hodnota je False), nerob nič, alebo vykonaj iný príkaz za ELSE (zase môže byť aj zložený).
Podmienka IF..THEN..ELSE – Príklady Príklad 13. Zostavte program na výber telies (parametrov) pri výpočte objemu, povrchu Príklad 14. Zostavte program na overovanie podmienky pri matematickom výraze (definičný obor funkcie) Príklad 15. Zostavte program na rozhodovanie pri riešení kvadratickej rovnice Príklad 16. Zostavte program na overenie deliteľnosti Príklad 17. Zostavte program na overenie, či bod patrí (nepatrí) priamke, elipse, rovine...
Podmienka CASE..OF..ELSE Občas je ale možností viac. K tomu nám už nestačí premenná typu Boolean (dve hodnoty), ale musíme využiť iný ordinárny typ (napr. interval, char, integer); Syntax CASE..OF je takáto: case Premenná of Hodnota1: Príkaz1; Hodnota2: Príkaz2; Hodnota3: Príkaz3; ... else InýPríkaz; end; Ak má premenná Hodnotu1, vykoná sa Príkaz1 (i zložený)... Ak sa obsah premennej nezhoduje ani s jednou uvedenou hodnotou, vykoná sa InýPríkaz, no časť s else môže byť aj vynechaná.
Podmienka CASE..OF..ELSE – Príklady Príklad 18: Zostavte program na náhodný výber hlášok z náhodne volených 1-5 (precvičenie Random) Príklad 19: Zostavte príklad na výpočet cestovného v taxislužbe podľa tarify. Príklad 20: Zostavte program, ktorý bude plniť funkciu kalkulačky, podľa napísaného znaku bude vykonávať funkciu +, -, *, /.
Príkaz cyklu FOR..TO..DO Na cyklické opakovanie príkazu využívame syntax: FOR Prem := Min TO Max DO Príkaz; Ináč povedané: Hodnota ordinárnej premennej sa zvyšuje od Min do Max (Max > Min), pričom sa zakaždým vykoná príkaz za DO. Aj tu môže ísť o zložený príkaz, v tom prípade je ohraničený BEGINom a ENDom. „Prem“ môže byť súčasťou príkazu. Teda využívame ho v prípadoch, keď je jasný počet opakovaní. FOR Prom := Max DOWNTO Min DOPríkaz; To isté ako FOR s TO, ale hodnota premennej sa znižuje. Napríklad: for c:='z' downto 'a' do write(c);
Príkaz cyklu FOR..TO..DO – Príklady Príklad 21. Zostavte program na výpočet aritmetického priemeru. Príklad 22. Zostavte program, ktorý po zadaní bodového hodnotenia študentov im priradí známky od A po FX a spočíta počty jednotlivých známok. (príprava na grafiku) Príklad 23. Zostavte program, ktorý bude zadávať úlohy na delenie a súčasne ich bude vyhodnocovať. (precvičenie knižnice CRT) Príklad 24. Zostavte program, ktorý bude overovať, či zadané číslo je prvočíslo. Vyhodnotí, koľko má číslo deliteľov a vypíše ich.
Príkaz cyklu REPEAT..UNTIL Na cyklické opakovanie príkazu využívame syntax: repeat Príkaz1; Príkaz2; ... until Podmienka; Ináč povedané: Tento cyklus sa opakuje tak dlho, kým nie je splnená podmienka (No vždy sa vykoná aspoň raz). Aj tu môže obsahovať viac ako jeden príkaz (nemusí byť ohraničený BEGINom a ENDom. Nesmieme ale zabudnúť, že podmienka sa musí meniť, aby cyklus aj skončil.
Príkaz cyklu REPEAT..UNTIL – Príklady Príklad 25.Zostavte program, ktorý na základe nekonečného rozvoja funkcie ex vypočíta hodnotu e so zadanou presnosťou. Príklad 26. Zostavte program na overenie, či dané číslo je alebo nie je prvočíslo. (je možné urobiť rovnakú úlohu cez rôzne cykly a je tam deklarovaný typ vymenovanie) Príklad 27. Zostavte program, ktorý bude náhodne hádzať kockou, kým nepadne požadovaná hodnota. Príklad 28. Zostavte program, ktorý vypočíta koreň rovnice cez rekurentné vzťahy: , Príklad 29. Zostavte program, ktorý vypíše funkčné hodnoty na intervale.
Príkaz cyklu WHILE..DO Na cyklické opakovanie príkazu využívame syntax: while Podmienka do Príkaz; alebo while Podmienka do Begin Príkaz1; Príkaz2; .. End Ináč povedané: Ak je splnená podmienka, vykonávaj príkaz (môže byť i zložený). I tu musíme zaistiť, aby sa hodnota podmienky niekedy menila. Narozdiel od cyklu repeat sa telo cyklu nemusí vykonať ani raz.
Príkaz cyklu WHILE..DO – Príklady Príklad 30. Zostavte program, ktorý vyhľadá najmenšieho spoločného deliteľa dvoch čísel. Príklad 31. Zostavte program na výpočet aritmetického priemeru s využitím konca súboru (seekeof).