Uvod u funkcije Kolegij: Programski jezik C++ Ak. god. 2018/19

Slides:



Advertisements
Сличне презентације
Замена места сабирака.
Advertisements

Програмски језик Parallaxis
Uvod u programiranje - matematika – XII predavanje Moduli. OOP
Показивачи у програмском језику C Дамјан Илић; Е32 Габриела Миленковић
Јазкот C++ Мандал Сениха.
2.1.(A) Grafičke naredbe u programu
Elektronički logički sklopovi i registri
Primjena programiranja u nastavi matematike
Показивачи.
Programiranje - Nizovi -
Programski jezici.
Tipovi, operatori i izrazi
Test tri sita.
PRIMJENA SLIČNOSTI NA IGRALIŠTU
Programiranje - Naredbe za kontrolu toka programa – 4. dio
Nastavna jedinica: 1.5. Elektronički logički sklopovi i registri
VEDSKA MATEMATIKA (Trikovi lakšeg računanja) 
UVOD, STRUKTURNA ANALIZA
Целобројно и реално дељење
VJEŽBA složenie naredbe.
Преклапање оператора Операторске функције Неки посебни оператори
Uvod u programiranje - matematika – VI predavanje Petlje. FOR. WHILE
Nastavna cjelina: 2. Microsoft Excel 2010
KAKO NAUČITI STARIJE OSOBE NA RAČUNALO
Nastavna jedinica: 1.5. Elektronički logički sklopovi i registry
5 NAREDBE.
Dinamičke strukture podataka
Osnove pseudo jezika operatori, funkcije
Python 8. razred Miodrag Maksimović.
Оператори и изрази Аритметички оператори Оператори на нивоу битова
Uvod u programiranje - matematika – VIII predavanje
Vježbe 1. dio - Razvojne okoline -
Naredba case Komanda "Select Case" se koristi kada u izrazu imamo više uslova. U sledećem primjeru prikazano je korištenje naredbe “If - else“ Izraz postaje.
Ak. god. 2018/2019 izv. prof. dr. sc. Marko Maliković
PyGame.
Спецификатори Иницијализација
учитељица Лала, ОШ "Анта Богићевић", Лозница
Uskladištene procedure
Uvod u programiranje - matematika – XII predavanje
Podaci.
METODA SUPROTNIH KOEFICJENATA
Читање и печатење вредности на податоци
Osnovni pojmovi; nastanak programa
PROJEKTOVANJE RAZGRANATE ALGORITAMSKE STRUKTURE
Uvod u programiranje - matematika – V predavanje
2018/2019 izv. prof. dr. sc. Marko Maliković
Programiranje - Blokovi naredbi i logički tipovi –
Vježbenica 1c: Pravocrtna programska struktura
Vježbenica 2: struktura grananja – 1.dio
Elektronički sklopovi računala
Osna simetrija Zrcaljenje s x x.
Strukture podataka i algoritmi 1
Napadi na web aplikacije
Programski jezik C++ - Vježbe - 3. dio
Vježbenica 3: struktura petlje – 1.dio
Osnovna Struktura programa
EXC - Funkcije - 2. dio Funkcije – drugi dio
Vježbenica 3: struktura petlje – 3.dio
Programski jezici.
Структура програма у Паскалу
КАРАКТЕРИСТИКЕ ТРАНЗИСТОРА
PROFIL INTERNET Internetski servisi.
Logičko projektovanje računarskih sistema 2
Algoritmi Vladimir Filipović
5. (B) RJEŠAVANJE PROBLEMA I PROGRAMIRANJE
MOD MOD je aritmetički operator – predstavlja ostatak cjelobrojnog dijeljenja. Ako je MOD = 0, tada je broj djeljiv bez ostatka. Gleda se samo ostatak.
Napisati program koji izračunava sledeću formulu
Principi programiranja
Principi programiranja
Vježbenica 3: struktura petlje – 2.dio
Транскрипт презентације:

Uvod u funkcije Kolegij: Programski jezik C++ Ak. god. 2018/19 Izv. Prof. Dr. Sc. Marko Maliković

Što su funkcije? Funkcije (ili metode) su nizovi naredbi koji opisuju neki postupak zajednički nizu ulaznih vrijednosti Funkcije se pišu kao zasebni blokovi naredbi prije ili poslije glavne funkcije main (main je također funkcija) Dakle: nasa_funkcija int main () { ... }

Primjer #include <iostream> using namespace std; const double pi=3.1415926; double opseg_kruga (double r) { return 2.*r*pi; } int main() { cout << opseg_kruga(5); return 0; Funkcija s nazivom opseg_kruga čiji argument je radijus r Uporaba funkcije opseg_kruga u glavnom dijelu programa

