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

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

Příkazy Přednáška č. 4. Příkazy (statements)  Příkaz – dílčí krok programu (část kódu – zpravidla jeden řádek)  Program – posloupnost příkazů  Příkazy.

Podobné prezentace


Prezentace na téma: "Příkazy Přednáška č. 4. Příkazy (statements)  Příkaz – dílčí krok programu (část kódu – zpravidla jeden řádek)  Program – posloupnost příkazů  Příkazy."— Transkript prezentace:

1 Příkazy Přednáška č. 4

2 Příkazy (statements)  Příkaz – dílčí krok programu (část kódu – zpravidla jeden řádek)  Program – posloupnost příkazů  Příkazy jsou vykonávány sekvenčně (postupně jeden za druhým)  Existují však speciální příkazy ovlivňující pořadí vykonávaných příkazů (podmínky, cykly, příkazy skoku)

3 Prázdný příkaz  Prázný příkaz neprovádí nic int iPodm = 1; if (iPodm ) ;// prazdny prikaz else printf("false"); if (iPodm ) { } // prazdny slozeny prikaz (blok) else { printf("false"); }

4 Výrazový příkaz  Výraz ukončený středníkem (přiřazení, volání funkcí, …) int x = 1; int y; y = x + 1;// vyrazovy prikaz - prirazeni y = sin(x);// vyrazovy prikaz – prirazeni, volani funkce x++;// vyrazovy prikaz – inkrementace // (v podstate x = x + 1)

5 Složený příkaz  Složený příkaz (compound statement) – blok je posloupnost příkazů uzavřených do složených závorek { }  Může obsahovat vnořený blok  Pro nadřazený blok se složený příkaz jeví jako jeden příkaz int main(int argc, char* argv[]) { char str[] = "A31B6CD2"; int n; int iZmen = 0; for ( n=4; n<9; n++) { if( str[n] >= '0' && str[n] <= '9') { str[n] = '_'; iZmen++; } printf("Opraveny retezec: %s Pocet zmen: %d\r\n\n", str, iZmen); getchar(); return 0; }

6 Příkazy pro větvení (1)  Podmínka – příkaz if  Syntaxe: if (podm) prikaz_pri_pravdivosti_podminky; else prikaz_pri_nepravdivosti_podminky; if( str[n] >= '0' && str[n] <= '9') { str[n] = '_'; iZmen++; } else iPonech++;

7 Příkazy pro větvení (2)  Přepínač – příkaz switch  Syntaxe: switch (celocislelna_promenna) { case 1:prikaz_1a; prikaz_1b; break; case ‘A‘:prikaz_A; break; default:prikaz_ostatni; }

8 Příkazy pro větvení (3)  Přepínač – příkaz switch - příklad #include // rand() - generator nahodnych cisel #include int main(int argc, char* argv[]) { srand( 1000*(unsigned)time( NULL ) ); printf("Co budu vecer delat:\r\n"); switch ( rand()%3) { case 0: printf("Pujdu spat."); break; case 1: printf("Pujdu na jedno."); break; case 2: printf("Budu programovat ;-)."); break; default: printf("Toto by nemelo nikdy nastat."); } getchar(); return 0; }

9 Příkazy pro cykly (1)  Příkaz for  Syntaxe: for (inicializ; podm; aktual) prikaz;  Parametry jsou nepovinné  Např. for(;;) prikaz;je nekonečný příkaz char text[] = "dole v dole"; unsigned int n; for( n=0; text[n]!='\0'; n++) if( text[n]!=' ') text[n] -= 32; printf( "%s\r\n", text);

10 Příkazy pro cykly (2)  Příkaz while  Syntaxe:while (podm) prikaz;  Pozor, zapomenete-li ovlivňovat podmínku v příkazu, může dojít k nekonečnému cyklu  Knihovna  Knihovna float x=3, y, min=1000;// double pro vetsi presnost int count=0; while( (y=fabs( x*x-1.0))<min) // je-li akt fcni hod. mensi nez min { min = y; // uloz akt fcni hod. do min x -= 0.1; // dalsi krok count++; // pocitadlo kroku } x += 0.1; // krok zpet printf("Min %f v %d krocich\r\n", x, count); getchar();

11 Příkazy pro cykly (3)  Příkaz do  Syntaxe:do prikaz; while (podm);  Pozor, zapomenete-li ovlivňovat podmínku v příkazu, může dojít k nekonečnému cyklu  Příkaz se vždy provede alespoň jedenkrát y=fabs( x*x-1.0);// pocatecni naplneni y do { min = y; // uloz akt fcni hod. do min x -= 0.1; // dalsi krok count++; // pocitadlo kroku } while( (y=fabs( x*x-1.0))<min); x += 0.1; // krok zpet printf("Min %f v %d krocich\r\n", x, count); getchar();

12 Příkazy pro skoky  Příkazy break, continue, goto, return  Příkaz break – okamžité ukončení bloku switch, for, while, nebo do a vystoupení z iterací  Příkaz continue – okamžité ukončení bloku for, while, nebo do, ale pokračování v další iteraci cyklu  Příkaz goto – skok na definované návěští  Příkaz return – okamžitý návrat z funkce char* dist = "59a0.c2:25"; // chybne cislo int test, n; for( n=0; dist[n]!='\0'; n++) { if ( dist[n] == ':' ) break; test = (dist[n]>='0') && (dist[n]<='9'); test = test || (dist[n]=='.'); if( !test) continue; printf("%c", dist[n]); } getchar();

13 Příklad (1)  Vytvořte program, který vypočítá kořeny libovolné kvadratické rovnice: y = ax 2 + bx + c y = ax 2 + bx + c  Koeficienty a, b, c deklarujte jako racionální čísla. Hodnoty koeficientů načtěte jako řetězce z konzolového okna, a následně tyto řetězce na čísla převeďte. Vyjdou-li kořeny komplexní, vypište chybové hlášení.

14 Příklad (2)  Vývojový diagram


Stáhnout ppt "Příkazy Přednáška č. 4. Příkazy (statements)  Příkaz – dílčí krok programu (část kódu – zpravidla jeden řádek)  Program – posloupnost příkazů  Příkazy."

Podobné prezentace


Reklamy Google