Presentation is loading. Please wait.

Presentation is loading. Please wait.

F U N K S I O N E T.

Similar presentations


Presentation on theme: "F U N K S I O N E T."— Presentation transcript:

1 F U N K S I O N E T

2 Funksion me rezultat dalës dhe me parametra formalë.
Funksion (nënprogram) – bashkësi e komandave të caktuara që mund të përsëritet më shumë herë brenda programit. Funksion me rezultat dalës dhe me parametra formalë. Funksion me rezultat dalës dhe pa parametra formalë. Funksion pa rezultat dalës dhe me parametra formalë. Funksion pa rezultat dalës dhe pa parametra formalë. 1. Funksion që ka rezultat dalës dhe ka parametra formalë tipi emri(t1 f1, t2 f2,...,tn fn){ x; return r; } tipi – tipi i rezultatit të funksionit. emri – emri i funksionit (identifikator). f1, f2, , fn – parametra formalë. t1, t2, , tn – tipet e parametrave formalë. x – komanda të ndryshme brenda funksionit. r – rezultati të cilin e jep funksioni.

3 Parametrat formalë dhe ato aktualë duhet të përputhen sipas:
Prototipi i funksionit – deklarohet në fillim të programit (përfundon me ;) tipi emri(t1 f1, t2 f2,...,tn fn); tipi emri(t1, t2,...,tn); Thirrja e funksionit emri(a1, a2,...,an); a1, a2, , an – parametra aktualë (argumente).Vlerat e tyre u jipen parametrave formalë: f1 = a1, f2 = a2, , fn = an Parametrat formalë dhe ato aktualë duhet të përputhen sipas: numrit – sa ka par. formalë aq duhet të ketë par. aktualë. tipit – par. formal dhe par.aktual duhet ta kenë tipin e njëjtë. radhës së shkruarjes – parametrit formal në pozitë të caktuar duhet t’i përgjigjet parametër aktual me pozitë të njëjtë.

4 Të llogaritet sipërfaqja e katërkëndëshit me brinjët a dhe b.
a) Pa funksion int main() { float a,b; double S; cout << "Brinjet a b: "; cin >> a >> b; S=a*b; cout<<"S=" << S << endl; return 0; } b) Me funksion #include <iostream> using namespace std; double siperfaqe(float x, float y); int main() { float a,b; double S; cout << "Brinjet a b: "; cin >> a >> b; S=siperfaqe(a,b); cout<<"S=" << S << endl; return 0; } double siperfaqe(float x, float y) { return x*y;

5 Funksioni siperfaqe mund të thirret edhe me:
Vlera numerike: s=Siperfaqe(4,3); Shprehje: s=Siperfaqe(a+1,b+2); Variabla ndihmëse (lokale) – në funksion mund të përdoren më shumë variabla ndihmëse që deklarohen dhe inicializohen (ose e marrin vlerën) brenda funksionit. double Siperfaqe(float x,float y){ double z; z=x*y; return z; } Parametrat formalë të funksionit mund të emërtohen me emrat e parametrave aktualë (nuk preferohet!) double Siperfaqe(float a,float b){ double z; z=a*b; return z; }

6 Funksion me më shumë komanda return
Të llogaritet funksioni y. Vlera a është konstantë, ndërsa x lexohet nga tastiera a) Me një komandë return double vleraY(float x,float a){ float y; if(x<=a) y=2*x+1; else y=3*x-4; return y; } #include <iostream> using namespace std; double vleraY(float x,float a); int main( ) { const float a=4.5; float x,y; cout<<"\nBrinja x:"; cin>>x; y = vleraY(x,a); cout<<"\nvlera y=“<<y<<endl; return 0; } b) Me dy komanda return double vleraY(float x,float a){ if(x<=a) return 2*x+1; else return 3*x-4; }

