Funkcije predavač: Nadežda Jakšić

Слични документи
Funkcije predavač: Nadežda Jakšić

Tutoring System for Distance Learning of Java Programming Language

Microsoft Word - Zadaci za samostalno vjezbanje 4.doc

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

070-ALIP2-udzbenik.indb

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

Grananje u programu predavač: Nadežda Jakšić

Strukture predavač: Nadežda Jakšić

Računarski praktikum I - Vježbe 01 - Uvod

Uvod u računarstvo 2+2

Programski jezik C

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Tutoring System for Distance Learning of Java Programming Language

Uvod u takmičarsko programiranje

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

PowerPoint Presentation

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

Tutoring System for Distance Learning of Java Programming Language

PROMENLJIVE, TIPOVI PROMENLJIVIH

1. Vremensko ograničenje Memorijsko ograničenje ulaz izlaz 0,1 s 64 MB standardni ulaz standardni izlaz Banka želi da upozori kupce na sumnjive aktivn

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

Računarski praktikum I - Vježbe 09 - this, static

Државно такмичење године 5. и 6. разред 1. [pločice] Правоугаону терасу димензија d s центиметара квадратних треба поплочати коришћењем плочица

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

Microsoft PowerPoint - C-4-1

Microsoft Word - 11 Pokazivaci

Uvod u računarstvo 2+2

Konverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić

Programiranje predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2016, 10. predavanje p. 1

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference

Uvod u računarstvo 2+2

Logicko projektovanje racunarskih sistema I

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

Računarski praktikum I - Vježbe 11 - Funktori

07_PJISP_II_Predavanja

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

СТЕПЕН појам и особине

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1

PowerPoint Presentation

My_P_Red_Bin_Zbir_Free

ЕКОНОМСКИ ФАКУЛТЕТ УНИВЕРЗИТЕТА У ПРИШТИНИ КОСОВСКА МИТРОВИЦА

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007

ZADACI ZA VEŽBU 1. Realizovati konzolnu aplikaciju koja će računati površinu kvadrata, pravougaonika ili trougla. 2. Preko konzole se unosi ocena od 1

Programski jezik C

NIZOVI

Microsoft PowerPoint - Bitovi [Compatibility Mode]

Microsoft PowerPoint - Datoteke [Compatibility Mode]

Osnove inženjerske informatike II. Uvod u programiranje Vaš prvi program K. F. & V. B.

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o

Programiranje za UNIX Okruženje unix procesa

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

My_P_Trigo_Zbir_Free

Oblikovanje i analiza algoritama 5. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. pr

Алгебарски изрази 1. Запиши пет произвољних бројевних израза. 2. Израчунај вредност израза: а) : ; б) : (

1

obavezno je koristiti spell-checker

PowerPoint Presentation

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Microsoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode]

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K.

PowerPoint Presentation

Datoteke predavač: Nadežda Jakšić

Microsoft Word - ZadaciBacktrackingKombinatorika.doc

PowerPoint Presentation

Uvod u računarstvo 2+2

P1.3 Projektovanje makroasemblera

Programiranje 1 5. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanj

Rjesenja pripremnih zadataka za provjeru znanja-petlje II 1,2 //1. a) S=1^3+2^3+3^ ^3 program Untitled; var i,s:integer; begin //for

studirko.com predstavlja: Večernja škola C# za FPZ ( ) v 4.0 Za studirko.com napisao: Slaven Špigl

Microsoft Word - MySQL_3.doc

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun

Математика 1. Посматрај слику и одреди елементе скуупова: а) б) в) средњи ниво А={ } B={ } А B={ } А B={ } А B={ } B А={ } А={ } B={ } А B={ } А B={ }

Državna matura iz informatike

08 RSA1

Microsoft Word - Matematika_kozep_irasbeli_javitasi_0802.doc

PASCAL UVOD 2 II razred gimnazije

Dijagrami sekvenci

SELECT statement basic form

Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

Microsoft Word - CAD sistemi

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3

Računarski praktikum I - Vježbe 06 - Standard Template Library (2)

Fortran

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

Ekonomski fakultet u Osijeku Kolegij: Elektroničko i mobilno poslovanje Nositelj: prof. dr. sc. Branimir Dukić Zadaci za vježbe 7. JavaScript - zadaci

Microsoft Word - uputstvo-estudent-v2.docx

Vjezbe 1.dvi

Microsoft Word - z4Ž2018a

CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup priro

1. Apsolutni pobednik na glasanju vreme memorija ulaz izlaz 0,1 s 64 Mb standardni ulaz standardni izla Apsolutni pobednik izbora je onaj ko osvoji ba

3.Kontrlne (upravlja~ke) strukture u Javi

Транскрипт:

Funkcije predavač: Nadežda Jakšić

