Professional Documents
Culture Documents
Struktura:
◦ tipi_kthimit emri_funksionit (parametra)
{
Trupi i funksionit
}
Emri i funksionit Parametrat.
Tipi i kthimit void dmth nuk ka
void dmth nuk kthen vlere
3. float x = 5.2;
float y = 7.4;
float m = mesatarja (x, y); //variabla
x, y: argumentat e funksionit
Argumentat: i japin funksionit informacionin hyres
(Parametrat hyres ne percaktimin e funksionit quhen
argumenta ne thirrjen e tij, emrat e variablave mund te
jene te ndryshem, por tipi duhet i njejte)
Argumentat mund te jene variabla, konstante, shprehje;
mjafton qe tipi i tyre te perputhet me tipin e parametrave
qe jane percaktuar gjate deklarimit te funksionit.
printf (“Mesatarja: %f\n”, mesatarja (x, y));
Thirrja e një funksioni është instruksioni që ekzekuton
funksionin.
Mënyra si thirret funksioni: duke përdorur vetëm emrin
e funksionit ndjekur nga kllapat ( ).
Janë pikërisht kllapat që i tregojnë kompilatorit se po i
referoheni një funksioni dhe jo një variabli.
Thirrja e një funksioni është një instruksion si gjithë të
tjerët , kështu që duhet të mbarojë me pikëpresje: kontur();
Ekzekutimi i këtij funksioni bën që kontrolli të kalojë në
funksionin kontur () dhe ndodh ekzekutimi me radhë i
instruksioneve në trupin e tij.
Thirrja mund të ndodhë nga funksione të tjera si main() ose
edhe nga vetë funksioni.
Përpara se të përdoren , funksionet në gjuhën C duhen
deklaruar.
Prototipi i funksionit është deklarimi i tij.
Në programin mesazh.c , përpara funksionit main()
është bërë deklarimi i funksionit kontur() me ndihmën e
instruksionit
void kontur (void); /*prototipi i funksionit*/
Shihet që prototipi ka një formë të njëjtë me rreshtin e
parë të pjesës së përcaktimit të tij, me përjashtim të
faktit që ky instruksion përfundon me pikëpresje. Njihet
si varianti i shkurtuar i përcaktimit të funksionit (ka
vetëm rreshtin 1 të tij).
Cili është qëllimi i tij?
Dimë se të gjithë variablat para se të përdoren duhen
deklaruar duke përcaktuar emrin dhe tipin e tyre.
Njëlloj, duhet deklaruar edhe funksioni para se ai të
thirret. (Nuk nevojitet vetëm nqs përcaktimi ndodhet në
kod përpara thirrjes së funksionit.)
Deklarimi i funksionit, pra prototipi i tij i
tregon kompilatorit :
◦ emrin e funksionit
◦ tipin e të dhënës që ai kthen (nëse kthen
një vlerë)
◦ numrin dhe tipin e argumentave (nëse ka të
tillë)
Prototipet e funksioneve në përgjithësi
vendosen në krye të programit në mënyrë që
ata të njihen nga gjithë funksionet e tjerë në
kod.
Ndryshe nga funksionet e tjera funksioni
main() nuk ka nevojë që të deklarohet.
Një gjë e tillë është e lejueshme, por për hir
të specifikave që ai ka, nuk është e
domosdoshme.
Funksioni main ekzekutohet gjithmonë i pari
pavarësisht se në program mund të kemi dhe
funksione të tjera.
Cdo parameter pas
thirrjes se funksionit
mban nje kopje te
vleres se argumentit;
prandaj vlera e
argumentit nuk mund
te ndryshoje nga
thirrja e funksionit.
Variablat mund të jenë:
Drejtkëndëshi I
Drejtkëndëshi II
Drejtkëndëshi III
Drejtkëndëshi IV
Drejtkëndëshi V
Në një program mund të përdoren aq funksione sa janë të
nevojshme dhe secili nga funksionet mund të thërrasë cilindo
nga funksionet e tjerë
Në gjuhën C çdo funksioni mund t’i referohemi nga secili prej
funksioneve të tjerë
Në gjuhën C të gjitha funksionet , përfshirë dhe funksionin
main(), kanë të njëjtin status dhe janë të “kapshëm” nga të
gjithë funksionet e tjerë
Funksioni 1 Funksioni 2
Funksioni 3
Programin shumefunksione.c përbëhet nga
disa funksione.
Ky program llogarit shumën e katrorëve të dy
numrave të shtypur nga përdoruesi me
ndihmën e tre funksioneve shumakatroreve(),
katroret(), shuma()
#include <stdio.h>
#include <math.h> /*përfshin funksionin sqrt() */
int shuma (int, int); /* prototipet e funksioneve */
int katror (int);
int shumakatror (int, int);
void main (void)
{
int num1, num2;
printf(“\Shkruani dy numra: “);
scanf(“%d %d”, &num1, &num2);
printf(“Shuma e katrorëve është:%d”,
shumakatror(num1,num2));
}
/* Funksioni shumakatroreve() kthen shumën e katrorëve
të dy argumentëve */
int shumakatroreve (int j, int k)
{
return (shuma(katror(j), katror(k) ) );
}
/*Funksioni katroret () kthen katrorin e një numri */
int katror (int z)
{
return (z * z);
}
/* Funksioni shuma () kthen shumën e argumentëve
*/
int shuma(int x, int y)
{
return (x + y);
}
Në këtë program asnjeri nga funksionet nuk
ndodhet brenda një funksioni tjetër.
Rradha e vendosjes së funksioneve në
program është e parëndësishme, ato mund
të vendosen në çfarëdo rendi që parapëlqen
programuesi.
Eshtë një praktikë e mirë programimi që
funksionet të renditen në mënyrë të tillë që
të lehtësohet referimi ndaj tyre , sidomos kur
numri i tyre në program është i madh.
Të ndërtohet një program në gjuhën C i cili
gjen dhe printon vlerën më të vogël dhe
vlërën më të madhe. Për gjetjen e tyre të
ndertohen dy funksione një për gjetjen e
vlerës më të vogël një për gjetjen e vlerës më
të madhe.
#include<stdio.h>
int vleraMax(int a, int b, int c);
int vleraMin(int a, int b, int c);
int main()
{
int a,b, c;
int min;
printf("Jepni tre vlerat a, b, c: ");
scanf("%d %d %d", &a, &b, &c);
min=vleraMin(a,b,c);
printf("\nVlera Min = %d", min);
}
int vleraMax(int a, int b, int c)
{
int max=a;
if(max<b)
max=b;
if(max<c)
max=c;
return max;
}