zpro cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfoutline prom enn e prom enn e -...

51
Outline Promˇ enn´ e Promˇ enn´ e - cviˇ cen´ ı Funkce Funkce - cviˇ cen´ ı Dom´ ac´ ı´ ukol ZPRO – cviˇ cen´ ı2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016

Upload: others

Post on 14-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

ZPRO – cvicenı 2

Martin Flusser

Faculty of Nuclear Sciences and Physical EngineeringCzech Technical University in Prague

October 17, 2016

Page 2: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Outline I

1 Outline

2 Promenne

3 Promenne - cvicenı

4 Funkce

5 Funkce - cvicenı

6 Domacı ukol

Page 3: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Promenne

• Symbolicke oznacenı mısta v pameti

• Nese hodnotu

• Lze ji vytvaret, cıst a menit

Page 4: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Promenne

• Symbolicke oznacenı mısta v pameti

• Nese hodnotu

• Lze ji vytvaret, cıst a menit

Page 5: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Promenne

• Symbolicke oznacenı mısta v pameti

• Nese hodnotu

• Lze ji vytvaret, cıst a menit

Page 6: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Promenne

• Symbolicke oznacenı mısta v pameti

• Nese hodnotu

• Lze ji vytvaret, cıst a menit

Page 7: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Typy promennych

• 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 (retezec textu)

Page 8: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Typy promennych

• 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 (retezec textu)

Page 9: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Typy promennych

• 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 (retezec textu)

Page 10: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Typy promennych

• 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 (retezec textu)

Page 11: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Typy promennych

• 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 (retezec textu)

Page 12: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Typy promennych

• 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 (retezec textu)

Page 13: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Typy promennych

• 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 (retezec textu)

Page 14: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Typy promennych

• 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 (retezec textu)

Page 15: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Typy promennych

• 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 (retezec textu)

Page 16: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Typy promennych

• 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 (retezec textu)

Page 17: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Deklarace a syntaxe

1 int a;

2 a=3;

3 int b=5;

4 int c=a+b;

5 a=b=c;

Page 18: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Diskuze

• Jak pojmenovavat promenne?

• Jak dlouho promenna vydrzı? Kdy zanika?

• lokalnı• globalnı (const)

Page 19: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Diskuze

• Jak pojmenovavat promenne?

• Jak dlouho promenna vydrzı? Kdy zanika?

• lokalnı• globalnı (const)

Page 20: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Diskuze

• Jak pojmenovavat promenne?

• Jak dlouho promenna vydrzı? Kdy zanika?• lokalnı• globalnı (const)

Page 21: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

cvicenı

1 Vytvorte program, ktery nacte cıslo do promenne a pak vypıse

2 Vytvorte program, ktery nacte cıslo (delku strany ctverce) avypıse jeho obsah.

3 Vytvorte program, ktery umı resit kvadratickou rovnici vzakladnım tvaru.

Navod na odmocninu:

1 #include <math.h>

2 int main()

3 {

4 int trojka;

5 trojka = sqrt (9);

6 return;

7 }

Page 22: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

cvicenı

1 Vytvorte program, ktery nacte cıslo do promenne a pak vypıse

2 Vytvorte program, ktery nacte cıslo (delku strany ctverce) avypıse jeho obsah.

3 Vytvorte program, ktery umı resit kvadratickou rovnici vzakladnım tvaru.

Navod na odmocninu:

1 #include <math.h>

2 int main()

3 {

4 int trojka;

5 trojka = sqrt (9);

6 return;

7 }

Page 23: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

cvicenı

1 Vytvorte program, ktery nacte cıslo do promenne a pak vypıse

2 Vytvorte program, ktery nacte cıslo (delku strany ctverce) avypıse jeho obsah.

3 Vytvorte program, ktery umı resit kvadratickou rovnici vzakladnım tvaru.

Navod na odmocninu:

1 #include <math.h>

2 int main()

3 {

4 int trojka;

5 trojka = sqrt (9);

6 return;

7 }

Page 24: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

cvicenı

1 Vytvorte program, ktery nacte cıslo do promenne a pak vypıse