7 Funksion me llogaritje komplekse
Të llogaritet prodhimi i numrave mes m dhe n me përdorim të funksionit. b) Me funksion #include <iostream> using namespace std; double prodhimi(int m,int n); int main( ) { double p; int m,n; cout<<"\n m:"; cin>>m; cout<<"\n n:"; cin>>n; p=prodhimi(m,n); cout <<"\n p= “<<p<<endl; return 0; } double prodhimi(int m,int n){ double p; int i; p=1; for(i=m; i<=n; i++) p=p*i; return p; } a) Pa funksion #include <iostream> using namespace std; int main( ) { double p; int i,m,n; cout<<"\n m:"; cin>>m; cout<<"\n n:"; cin>>n; p=1; for(i=m; i<=n; i++) p=p*i; cout <<"\n p= “<<p<<endl; return 0; }

8 Funksioni mund të thirret direkt në komandën për shtypje
#include <iostream> using namespace std; double prodhimi(int m,int n); int main( ) { int m,n; cout<<"\n m:"; cin>>m; cout<<"\n n:"; cin>>n; cout <<"\n p= “<< prodhimi(m,n)<<endl; return 0; } double prodhimi(int m,int n){ double p; int i; p=1; for(i=m; i<=n; i++) p=p*i; return p; }

9 Funksioni mund të thirret në unazë
Të përpilohet tabela e faktorielëve të numrave natyrorë mes 1 dhe k (lexohet nga tastiera). Faktorieli i numrit n: Për shembull: k=8 Dalje: k: x F ...

10 a)Zgjidhje me përdorim të funksionit prodhimi.
#include <iostream> using namespace std; double prodhimi(int m,int n); int main( ) { double F; int k,x; char h[]=“ ” cout<<"\n k:"; cin>>k; cout<<"\n x F\n”<<h<<endl; for(x=1; x<=k; x++){ F=prodhimi(1,x); cout<<setw(5)<<x<<setw(10)<<F<<endl; } cout<<h<<endl; return 0; } double prodhimi(int m,int n){ double p; int i; p=1; for(i=m; i<=n; i++) p=p*i; return p; }

11 a)Zgjidhje me përdorim të funksionit fakt.
#include <iostream> using namespace std; double fakt(int m); int main( ){ double F; int k,x; char h[]=“ ” cout<<"\n k:"; cin>>k; cout<<"\n x F\n”<<h<<endl; for(x=1; x<=k; x++){ F=fakt(x); cout<<setw(5)<<x<<setw(10)<<F<<endl; } cout<<h<<endl; return 0; } double fakt(int m){ double F; int i; for(i=1; i<=m; i++) F=F*i; return F; }

12 2. Funksion me rezultat dalës dhe pa parametra formal
tipi emri(){ x; return r; } Dalje: 13 14 15 16 17 18 19 20 21 22 #include <iostream> using namespace std; int ora(); int main( ){ int i; for(i=1; i<=10; i++){ cout << i+ora()<< endl; } return 0; } int ora(){ return 12; }

13 3. Funksion pa rezultat dalës dhe me parametra formal
void emri(t1 f1, t2 f2,...,tn fn){ x; return; } Dalje: Koha e bukur Koha e bukur Koha e bukur Koha e bukur Koha e bukur Koha e bukur Koha e bukur Koha e bukur Koha e bukur Koha e bukur #include <iostream> using namespace std; void koha(int m,int n); int main( ){ koha(1,10); return 0; } void koha(int m,int n){ int i; for(i=m; i<=n; i++) cout<<”Koha e bukur\n”; return; }

14 4. Funksion pa rezultat dalës dhe pa parametra formal
void emri(){ x; return; } Dalje: Libri dhe lapsi Libri dhe lapsi Libri dhe lapsi Libri dhe lapsi Libri dhe lapsi Libri dhe lapsi Libri dhe lapsi Libri dhe lapsi Libri dhe lapsi Libri dhe lapsi #include <iostream> using namespace std; void libri(); int main( ){ libri(); return 0; } void libri(){ int i; for(i=1; i<=10; i++) cout<<setw(40-2*i)<<”Libri dhe lapsi\n”; return; }