do sada su korišćene "gotove" funkcije iz standardnih biblioteka (cin, cout...) one su pozivane iz main funkcije koja je glavna funkcija u programu jer izvršavanje programa počinje od nje korisničke funkcije imenovani i samostalni delovi kôda koji izršavaju neki zadatak - pišu se nezavisno i pozivaju se iz main funkcije koriste se kada postoji više ponavljanja istih blokova naredbi (operacija) u različitim delovima programa (time se skraćuje tekst programa upotrebom funkcija, program se deli na odvojene blokove, svaki blok radi određeni posao, ovim se olakšava čitljivost programa - osmišljavanje, razumevanje i održavanje manjih blokova koda je lakše deo programa se može izvršiti sa različitim parametrima, ovi parametri se prosleđuju funkciji kao argumenti funkcije

sintaksa: tiprezultata imefunkcije (formalniargumenti) telo funkcije (definicije, deklaracije, naredbe) tiprezultata je tip koji ima rezultat funkcije; rezultat je ono što funkcija vraća kada se pozove; ako se ne navede podrazumeva se int; kod funkcija koje ne vraćaju vrednost navodi se void imefunkcije je identifikator formalniargumenti su argumenti pomoću kojih se unose početni podaci u funkciju; oni rezervišu mesta za veličine sa kojima funkcija operiše posle njenog poziva; za svaki argument mora posebno da se navede tip (int a, int b, float c...) vrednosti koje se dodeljuju formalnim argumentima nazivaju se stvarni argumenti

//funkcija vraća vrednost float Kvadriraj (float x) float rezultat; naredba return se koristi za povratak iz funkcije; rezultat koji ova funkcija vraća može da bude promenljiva, pokazivač ili aritmetički izraz rezultat = x * x; // ili return (x * return x); (povratnavrednost) return rezultat; poziv funkcije: a=kvadriraj (b); //b mora da bude float tip funkcije koja ne vraća vrednost je void //funkcija ne vraća vrednost void ispisupozorenja() cout << "Upozorenje!"; poziv funkcije: ispisupozorenja(); poziv funkcije: ako funkcija vraća vrednost imefunkcije (stvarniparametri) ako ne vraća vrednost imefunkcije ();

//funkcija vraća vrednost zbir dva broja.. int zbir (int a, int b) //funkcija će vratiti rezultat tipa int, formalni //argumenti su int a, int b, za svaki mora posebno da se navede tip int c; c=a+b; return c; //može i return a+b; naredba return vraća zbir koji je tipa int int main () int broj1, broj2; cout<<"unesite dva broja"<<endl; cin>>broj1>>broj2; cout<<"zbir ova dva broja je"<<zbir (broj1, broj2); return 0; poziv funkcije zbir, broj1 i broj2 su stvarni argumenti

//funkcija ne vraća vrednost.. void pozdrav () cout<<"zdravo"<<endl; int main () int i; for (i=1;i<=10;i++) pozdrav (); //poziv funkcije koja ne vraća vrednost return 0;

//funkcija ne vraća vrednost zbir dva broja.. void zbir (int a, int b) //funkcija ima tip void int c; c=a+b; cout<<"zbir ova dva broja je"<<c; int main () int broj1, broj2; cout<<"unesite dva broja"<<endl; cin>>broj1>>broj2; zbir (broj1, broj2); //poziv funkcije zbir return 0;

//funkcija vraća vrednost kub nekog broja int kub (int x) int rez; rez=x*x*x; return rez; int main () int a,k; cout<<"unesite broj"<<endl; cin>>a; k=kub (a); cout<<"kub unetog broja je"<< k; return 0;

//funkcija računa prosek dva broja float nadjiprosek (float a, float b) float prosek; prosek=(a+b)/2; return (prosek); int main () float a=5, b=15, rezultat; rezultat=nadjiprosek (a,b); cout<<"prosek je " << rezultat;

//funkcija prikazuje kvadrate brojeva od 1 do 9 void kvadrati () int i; for (i=1;i<=9;i++) cout<< i*i; int main () kvadrati (); return 0;

// funkcija može da se poziva više puta u okviru programa int oduzimanje (int a, int b) int r; r=a-b; return r; int main () int x=5, y=3, z; z = oduzimanje (7,2); cout << " Prvi rezultat je " << z << '\n'; //5 cout << " Drugi rezultat je " << oduzimanje(7,2) << '\n'; //5 cout << " Treci rezultat je " << oduzimanje(x,y) << '\n'; //2 z= 4 + oduzimanje(x,y); cout << " Cetvrti rezultat je" << z << '\n'; //6

//funkcija ispituje da li je broj prost u intervalu od m do n int prostbroj (int broj); int main() int m,n,i; cout<<"unesite dva broja " <<endl; cin>>m>>n; cout<<"prosti brojevi u intervalu od " <<m<< " do " <<n<< " su " <<endl; for (i=m; i<=n; i++) if (prostbroj (i)) vrednost promenljive prost se cout<< i<<endl; return 0; vraća u glavnu funkciju i ako int prostbroj (int broj) promenljiva ima vrednost jedan int i, prost=1; prikazuje se broj for( i=2;i<=broj/2;i++) if (broj%i==0) prost=0; break; return prost; //obezbediti da početak intervala bude broj koji je veći od jedan

dva načina za prosleđivanje vrednosti formalnim argumentima: prosleđivanje (pozivanje) po vrednosti (formalnim argumentima se dodeljuje vrednost stvarnog argumenta, nema izmene stvarnog argumenta po izlasku iz funkcije) void zamenimesta (int a, int b) void zamenimesta (int a, int b) int pomocna; pomocna = a; a = b; b = pomocna; funkcija pravi svoje privatne kopije parametara i koristi te kopije pri izvršavanju - po završetku, prostor koji je funkcija zauzela za kopije se oslobađa i vrednosti kopija se pri tome gube, a originalne promenljive ostaju nepromenjene

prosleđivanje po referenci (ako se umesto vrednosti stvarnih argumenata prosleđuju adrese tih argumenata onda se menja vrednost stvarnim argumentima kada se izađe iz funkcije) void zamenamesta (int& a, int& b) int pomocna; pomocna = a; a = b; b = pomocna; promene koje funkcija napravi na parametrima su trajne, to jest događaju se na originalnim promenljivama sa mesta poziva funkcije

//zamena mesta #include <iostream> using namespace std; void zamenamesta (int &a, int &b) int pomocna; pomocna = a; a = b; b = pomocna; int main() int broj1,broj2; cout<<"unesite dva broja"<<endl; cin>>broj1>>broj2; zamenamesta (broj1,broj2); cout<<"posle zamene: "<<broj1 << broj2<<endl; return 0;

//dupliranje unetih vrednosti void dupliranje(int& a, int& b, int& c) a*=2; b*=2; c*=2; int main () int x=1, y=3, z=7; dupliranje (x, y, z); cout << "x=" << x << ", y=" << y << ", z=" << z; //2,6,14 return 0;

1. funkcija koja n puta ispisuje neki tekst, broj n se unosi u glavnom programu 2. u glavnoj funkciji se unose tri broja, napisti funkciju koja ispisuje najveći od tri broja 3. u glavnoj funkciji učitati n brojeva, napisti funkciju koja računa aritmetičku sredinu unetih brojeva 4. napisti funkciju koja prihvata dva broja i vraća veći od ta dva broja 5. u glavnoj funkciji učitati dva broja, napisti funkciju koja računa zbir brojeva u intervalu od prvog do drugog broja 6. u glavnoj funkciji učitati broj n, napisati dve funkcije, prva treba da računa sumu parnih brojeva do n, a druga proizvod neparnih brojeva do n 7. napisati funkciju koja zamenjuje vrednosti dvema promenljivima 8. učitavati brojeve dok su pozitivni, za svaki od pozitivnih brojeva u funkciji izračunati i ispisati njegov koren

rekurzivne funkcije su funkcije koje pozivaju same sebe primer: računanje faktorijela unetog broja (npr. 3!=3*2*1) bez rekurzije int f1 (int n) //n je 3 if (n==0) else return 1; return (n*f2(n-1)); int f2 (int n) //n je 2 if (n==0) else return 1; return (n*f3(n-1)); int f3 (int n) if (n==0) return 1; else return (n*f4(n-1));// n je 1 int f4 (int n) //n je nula if (n==0) return 1; else return (n*f5(n-1));

1. int f1(int n) 2. 3. if (n==0) 4. return 1; 5. else 6. return (n*f1(n-1)); 7. 8. int main () 9. 10.int r: 11.r=f1(3); 12.cout<<"tri faktorijel je " <<r; 13.return 0; 14. dok main izvršava liniju 11 poziva f1(3) dok f1(3) izvršava liniju 6 poziva f1(2) dok f1(2) izvršava liniju 6 poziva f1(1) dok f1(1) izvršava liniju 6 poziva f1(0) dok f1(0) izvršava liniju 4 (n==0), vraća vrednost 1 funkciji f1(1) f1(1) vraća vrednost 1*1=1 funkciji f1(2) f1(2) vraća vrednost 2*1=2 funkciji f1(3) f1(3) vraća vrednost 3*2=6 funkciji main funkcija main u liniji 12 prikazuje broj 6

1. suma kvadrata od jedan do n 2. suma kvadrata od m do n uzlazna rekurzija silazna rekurzija 3. funkcija računa sumu neparnih brojeva od jedan do zadatog (u main funkciji) broja n; u main funkciji ispisati rezulatat funkcija main proverava da li je broj neparan rekurzivna funkcija proverava da li je broj neparan 4. suma brojeva deljivih sa tri od jedan do zadatog u (u main funkciji) broja n; u main funkciji ispisati rezulatat funkcija main proverava da li je broj deljiv sa tri rekurzivna funkcija proverava da li je broj deljiv sa tri 5. naći n ti Fibonačijev broj (Fibonačijev niz je niz brojeva u kome zbir prethodna dva broja daju vrednost narednog člana) 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144