ZPRO cvičení 2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016
Outline I 1 Outline 2 Proměnné 3 Proměnné - cvičení 4 Funkce 5 Funkce - cvičení 6 Domácí úkol
Proměnné
Proměnné Symbolické označení místa v paměti
Proměnné Symbolické označení místa v paměti Nese hodnotu
Proměnné Symbolické označení místa v paměti Nese hodnotu Lze ji vytvářet, číst a měnit
Typy proměnných
Typy proměnných char 8 bitu
Typy proměnných char 8 bitu signed char unsigned char
Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767)
Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int
Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int long 32 bitu
Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int long 32 bitu necelociselna float 32
Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int long 32 bitu necelociselna float 32 necelociselna double 64
Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int long 32 bitu necelociselna float 32 necelociselna double 64 bool = { true, false}
Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int long 32 bitu necelociselna float 32 necelociselna double 64 bool = { true, false} string (řetězec textu)
Deklarace a syntaxe 1 int a; 2 a =3; 3 int b =5; 4 int c=a+b; 5 a=b=c;
Diskuze Jak pojmenovávat proměnné?
Diskuze Jak pojmenovávat proměnné? Jak dlouho proměnná vydrží? Kdy zaniká?
Diskuze Jak pojmenovávat proměnné? Jak dlouho proměnná vydrží? Kdy zaniká? lokální globální (const)
cvičení Návod na odmocninu: 1 # include <math.h> 2 int main () 3 { 4 int trojka ; 5 trojka = sqrt ( 9); 6 return ; 7 }
cvičení 1 Vytvořte program, který načte číslo do proměnné a pak vypíše Návod na odmocninu: 1 # include <math.h> 2 int main () 3 { 4 int trojka ; 5 trojka = sqrt ( 9); 6 return ; 7 }
cvičení 1 Vytvořte program, který načte číslo do proměnné a pak vypíše 2 Vytvořte program, který načte číslo (délku strany čtverce) a vypíše jeho obsah. Návod na odmocninu: 1 # include <math.h> 2 int main () 3 { 4 int trojka ; 5 trojka = sqrt ( 9); 6 return ; 7 }
cvičení 1 Vytvořte program, který načte číslo do proměnné a pak vypíše 2 Vytvořte program, který načte číslo (délku strany čtverce) a vypíše jeho obsah. 3 Vytvořte program, který umí řešit kvadratickou rovnici v základním tvaru. Návod na odmocninu: 1 # include <math.h> 2 int main () 3 { 4 int trojka ; 5 trojka = sqrt ( 9); 6 return ; 7 }
cv1 - řešení Vytvořte program, který načte číslo do proměnné a pak vypíše 1 cout <<" zadejte cislo :" << endl ; 2 int cislo ; 3 cin >> cislo ; 4 cout <<" vase cislo je:" << cislo << endl ;
cv2 - řešení Vytvořte program, který načte číslo (délku strany čtverce) a vypíše jeho obsah. 1 cout < <" zadejte cislo jako delku strany :" 2 << endl ; 3 int cislo ; 4 cin >> cislo ; 5 int obsah = cislo * cislo ; 6 cout <<" obsah je:" << obsah << endl ;
cv3 - řešení Vytvořte program, který umí řešit kvadratickou rovnici v základním tvaru. 1 double a,b,c; 2 // Nacitani koeficientu 3 cout <<" zadejte koeficient a:" << endl ; 4 cin >> a; 5 cout <<" zadejte koeficient b:" << endl ; 6 cin >> b; 7 cout <<" zadejte koeficient c:" << endl ; 8 cin >> c; 9 // Vypocet 10 double diskriminant = b*b -4* a*c; 11 double x1 =( -b+ sqrt ( diskriminant ))/2* a; 12 double x2 =( -b- sqrt ( diskriminant ))/2* a; 13 cout <<endl <<" koreny jsou : " <<x1 <<" a " 14 <<x2 << endl ;
Funkce - Terminologie Funkce
Funkce - Terminologie Funkce Procedura
Funkce - Terminologie Funkce Procedura Podprogram
Podprogram
Podprogram Wikipedia (edited): Podprogram je v programování část programu, kterou je možné volat, a to i opakovaně a z různých míst kódu. Podprogram může mít parametry, které udávají, s jakými hodnotami má pracovat, a může vracet návratovou hodnotu...
Funkce vs procedura
Funkce vs procedura Wikipedia: procedura podprogram, který nevrací výslednou hodnotu a volá se jako příkaz.
Funkce vs procedura Wikipedia: procedura podprogram, který nevrací výslednou hodnotu a volá se jako příkaz. Wikipedia: funkce podprogram, který vrací hodnotu a lze jej volat ve výrazu.
Funkce: matematika vs programování Jsou nějáké rozdíly mezi funkcí v programování a v matematice?
Funkce: matematika vs programování Jsou nějáké rozdíly mezi funkcí v programování a v matematice? V programování: Neplatí, že pro jeden vstupní parametr existuje jedna výstupní hodnota. Do procesu mohou vstupovat i další data. Často se používaji i funkce úplně bez parametru.
Funkce: matematika vs programování Jsou nějáké rozdíly mezi funkcí v programování a v matematice? V programování: Neplatí, že pro jeden vstupní parametr existuje jedna výstupní hodnota. Do procesu mohou vstupovat i další data. Často se používaji i funkce úplně bez parametru. V programování: má funkce i další účinek kromě návratové hodnoty. Například může provést další operace a nastavení. (Procedura)
Funkce v jazyce C a C++ Výraz podprogram se užívá zřídka Procedura neexistuje. Používá se funkce bez návratové hodnoty. Vše zmíněné se v jazyce C a C++ nazývá funkce.
Deklarace a definice funkce 1 2 navratovy_ typ jmeno ([ parametry,...]) 3 { 4 telo funkce 5 } Navratovy typ např.:{int, bool, float..., void} K ukončení funkce a vrácení hodnoty se použije příkaz return
Deklarace a definice funkce 1 # include < iostream > 2 using namespace std ; 3 4 int secti ( int a, int b) // Definice 5 { 6 return a + b; 7 } 8 9 int main () 10 { 11 int vysledek ; 12 vysledek = secti (3,4); 13 cout << " Vysledek souctu je: " << vysledek << end 14 return 0; 15 }
Deklarace a definice funkce 1 # include < iostream > 2 using namespace std ; 3 int secti ( int a, int b) // Deklarace 4 5 int main () 6 { 7 int vysledek ; 8 vysledek = secti (3,4); 9 cout << " Vysledek souctu je: " << vysledek << end 10 return 0; 11 } 12 13 int secti ( int a, int b) // Definice 14 { 15 return a + b; 16 }
Funkce cvičení 1 Funkce pro vypis textu do konzole
Funkce cvičení 1 Funkce pro vypis textu do konzole 2 Funkce pro výpočet obsahu kruhu
Funkce cvičení 1 Funkce pro vypis textu do konzole 2 Funkce pro výpočet obsahu kruhu 3 Funkce pro výpočet objemu válce
Funkce cvičení 1 Funkce pro vypis textu do konzole 2 Funkce pro výpočet obsahu kruhu 3 Funkce pro výpočet objemu válce 4 Funkce pro nalezení kořene(ů) kvadratické rovnice
Funkce cvičení 1 Funkce pro vypis textu do konzole 2 Funkce pro výpočet obsahu kruhu 3 Funkce pro výpočet objemu válce 4 Funkce pro nalezení kořene(ů) kvadratické rovnice Je nutné se vypořádat s tím, že funkce vrací pouze jednu hodnotu
cv1 - řešení 1 void say_hell () 2 { 3 std :: cout <<" Hello " <<std :: endl ; 4 5 return ; 6 }
cv2 - řešení 1 double obsah_kruhu ( double radius ) 2 { 3 return 3. 14* radius * radius ; 4 }
cv3 - řešení 1 double objem_valce ( double radius, double vyska ) 2 { 3 return obsah_kruhu ( radius )* vyska ; 4 }
Domácí úkol Vytvořte a použijte funkci na hledaní kořenů kvadratické rovnice. Funkce bude mít 4 vstupní parametry a vracet promennou typu double. Parametry budou: a, b, c (jako na cviceni) a parametr znamenko, kam se dosadi bud +1, nebo -1. Parametru znamenko vyuzijete k urceni, zda se jedna o jeden, nebo druhy koren (nezáleží na jejich pořadí). Funkce bude vyuzivat pomocnou funkci diskriminant. Nápověda: Diskriminant: D = b 2 4ac x = b + znamenko D 2a