ZPRO cvičení 3 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 23, 2016
Outline I 1 Outline 2 Relační a logické operátory 3 Relační a logické operátory cvičení 4 Podmínka if 5 If - cvičení 6 Domácí úkol 7 Zdorje
Připomenutí Proměnná (výraz) typu bool nabývá dvou hodnot: 0 = false 1 = true
Relační operátory 1 > greater than 5 > 4 is TRUE 2 < less than 4 < 5 is TRUE 3 >= greater than or equal 4 >= 4 is TRUE 4 <= less than or equal 3 <= 4 is TRUE 5 == equal to 5 == 5 is TRUE 6!= not equal to 5!= 4 is TRUE
Logicke operátory 1 && and ( a zaroven ) 2 or ( nebo ) 3! negace
Logicke operátory 1 && and ( a zaroven ) 2 or ( nebo ) 3! negace Cvičení (papír a tužka, každý sám): 1 A.!( 1 0 ) 2 B.!( 1 1 && 0 ) 3 C.!( ( 1 0 ) && 0 )
Relační operátory cv 1 Zamyslete se nad výslednou hodnoutou posledního řádku kódu 2 Kód přepište do vývojového prostředí 3 Zjistěte hodnotu (cout) 1 int x,y; 2 x = 1; 3 y = 2; 4 ((x < y) && (y!= x ));
Boolovská funkce 1 Vytvořte boolovskou funkci, která má 2 vstupní parametry int a vrací true prave kdyz druhý je dvojnásobek prvního. 2 Otestujte
Boolovská funkce 1 Vytvořte boolovskou funkci, která má 2 vstupní parametry int a vrací true prave kdyz druhý je dvojnásobek prvního. 2 Otestujte 1 bool dvojnasobek ( int cislo, int dvojnasob ) 2 { 3 return (2* cislo == dvojnasob ); 4 }
Boolovská funkce 1 Vytvořte boolovskou funkci, která má 2 vstupní parametry int a vrací true prave kdyz druhý je dvojnásobek prvního. 2 Otestujte 1 bool dvojnasobek ( int cislo, int dvojnasob ) 2 { 3 return (2* cislo == dvojnasob ); 4 } 1 cout << dvojnasobek (1,2) < < endl ;
Podmínka if Umožňuje provést část kódu na základě aktuálního stavu (podmínky)
Podmínka if Umožňuje provést část kódu na základě aktuálního stavu (podmínky) Vyhodnocována může být například: Jedna proměnná Více proměnných vzájemně Výstupní hodnota funkce
Ukázka if 1 if ( testovaci_podminka ) 2 prikaz1 ; // Jeden prikaz
Ukázka if 1 if ( testovaci_podminka ) 2 prikaz1 ; // Jeden prikaz 1 if ( testovaci_podminka ) 2 { // Blok prikazu 3 prikaz1 ; 4 prikaz2 ; 5. 6. 7 }
Ukázka if, else 1 if ( testovaci_podminka ) 2 prikaz1 3 else 4 { // Blok prikazu 5. 6. 7. 8 }
Ukázka if, else if 1 if ( testovaci_podminka1 ) 2 prikaz1 ; 3 else if ( testovaci_podminka2 ) 4 prikaz2 ; 5 else 6 prikaz3 ;
Ukázka kódu 1 int heslo ; 2 cout << " Zadejte heslo : "; 3 cin >> heslo ; 4 if ( heslo == 1892) 5 cout << " Spravne, vase heslo je v poradku."; 6 else 7 cout << " Vase heslo je spatne.";
If - cvičení 1 Vytvořte kód, který se zepta na rok narozeni a overi, ze jste starsi 18ti let
If - cvičení 1 Vytvořte kód, který se zepta na rok narozeni a overi, ze jste starsi 18ti let 2 Vytvořte kód, který nacte 2 hodnoty od uzivatele a vypíše tu vetsi
If - cvičení 1 Vytvořte kód, který se zepta na rok narozeni a overi, ze jste starsi 18ti let 2 Vytvořte kód, který nacte 2 hodnoty od uzivatele a vypíše tu vetsi 3 Vytvořte kód, který nacte 3 hodnoty od uzivatele a vypíše tu nejvetsi (pro dobrovolniky i tu prostredni)
If - cvičení 1 Vytvořte kód, který se zepta na rok narozeni a overi, ze jste starsi 18ti let 2 Vytvořte kód, který nacte 2 hodnoty od uzivatele a vypíše tu vetsi 3 Vytvořte kód, který nacte 3 hodnoty od uzivatele a vypíše tu nejvetsi (pro dobrovolniky i tu prostredni) 4 Bonus: Program, kam uživatel zadá 2 hodnoty a dostane zpetnou vazbu, jetli jedna je dvojnásobkem, druhé, případně naopak. Program může i doporučit změnu jedné z hodnot aby požadovaná vlastnost nastala.
cv1 1 cout <<" Zadej rok nar.: "; 2 int rok ; 3 cin >> rok ; 4 5 if ( rok >1998) 6 cout <<" Nejsi starsi!" << endl ; 7 else if ( rok ==1998) 8 cout <<" Nelze rict :(" << endl ; 9 else 10 cout <<" Jsi starsi!" << endl ;
cv2 1 int a, b; 2 cout <<" Zadej a: "; 3 cin >>a; 4 cout <<" Zadej b: "; 5 cin >>b; 6 7 if (a>b) 8 cout <<"a je vetsi " << endl ; 9 else if (a==b) 10 cout <<" jsou stejne " << endl ; 11 else 12 cout <<"b je vetsi " << endl ;
cv3 1. Celá část kódu je na webu 2 if (a>b) 3 { 4 if (a>c) 5 cout <<"a je nejvetsi " << endl ; 6 else 7 cout <<"c je nejvetsi " << endl ; 8 } 9 else 10 { 11 if (b>c) 12 cout <<"b je nejvetsi " << endl ; 13.
Domácí úkol Minulý domácí úkol byl vytvořit funkci na hledání kořene(ů) kvadratické rovnice. Vylepšete tuto funkci díky znalostem podmínek if. 1 Funkce vypíše chybovou hlášku v případě, že kořeny nelze najít v R 2 Funkce vypíše info hlášku, pokud existuje jen jeden kořen. 3 Pro 4. vstpní parametr (zanmenko) = -1 bude funkce vždy vracet kořen s menší hodnoutou, naopak pro +1 s vetsi.
Zdorje 1 http :// programujte. com / clanek /2005041406 -c-3 - lekc 2 http :// www. cprogramming. com / tutorial / lesson2. html 3 http :// www. klikzone.cz/ cplusplus / operatory. php