Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

C – strukturované příkazy Mgr. Lenka Švancarová. Úvod do problematiky U předchozích programů jsme vždy vykonávali všechny příkazy jeden po druhém. Pokud.

Podobné prezentace


Prezentace na téma: "C – strukturované příkazy Mgr. Lenka Švancarová. Úvod do problematiky U předchozích programů jsme vždy vykonávali všechny příkazy jeden po druhém. Pokud."— Transkript prezentace:

1 C – strukturované příkazy Mgr. Lenka Švancarová

2 Úvod do problematiky U předchozích programů jsme vždy vykonávali všechny příkazy jeden po druhém. Pokud budeme chtít, aby se některé příkazy vykonaly jen za určité podmínky a nebo se opakovaly jen za určité podmínky, budeme muset v programech využít strukturovaných příkazy. Strukturované příkazy řídí chod programu na základě toho, zda je podmínka v nich obsažená splněna (vrací nenulovou hodnotu) či nikoliv (vrací nulu).

3 Podmínka a=5 not(p=’V’) nelze (p=’V’) or (p =’v’) (j=’Jan’) and not(a=0) (a mod 2)=0 //mod //vrací zbytek po dělení (a==5) (!(p==’V’)) (p!=’V’) (a==p) //různé typy dat ((p==’V’) || (p ==’v’)) ((j==’Jan’) && (a!=0)) (a%2==0) (p=’V’) //co se stane? PascalC Podmínka v C musí být uzávorkovaná. V C lze porovnávat i hodnoty proměnných různých datových typů (v Pascalu ne).

4 C – větvení Mgr. Lenka Švancarová

5 Úplné větvení Podmínka Příkaz(y) Vývojový diagram Jestliže je splněna podmínka (vrací nenulovou hodnotu), vykonají se příkazy pravdivé větve, když není (vrací nulu), vykonají se příkazy nepravdivé větve. Vždy se tedy vykonají příkazy jen v jedné větvi a pokračuje se dál v programu. +- Sémantika (stejná jak v TP)

6 if syntaxe if (podmínka) { jeden nebo více příkazů pravdivé větve } else { jeden nebo více příkazů nepravdivé větve } Nepoužijeme-li v pravdivé větvi {}, musíme (jeden) neuzávorkovaný příkaz ukončit středníkem (na rozdíl od TP, kde před else středník psát nelze). Pokud je v pravdivé či nepravdivé větvi jeden příkaz, je na nás, zda použijeme { } či nikoliv. V případě více příkazů jsou { } povinné.

7 C – úplné větvení Nakresli vývojový diagram a napiš zdrojový kód. Řeš s využitím úplného větvení.  Uživatel zadá číslo. Vypočte se jeho absolutní hodnota a výsledek se vypíše na obrazovku. |7|=7 obecně |x|=x pokud je x kladné |-8|=8 obecně |x|=-x pokud je x záporné

8 if úplné větvení (x < 0) printf(”|x|=%.0f\n”, x*(-1))printf(”|x|=%.0f\n”, x) +- scanf(”%f”,&x) Start Stop

9 if neúplné větvení #include int main() { float x; printf(”Zadej cislo: ”); scanf(”%f”,&x); if (x < 0) printf(”|x|=%.0f\n”, x*(-1)); else printf(”|x| = %.0f\n”,x); return(0); } #include int main() { float x; printf(”Zadej cislo: ”); scanf(”%f”,&x); if (x < 0) { printf(”|x|=%.0f\n”, x*(-1)); } else { printf(”|x| = %.0f\n”,x); } return(0); } Pokud je v pravdivé či nepravdivé větvi jeden příkaz, je na nás, zda použijeme {}. V případě více příkazů jsou {} povinné.

10 Neúplné větvení Podmínka Příkaz(y) Vývojový diagram +- Jestliže je splněna podmínka (vrací nenulovou hodnotu), vykonají se příkazy pravdivé větve, když není (vrací nulu), přes nepravdivou větev se pouze projde (nejsou v ní příkazy, tak není co vykonávat). Sémantika (stejná jak v TP)

