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

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

A1PRG - Programování – Seminář Ing. Michal Řízení běhu programu 5 Verze 2009.01.

Podobné prezentace


Prezentace na téma: "A1PRG - Programování – Seminář Ing. Michal Řízení běhu programu 5 Verze 2009.01."— Transkript prezentace:

1 A1PRG - Programování – Seminář Ing. Michal Heczkoheczko@fai.utb.cz Řízení běhu programu 5 Verze 2009.01

2 Agenda  Opakování – logické a relační operátory  Podmínka if  Větvení if – else if  Přepínač switch  Cykly for, while a do-while  Příkazy break a continue  Příkaz goto

3 Opakování  LOGICKÉ HODNOTY  v jazyku C není definován logický datový typ  používá se datový typ int 0 … znamená NE 1 … znamená ANO

4 Opakování  Relační operátory  slouží pro porovnání dvou hodnot  výsledek: logická hodnota OperátorPopis ==rovnost !=nerovnost <=menší nebo rovno >=větší nebo rovno <menší než >větší než

5 Opakování  Logické operátory:  Negace  Logický součin AND – a zároveň  Logický součet OR – a nebo x!x 01 10 xyx || y 000 011 101 111 xyx && y 000 010 100 111

6 Podmínka  základní příkaz sloužící k větvení toku programu  obecná syntaxe: if ( ) ; else ;

7 Podmínka if ( ) ; else ;  Logický výraz, dle kterého se rozhoduje je umístěn v závorkách za příkazem if.  Následuje příkaz, který se provede, pokud je výsledek logického výrazu 1.  Nepovinná část za příkazem else obsahuje příkazy, které se provedou, pokud je výsledek logického výrazu 0.

8 Podmínka Příklad 1: if (a > b) x = a; Příklad 2: if (a > b) x = a; else x = b;

9 Podmínka Příklad 3: if (a > b) { y++; x = a; } else { y--; x = b; }

10 Podmínka Příklad 5: Pozor na nejednoznačnost!!! if (n > 0) if (a > b) z = a; else z = b;

11 Podmínka

12 if (n > 0) { if (a > b) { z = a; } else { z = b; }

13 Použití podmínky pro mnohonásobné větvení  Konstrukce: if ( ) else if ( ) else if ( ) … else

14 Použití podmínky pro vícecestné větvení  Příklad : if (počet_bodu >= 90) printf(“Vase znamka je A”); else if (počet_bodu >= 80) printf(“Vase znamka je B”); else if (počet_bodu >= 70) printf(“Vase znamka je C”); else if (počet_bodu >= 60) printf(“Vase znamka je D”); else if (počet_bodu >= 50) printf(“Vase znamka je E”); else printf(“Vase znamka je F”);

15 Přepínač  Příkaz pro vícecestné větvení programu.  Testuje, zda výraz odpovídá jedné z několika konstantních celočíselných hodnot.

16 Přepínač  obecná syntaxe: switch ( ) { case : … default: }

17 Přepínač  Příkaz break  Tento příkaz slouží pro okamžité vyskočení s příkazu switch.  Alternativy příkazu switch slouží pouze jako návěstí. Pokud je splněna podmínka u daného návěstí a za jeho příkazy není uveden break, jsou provedeny příkazy u všech následujících návěstí.

18 Cyklus for  Označovaný také jako cyklus se známým počtem průchodů.  Obecná syntaxe: for ( ; ; )

19 Cyklus for  Příklad 1: int i; for (i = 1; i <= 5; i++) { printf(“%d. pruchod cyklu\n”,i); }

20 Cyklus for  Poznámka: Dle normy C99 je možné deklarovat proměnnou i v rámci cyklu for  Příklad 2: for (int i = 1; i <= 5; i++) { printf(“%d. pruchod cyklu\n”,i); }

21 Cyklus for  Vnořené cykly – příklad: int i,j; for (i = 1; i <= 5; i++) { for (j = 1; j <= 5; j++) { printf("%02d\t",i*j); } printf("\n"); }

22 Cyklus while  Tzv. cyklus s podmínkou na začátku.  Použití tam, kde neznáme počet iterací  Provádí se, dokud je výraz pravdivý (pokud je nepravdivý, neprovede se ani jednou).  Obecná syntaxe: while ( )

23 Cyklus while  Příklad: int i = 1; while(i <= 5) { printf(“%d. pruchod cyklu\n”,i); i++; }

24 Cyklus do  Tzv. cyklus s podmínkou na konci.  Použití tam, kde je potřeba alespoň jeden průběh.  Provádí se, dokud je výraz pravdivý (pokud je nepravdivý, neprovede se pouze jednou).  Obecná syntaxe: do while ( );

25 Cyklus do  Příklad: int i = 1; do { printf(“%d. pruchod cyklu\n”,i); i++; } while(i <= 5);

26 Příkaz break a continue  break  Okamžité vyskočené z příkazu switch nebo z cyklu.  continue  Použití u cyklů. Ukončí aktuální iteraci, ale následující iterace proběhnou,

27 Příkaz goto  Skok na určité místo v programu.  Skok lze provést téměř libovolně (nelze však provést skok z funkce do funkce).  Není vhodné používat skoky!  Provedení skoku: goto ;  Definice návěstí: :

28 Příkaz goto  Příklad: int i = 1; zacatek_cyklu: printf("%d\n", i); i++; if (i <= 10) goto zacatek_cyklu;

29 A1PRG-s 05. Řízení běhu … Děkuji za pozornost Ing. Michal Heczko heczko@fai.utb.cz 218/U3 Prezentace k dispozici na http://vyuka.fai.utb.czhttp://vyuka.fai.utb.cz


Stáhnout ppt "A1PRG - Programování – Seminář Ing. Michal Řízení běhu programu 5 Verze 2009.01."

Podobné prezentace


Reklamy Google