Deklaracija i definicija funkcija povratni_tip ime_funkcije (tip arg_1, ..., tip arg_n) { naredbe; return povratna_vrijednost; }

Deklaracija i definicija funkcija povratni_tip ime_funkcije (tip arg_1, ..., tip arg_n) { naredbe; return povratna_vrijednost; } Crveno = Deklaracija funkcije

Deklaracija i definicija funkcija povratni_tip ime_funkcije (tip arg_1, ..., tip arg_n) { naredbe; return povratna_vrijednost; } Crveno = Deklaracija funkcije Plavo = Definicija funkcije

Deklaracija i definicija funkcija povratni_tip ime_funkcije (tip arg_1, ..., tip arg_n) { naredbe; return povratna_vrijednost; } Oprez: Ako je tip povratne vrijednosti funkcije različit od povratnog tipa funkcije onda se rezultat pravilima pretvorbe svodi na povratni tip funkcije

Pozivanje funkcija Kada se iz glavnog programa poziva neka funkcija tada se izvođenje glavnog programa trenutno prekida i tijek izvođenja se prenosi na funkciju Nakon što se kôd u funkciji izvede, glavni program se nastavlja od slijedeće naredbe iza poziva funkcije nasa_funkcija int main () { ... nasa_funkcija; }

Pozivanje funkcija Funkcije se ponašaju kao zasebne cjeline Njihovo unutarnje ustrojstvo ne mora biti poznato korisniku funkcije Pozivatelj funkcije mora znati što funkcija čini, ali mu ne mora biti važno kako ona to čini Funkcije imaju parametre (argumente) koje pozivatelj zadaje prilikom poziva Funkcije vraćaju povratnu vrijednost Neka funkcija može pozivati i samu sebe (o tome više kasnije →)

Pozivanje funkcija Iz neke funkcije može se pozvati i neka druga funkcija Nasa_funkcija_1 () { ... Nasa_funkcija_2; } Nasa_funkcija_2 int main () { Nasa_funkcija_1;

Zašto koristiti funkcije? Razbijanjem programa u funkcije doprinosi se njegovoj modularnosti Modularni program – program koji je razbijen na manje cjeline koje je lakše koristiti Primjer: Za program za izračunavanje binomnih koeficijenata odnosno: ... možemo iskoristiti program za izračunavanje faktorijela kojeg smo već napisali tako da od njega napravimo funkciju

Program za izračunavanje binomnih koeficijenata Već smo imali: //Program za računanje faktorijela #include <iostream> using namespace std; int main() { int n; cout << "Upisi prirodan broj: "; cin >> n; long fjel = 1; for (int i = 2; i <= n; ++i) {fjel = fjel * i;} cout << n <<"! = " << fjel << endl; return 0; }

Program za izračunavanje binomnih koeficijenata #include <iostream> using namespace std; int fact(int n) { long fjel = 1; for (int i = 2; i <= n; ++i) {fjel = fjel * i;} cout << n <<"! = " << fjel << endl; return fjel; } int main() { int p, r; cout << "Upisi broj p: "; cin >> p; cout << endl << "Upisi broj r: "; cin >> r; int bk = fact(p) / (fact(r) * fact(p-r)); cout << "Binomni koeficijent brojeva " << p << " i " << r << " je: " << bk << endl << endl; return 0; Ako ne bismo koristili funkcije tada bismo zasebno u programu morali izračunati p!, r! i (p-r)!

Funkcija kao argument Moguće je i poziv funkcije smjestiti kao argument poziva funkcije Na primjer: ... int fact(int n) { … … float Kvadrat(x) = x*x; float factNa2 = Kvadrat(fact(x));

Funkcije koje ne vraćaju nikakvu konkretnu vrijednost Funkcija ne mora vraćati nikakvu konkretnu vrijednost To se može naznačiti tako da se funkcija deklarira tipom void Na primjer: void IspisiKvadrat(double x) { cout << (x*x) << endl; return; } U takvom slučaju naredba return ne sadrži nikakav podatak (može se i izostaviti)

Povratak iz funkcije u glavni program Povratak je moguć s bilo kojeg mjesta unutar funkcije Zato se naredba return može pojavljivati na više mjesta Izvršiti će se jedna naredba return – ovisno o tome do koje kôd dođe

Više naredbi return - primjer #include <iostream> using namespace std; bool pravokutan(int a,int b,int c) { if (a*a+b*b==c*c || b*b+c*c==a*a || a*a+c*c==b*b) return true; else return false; } int main() { int a, b, c; cout << "Upisi a: "; cin >> a; cout << "Upisi b: "; cin >> b; cout << "Upisi c: "; cin >> c; if (pravokutan(a,b,c)) cout << "Trokut je pravokutan!"; cout << "Trokut nije pravokutan!"; return 0;