15 Më shumë thirrje të një funksioni
Të llogaritet vlera e funksionit (x dhe n lexohen nga tastiera) b)Me funksion #include <iostream> using namespace std; double fakt(int m); int main(){ double a,b,c,x,y; int n; cout<<"\n x:"; cin>>x; cout<<"\n n:"; cin>>n; a=fakt(n+1); b=fakt(2*n); c=fakt(n); y=3*x+a+b+c/x; cout<<"\n y=“<<y<<endl; return 0; } a)Pa funksion #include <iostream> using namespace std; int main( ) { double a,b,c,x,y; int i,n; cout<<"\n x:"; cin>>x; cout<<"\n n:"; cin>>n; a=1; for(i=1; i<=(n+1); i++) a=a*i; b=1; for(i=1; i<=(2*n); i++) b=b*i; c=1; for(i=1; i<=n); i++) c=c*i; y=3x+a+b+c/x; cout<<"\n y=“<<y<<endl; return 0; } double fakt(int m){ double F=1; int i; for(i=1; i<=m; i++) F=F*i; return F; }

16 b)Me funksion pa përdorim të variablave ndihmëse
#include <iostream> using namespace std; double fakt(int m); int main(){ double x,y; cout<<"\n x:"; cin>>x; cout<<"\n n:"; cin>>n; y=3x+fakt(n+1)+fakt(2*n)+fakt(n)/x; cout<<"\n y=“<<y<<endl; return 0; } double fakt(int m){ double F; int i; for(i=1; i<=m; i++) F=F*i; return F; }

17 Të llogaritet vlera e funksionit h duke shfrytëzuar funksion për llogaritje të shumës
a)Pa funksion #include <iostream> using namespace std; int main(){ float x; double s1,s2,h; cout<<"\n x:"; cin>>x; cout<<"\n n:"; cin>>n; s1=0; for(i=2; i<=(n+1); i++) s1=s1+(2i+3); s2=0; for(i=1; i<=n; i++) s2=s2+(i-5); h=x-2*s1+4*s2; cout<<"\n h=“<<h<<endl; return 0; }

18 m n a b m=2 n=n a=2 b=3 m=1 n=n a=1 b=-5 a)Me funksion #include <iostream> double shuma(int m,int n,float a,float b); using namespace std; int main(){ float x; double s1,s2,h; cout<<"\n x:"; cin>>x; cout<<"\n n:"; cin>>n; h=x-2*shuma(2,n+1,2,3)+4*shuma(1,n,1,-5); cout<<"\n h=“<<h<<endl; return 0; }

19 double shuma(int m,int n,float a,float b){ float s; int i;
s=0; for(i=m; i<=n; i++) s=s+(a*i+b); return s; }

20 Thirrje të më shumë funksioneve në program
Të llogariten vlerat e shprehjeve (x dhe n lexohen nga tastiera): a)Me funksion #include <iostream> using namespace std; double fakt(int m); double shuma(int m,float x); int main(){ double x,g,h; int n; cout<<"\n x:"; cin>>x; cout<<"\n n:"; cin>>n; g=x/3+fakt(2*n+1); h=x+fakt(n)/2-3*shuma(n+1,4); cout<<"\n g=“<<g<<endl; cout<<"\n h=“<<h<<endl; return 0; }

21 double fakt(int m){ double F; int i; for(i=1; i<=m; i++) F=F
double fakt(int m){ double F; int i; for(i=1; i<=m; i++) F=F*i; return F; } double shuma(int m,float k){ double s; int i; s=0; for(i=1; i<=m; i++) s=s+(k*i); return s; }


Download ppt "F U N K S I O N E T."

Similar presentations


Ads by Google