11 if syntaxe if (podmínka) { jeden nebo více příkazů pravdivé větve } Protože v nepravdivé větvi nejsou žádné příkazy, není ani v zápisu. Pokud je v pravdivé větvi jeden příkaz, je na nás, zda použijeme { } či nikoliv. V případě více příkazů jsou { } povinné.

12 C – neúplné větvení Nakresli vývojový diagram a napiš zdrojový kód. Řeš s využitím neúplného větvení.  Uživatel zadá číslo. Vypočte se jeho absolutní hodnota a výsledek se vypíše na obrazovku. |7|=7 obecně |x|=x pokud je x kladné |-8|=8 obecně |x|=-x pokud je x záporné

13 if neúplné větvení x < 0 x=x*(-1) + - scanf(”%f”,&x) Start Stop printf(”|x|=%.0f\n”, x)

14 if neúplné větvení #include int main() { float x; printf(”Zadej cislo: ”); scanf(”%f”,&x); if (x < 0) x=x*(-1); printf(”|x| = %.0f\n”,x); return(0); } #include int main() { float x; printf(”Zadej cislo: ”); scanf(”%f”,&x); if (x < 0) { x=x*(-1); } printf(”|x| = %.0f\n”,x); return(0); } Pokud je v pravdivé či nepravdivé větvi jeden příkaz, je na nás, zda použijeme {} či nikoliv. V případě více příkazů jsou {} povinné.

15 C – větvení Nakresli vývojový diagram a napiš kód.  Uživatel zadá dvě čísla. Jestliže nebude druhé zadané číslo nula, čísla se vydělí, jinak se vypíše „nulou dělit nelze“ a toto tvrzení se podtrhne.  Uživatel zadá celé číslo. Vypíše se, zda je zadané číslo liché nebo sudé.  Uživatel zadá dvě celá čísla. Určí se, zda jsou navzájem dělitelná.

16 C – větvení Nakresli vývojový diagram a napiš zdrojový kód.  Uživatel zadá číslo a program vypíše buď je to známka (pro čísla 1, 2, 3, 4, 5) nebo není to známka.  Program určí, zda uživatelem zadané číslo leží v intervalu (2,7>.  Uživatel zadá tři kladná čísla – třetí největší. Vypište Je to trojúhelník nebo Není to trojúhelník.

17 if vnořování V kladné větvi či záporné může být libovolný příkaz, tedy i další if.  Předchozí věta nám říká, že příkazy if lze do sebe zanořovat. Je-li v sobě vnořeno několik if, patří else k poslednímu if bez else.

18 if vnořování #include int main() { float x,y; printf(”Zadej prvni cislo :”); scanf(”%f”,&x); printf(”Zadej druhe cislo :”); scanf(”%f”,&y); if (x > y) { printf(”Vetsi cislo je %f\n”,x); printf(”Mensi cislo je %f\n”,y);} else if (x = = y) printf(”Cisla jsou stejna.\n”); else { printf(”Vetsi cislo je %f\n”,y); printf(”Mensi cislo je %f\n”,x);} return(0); } Nakresli vývojový diagram k tomuto zdrojovému kódu.

19 Pascal – úplné větvení (opakování) Nakresli vývojový diagram a napiš zdrojový kód.  Uživatel zadá číslo. Vypíše se, zda je zadané číslo nula, kladné nebo záporné. (Tedy vždy jen jeden z uvedených výpisů.)

20 C – if Uživatel zadá, zda chce u obdélníku vypočítat obsah či obvod a pak jeho rozměry. Program spočte požadované. Uživatel zadá reálné číslo, jeden ze znaků +, –, * nebo / a poté druhé reálné číslo. Program vypíše výsledek. Jsou zadána tři čísla. Napiš program, který určí největší z nich. Napiš program, který vypočte kvadratickou rovnici.


Stáhnout ppt "C – strukturované příkazy Mgr. Lenka Švancarová. Úvod do problematiky U předchozích programů jsme vždy vykonávali všechny příkazy jeden po druhém. Pokud."

Podobné prezentace


Reklamy Google