2 Vytvorte program, ktery nacte cıslo (delku strany ctverce) avypıse jeho obsah.

3 Vytvorte program, ktery umı resit kvadratickou rovnici vzakladnım tvaru.

Navod na odmocninu:

1 #include <math.h>

2 int main()

3 {

4 int trojka;

5 trojka = sqrt (9);

6 return;

7 }

Page 25: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

cv1 - resenı

Vytvorte program, ktery nacte cıslo do promenne a pak vypıse

1 cout <<"zadejte cislo:" <<endl;

2 int cislo;

3 cin >> cislo;

4 cout <<"vase cislo je:"<<cislo <<endl;

Page 26: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

cv2 - resenı

Vytvorte program, ktery nacte cıslo (delku strany ctverce) a vypısejeho 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;

Page 27: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

cv3 - resenı

Vytvorte program, ktery umı resit kvadratickou rovnici v zakladnımtvaru.

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;

Page 28: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce - Terminologie

• Funkce

• Procedura

• Podprogram

Page 29: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce - Terminologie

• Funkce

• Procedura

• Podprogram

Page 30: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce - Terminologie

• Funkce

• Procedura

• Podprogram

Page 31: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Podprogram

Wikipedia (edited):

Podprogram je v programovanı cast programu, kterou je moznevolat, a to i opakovane a z ruznych mıst kodu. Podprogram muzemıt parametry, ktere udavajı, s jakymi hodnotami ma pracovat, amuze

”vracet“ navratovou hodnotu...

Page 32: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Podprogram

Wikipedia (edited):

Podprogram je v programovanı cast programu, kterou je moznevolat, a to i opakovane a z ruznych mıst kodu. Podprogram muzemıt parametry, ktere udavajı, s jakymi hodnotami ma pracovat, amuze

”vracet“ navratovou hodnotu...

Page 33: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce vs procedura

Wikipedia:

procedura – podprogram, ktery nevracı vyslednou hodnotu a volase jako prıkaz.

Wikipedia:

funkce – podprogram, ktery vracı hodnotu a lze jej volat ve vyrazu.

Page 34: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce vs procedura

Wikipedia:

procedura – podprogram, ktery nevracı vyslednou hodnotu a volase jako prıkaz.

Wikipedia:

funkce – podprogram, ktery vracı hodnotu a lze jej volat ve vyrazu.

Page 35: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce vs procedura

Wikipedia:

procedura – podprogram, ktery nevracı vyslednou hodnotu a volase jako prıkaz.

Wikipedia:

funkce – podprogram, ktery vracı hodnotu a lze jej volat ve vyrazu.

Page 36: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce: matematika vs programovanı

• Jsou nejake rozdıly mezi funkcı v programovanı a vmatematice?

V programovanı:

Neplatı, ze pro jeden vstupnı parametr existuje jedna vystupnıhodnota. Do procesu mohou vstupovat i dalsı data . Casto sepouzıvaji i funkce uplne bez parametru.

V programovanı:

ma funkce i dalsı ucinek krome navratove hodnoty. Naprıklad muzeprovest dalsı operace a nastavenı. (Procedura)

Page 37: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce: matematika vs programovanı

• Jsou nejake rozdıly mezi funkcı v programovanı a vmatematice?

V programovanı:

Neplatı, ze pro jeden vstupnı parametr existuje jedna vystupnıhodnota. Do procesu mohou vstupovat i dalsı data . Casto sepouzıvaji i funkce uplne bez parametru.

V programovanı:

ma funkce i dalsı ucinek krome navratove hodnoty. Naprıklad muzeprovest dalsı operace a nastavenı. (Procedura)

Page 38: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce: matematika vs programovanı

• Jsou nejake rozdıly mezi funkcı v programovanı a vmatematice?

V programovanı:

Neplatı, ze pro jeden vstupnı parametr existuje jedna vystupnıhodnota. Do procesu mohou vstupovat i dalsı data . Casto sepouzıvaji i funkce uplne bez parametru.

V programovanı:

ma funkce i dalsı ucinek krome navratove hodnoty. Naprıklad muzeprovest dalsı operace a nastavenı. (Procedura)

Page 39: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce v jazyce C a C++

• Vyraz podprogram se uzıva zrıdka

• Procedura neexistuje. Pouzıva se funkce bez navratovehodnoty.

• Vse zmınene se v jazyce C a C++ nazyva funkce.

Page 40: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Deklarace a definice funkce

1

2 navratovy_typ jmeno ([parametry , ...])

3 {

4 telo funkce

5 }

• Navratovy typ napr.:{int, bool, float..., void}• K ukoncenı funkce a vracenı hodnoty se pouzije prıkaz return

Page 41: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

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 << endl;

14 return 0;

15 }

Page 42: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

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 << endl;

10 return 0;

11 }

12

13 int secti(int a, int b) // Definice

14 {

15 return a + b;

16 }

Page 43: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce cvicenı

1 Funkce pro vypis textu do konzole

2 Funkce pro vypocet obsahu kruhu

3 Funkce pro vypocet objemu valce

4 Funkce pro nalezenı korene(u) kvadraticke rovnice• Je nutne se vyporadat s tım, ze funkce vracı pouze jednu

hodnotu

Page 44: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce cvicenı

1 Funkce pro vypis textu do konzole

2 Funkce pro vypocet obsahu kruhu

3 Funkce pro vypocet objemu valce

4 Funkce pro nalezenı korene(u) kvadraticke rovnice• Je nutne se vyporadat s tım, ze funkce vracı pouze jednu

hodnotu

Page 45: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce cvicenı

1 Funkce pro vypis textu do konzole

2 Funkce pro vypocet obsahu kruhu

3 Funkce pro vypocet objemu valce

4 Funkce pro nalezenı korene(u) kvadraticke rovnice• Je nutne se vyporadat s tım, ze funkce vracı pouze jednu

hodnotu

Page 46: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce cvicenı

1 Funkce pro vypis textu do konzole

2 Funkce pro vypocet obsahu kruhu

3 Funkce pro vypocet objemu valce

4 Funkce pro nalezenı korene(u) kvadraticke rovnice

• Je nutne se vyporadat s tım, ze funkce vracı pouze jednuhodnotu

Page 47: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Funkce cvicenı

1 Funkce pro vypis textu do konzole

2 Funkce pro vypocet obsahu kruhu

3 Funkce pro vypocet objemu valce

4 Funkce pro nalezenı korene(u) kvadraticke rovnice• Je nutne se vyporadat s tım, ze funkce vracı pouze jednu

hodnotu

Page 48: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

cv1 - resenı

1 void say_hell ()

2 {

3 std::cout <<"Hello"<<std::endl;

4

5 return;

6 }

Page 49: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

cv2 - resenı

1 double obsah_kruhu (double radius)

2 {

3 return 3.14* radius*radius;

4 }

Page 50: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

cv3 - resenı

1 double objem_valce (double radius , double vyska)

2 {

3 return obsah_kruhu(radius )* vyska;

4 }

Page 51: ZPRO cvicení 2 - cvut.czpeople.fjfi.cvut.cz/flussmar/files/cv2.pdfOutline Prom enn e Prom enn e - cvi cen Funkce Funkce - cvi cen Dom ac uk ol cvi cen 1 Vytvo rte program, kter y

Outline Promenne Promenne - cvicenı Funkce Funkce - cvicenı Domacı ukol

Domacı ukol

Vytvorte a pouzijte funkci na hledanı korenu kvadraticke rovnice.Funkce bude mıt 4 vstupnı parametry a vracet promennou typudouble. Parametry budou: a, b, c (jako na cviceni) a parametrznamenko, kam se dosadi bud +1, nebo -1. Parametru znamenkovyuzijete k urceni, zda se jedna o jeden, nebo druhy koren (nezalezına jejich poradı). Funkce bude vyuzivat pomocnou funkcidiskriminant.Napoveda: Diskriminant: D = b2 − 4ac

x =−b+ znamenko×

√D

2a