You are on page 1of 8

Cfar� jan� Bllokskemat

Bllokskemat jan� mjeti fillestar i dizenjimit t� nj� algoritmi. �sht� n� form� t�


nj� diagrame me simbole q� p�rcaktojn� hapat q� ndodhin n� procesin q� po
pershkruajme, apo edhe pika vendimarrje dhe vija q� tregojne drejtimin e rrjedhjes
s� procesit. P�r ti vizatuar mund t� p�rdoret laps dhe let�r, ose software n�
kompiuter. Pasi arrihen t� lexohen me thj�sht�si, bllokskemat jan� nj� mjet shum� i
fuqish�m p�r t� treguar n� m�nyr� formale procesin apo algoritmin q� p�rmbajn�
Simbolet e p�rdorur n� Bllokskema
Simbolet baz� t� p�rdorur n� bllokskema jan� 6, dhe pershkruajne Piken e Fillimit,
t� Fundit, Hapin n� Proces brenda procesorit apo memories s� kompiuterit, Input- t�
te dh�nave n� komputer dhe Output apo rezultatin, Vendimmarrjen me Po/Jo, Shigjetat
e rrjedh�s s� procesit dhe Lidhesin q� sherben p�r t� ndare nj� algorit�m t�
nderlikuar n� disa pjes� me t� lexueshme. Pervec ketyre simboleve egzistojne dhe t�
tjera p�r ta detajuar bllokskemen, por jan� jashte qellimit t� k�tij mesimi.
Rregulla t� pergjithshme mbi Bllokskemat.
1. Te gjitha Simbolet n� Bllokskem� jan� t� lidhura me Shigjeta
2. Simboli i fillimit �sht� n� krye t� bllokskem�s, Simboli i mbarimit �sht� n�
fund t� bllokskeme. K�to jan� Simboli i par� dhe i fundit i p�rdorur.
3. Simboli i Vendimmarrjes ka nj� Hyrje dhe dy Dalje, nj�ra Po dhe tjetra Jo
4. N� p�rgjith�si Rrjedhja shkon nga Lart Posht�
5. Lidhjet p�rdoren kur do lidhim nj� skem� n� dy faqe, cdo pjes� ka me shum� s�
tre simbole
C�sht� Pseudokodi
Pseudokodi �sht� nj� gjuh� artificiale (dhe jo formale) q� ndihmon programuesit q�
t� zhvillojn� algoritma. �sht� nj� kombinim i gjuh�ve kompiuterike me gjuh�n e
folur. Cdo simbol n� nj� bllokskem� mund t� p�rkthehet n� nj� rrjesht n� pseudokod.
Me rritjen e eksperienc�s p�r t� dizenjuar nj� algorit�m programist�t p�rdorin me
shum� pseudokod sesa bllokskema q� kan� veshtiresi n� mir�mbajtje. Po k�shtu
pseudokodi mund t� p�rkthehet shum� thjesht n� nj� gjuh� programimi formale.
Pseudokodi i shkruar keq: zakonisht jep shum� detaje t� pa nevojshme, apo �sht� i
lidhur ngusht� me nj� gjuh� programimi specifike se sa me nj� gjuh� t� folur.
Pseudokodi i shkruar mir�: mban nj� ekuilib�r nd�rmjet t� q�nurit i qart� dhe
dh�nies s� detajeve. Ai �sht� nj� abstragim i algoritmit q� po p�rshkruan, p�rdor
formula matematike, �sht� i leht� n� lexim, dhe duke q�n� i organizuar leht�son
implementimin m� tej n� nj� gjuhe programimi.
Nj� pseudokod q� shpreh algoritmin e shfaqjes n� ekran t� numrit me t� madh
nd�rmjet dy numrave t� ndrysh�m do ishte:
[lexo numrin e par� Nr1]
[lexo numrin e dyt� Nr2]
[n�se Nr1 > Nr2]
[shfaq n� ekran Nr1],
[n� t� kund�rt] [shfaq n� Nr2].
N� vazhdim p�r t� ilustruar algoritmat do jepen paralel bllokskemat dhe pseudokod
p�rkat�s.

Tema 3 - Shprehja e algoritmeve nepermjet bllokskemave

Algoritmi, Bllokskema dhe Pseudokodi i nj� problemi t� thjesht�


Problem 1: Le t� kemi tre numra dhe duam t� dim� shum�n e tyre. t� nd�rtojm� nj�
algorit�m t� thjesht� q� na mund�son demostrimin e zgjidhjes s� k�tij problemi.
Bllokskema e k�tij algoritmi jepet n� figur�. Duke par� simbolet e p�rdorur vem� re
s� ka nj� Fillim sip�r dhe nj� Mbarim n� fund. Instruksionet e vler�dh�nies apo
hapat n� proces jan� shprehur me drejtk�nd�sha, leximi apo input nga p�rdoruesi me
rombe po k�shtu dhe output apo printimi i shum�s. Vem� re s� variabli shuma n�
fillim merr nj� vlere inicializuese 0, dhe m� von� n� cdo hap shtohet me vler�n e
numrit t� hapit. Shuma, Nr1, Nr2, Nr3 quhen variabla (ndryshore), vlerat e tyre
jan� t� panjohura. Ky algorit�m �sht� i pavarur nga vlerat e Nr1 Nr2 dhe Nr3, pra
punon p�r cdo tre vlera t� ndryshme, pra �sht� i pergjithshem.
N�se do shkruanim pseudokod t� nj�jtat hapa dhe veprime do i jepnim n� nj� gjuh� t�
nd�rjetme midis gjuh�s s� folur dhe gjuh�s s� programimit.
1. Fillim
2. Shuma = 0
3. Lexojm� Nr1
4. Shuma= Shuma+Nr1 (i shtojm� Shum�s Nr1 e lexuar)
5. Lexojm� Nr2
6. Shuma= Shuma+Nr2 (i shtojm� Shum�s Nr2 e lexuar)
7. Lexojm� Nr3
8. Shuma= Shuma+Nr3 (i shtojm� Shum�s Nr3 e lexuar)
9. Printo Shuma n� Ekran apo Printer
10. Mbarim

Vem� re s� ky algorit�m u konceptua n� nj� m�nyr� lineare, hapat vine nj�ri pas
tjetrit, por po ta shikojme n� nivel p�rshkallezimi, n�se do k�rkonim shum�n e 1000
numrave duhet t� shkruanim nj� program apo pseudokod me 2000 rreshta, nj� p�r lexim
dhe nj� p�r shtim t� Shuma p�r seicilin nga 1000 numrat. n� algorimin e shprehur me
pseudokod vem� re s� rreshta 3 & 4, 5 & 6, 7 & 8 jan� p�rs�ritje gati t� nj�llojta.
Sigurisht q� n� mund t� optimizojm� algoritmin duke gjeneralizuar problemin.
Problem 2: Le t� kemi N numra N>0 dhe duam t� dim� shum�n e tyre. t� nd�rtojm� nj�
algorit�m t� thjesht� q� na mund�son demostrimin e zgjidhjes s� k�tij problemi.
Zgjidhja e problemit 2 p�rfshin zgjidhjen e problemit1 p�r vler�n e N=3. Por menyra
e shtruar n�nkupton s� p�rdoruesi di sa eashte numri apo sasia e numrave q� do
mbledhi. Duke e konsideruar edhe k�t� si t� panjohur, mundet q� problemi t�
shtrohet me i gjeneralizuar si n� vazhdim:
Problem 3: Le t� kemi nj� sasi numrash t� nj�pasnj�shem dhe duam t� dim� shum�n e
tyre. t� nd�rtojm� nj� algorit�m t� thjesht� q� na mund�son demostrimin e zgjidhjes
s� k�tij problemi.
Le t� nd�rtojm� bllokskemat dhe pseudokodet e problemave dy dhe tre.

Tema 4 - Algoritme me t� avancuar me bllokskemat (ciklet)

Bllokskemat dhe Pseudokodi i problemeve t� gjeneralizuara mbi shum�n e numrave.


Me posht� po japim bllokskemat dhe pseudokodin e dy problemave t�
gjeneralizuara n� tem�n paraardh�se.

1. Fillim
2. Shuma = 0
3. Numuruesi =0
4. Lexojm� Sasia (Sasia e numrave N )
5. Lexojm� Nr (e rradh�s)
6. Shuma= Shuma+Nr (i shtojm� Shum�s Nr)
7. Numuruesi=Numuruesi+1
8. N�se Numuruesi < Sasia Shko te Rreshti 5. (GoTo)
9. N�se Numuruesi = Sasia Shko te Rreshti 9. (GoTo)
10. Printo Shuma n� Ekran apo Printer
11. Mbarim 1. Fillim
2. Shuma = 0
3. Lexojm� Nr (e rradh�s)
4. Shuma= Shuma+Nr (i shtojm� Shum�s Nr)
5. Lexojm� TJETER (ka vlera Po ose JO)
6. N�se TJETER = PO Shko te Rreshti 3 (GoTo)
7. N�se TJETR = JO Shko te Rreshti 8. (GoTo)
8. Printo Shuma n� Ekran apo Printer
9. Mbarim

Koment mbi Agoritmat dhe ciklet e p�rdorur n� Problemin 2 dhe 3


Le t� komentojme n� vazhdim bllokskemat dhe pseudokodet e m�sip�rme.
N� t� dy rastet kemi p�rdorur cikle t� rip�rs�ritshme. t� dyja bllokskemat mund t�
p�rdoren p�r t� gjetur shumat e dy, tre apo 1000 e me shum� numrave pa b�r� asnj�
ndryshim. Sa numra do t� mblidhen n� aq cikle t� p�rs�ritura futet algoritmi. Nj�
cik�l �sht� p�r t� shtuar te variabli Shuma nj�rin nga nunrat e rradh�s. Cikli
realizohet duke kryer rip�rs�ritur t� problemi 2 pikat 5, 6 dhe 7 nd�rsa t�
problemi 3 pikat 3, 4 dhe 5. P�r t� p�rfunduar ciklet b�het nj� pyetje duke
p�rdorur simbolin Vendimmarrje. N�se cikli duhet t� nd�rpritet shkojme t�
instruksioni Output i Printimit t� variablit Shuma dhe mbyllim algoritmin apo
programin.
N� versionin e problemit 2, mbahet nj� variab�l Numuruesi i cili inkrementohet n�
cdo cik�l me 1, dhe ky krahasohet me ndryshoren Sasia, apo N. Sasia e numrave p�r
tu mbledhur n�se u arrit apo jo. n� versionin e Problemit 3 pasi llogaritet shuma
meret brenda cdo cikli vlera e variablit Tjeter me vlera po/jo, me kuptimin q� do
k�t� apo jo nj� tjeter numur q� do i shtohet shum�s.
N� p�rgjith�si reziku n� p�rdorimin jo t� mir� t� cikleve �sht� q� programi apo
algoritmi t� mbetet brenda nj� cikli n� m�nyr� t� pafundme. Duhet pasur kujdes q�
gjithmone t� kemi nj� dalje nga ciklet. N�se n� Problemin 2 n� momentin kur
deklarojme t� pika 4 Leximi i Sasis�, duke gabuar n� vend t� numrit 10 shkruajme
100, programi do vazhdoje 100 cikle dhe n� nuk e ndalojme dot por duhet ta ushqejme
me 100 Numra, nga nj� brenda cdo cikli. Ky rrezik �sht� i eleminuar t� menyra e
zgjidhjes te problemi 3.
Nj� m�nyr� me e plot� e shkrimit t� pseudokodit �sht� duke p�rdorur fjal�t kyce,
(P�rs�rit ... Nderkohe-q�). Kjo �sht� menyra me e keshillueshme, e b�n programin
dhe algoritmin me elegant, dhe n� vetevete eleminon instruksionin [shko t� ...] apo
GoTo... i cili n� nj� program relativisht t� madh �sht� e pamundur t� mirembahet s�
lidhet me numrin e rreshtit [shko t� 5] apo GoTo 5. Vini re rreshtat e p�rs�ritur
jan� n� t� njejtin nivel s� bashku brenda ciklit (P�rs�rit .. Nderkohe-q�). n� k�t�
m�nyr� i jemi afruar me teper shprehjes formale me gjuh� programimi.
1. Fillim
2. Shuma = 0
3. Numuruesi =0
4. Lexojm� Sasia (Sasia e numrave N )
5. P�rs�rit:
6. Lexojm� Nr (e rradh�s)
7. Shuma= Shuma+Nr (i shtojm� Shum�s Nr)
8. Numuruesi=Numuruesi+1
9. Nderkoh�-q� Numuruesi < Sasia
10. Printo Shuma n� Ekran apo Printer
11. Mbarim 1. Fillim
2. Shuma = 0
3. P�rs�rit
4. Lexojm� Nr (e rradh�s)
5. Shuma= Shuma+Nr (i shtojm� Shum�s Nr)
6. Lexojm� TJETER (ka vlera Po ose JO)
7. Nderkoh�-q� TJETER = PO
8. Printo Shuma n� Ekran apo Printer
9. Mbarim
N� situata reale ka shum� r�nd�si t� punohet n� menyra t� gjeneralizuara me
p�rdorim ciklesh dhe fjal� kyce t� cikleve. Nj� programues i mir� kur i shtrohet
problemi p�r zgjidhje si te Problemi 1, pra t� gjehet shuma e tre numrave, vet�-
gjeneralizon dhe zgjidh algoritma si te rasti i Problemit 2 apo problemit 3. Duke
zgjidhur k�shtu algoritmat dhe kodet jan� t� ri-p�rdorshme n� situata t� ngjashme,
k�shtu puna e b�r� nj�her� ri-p�rdorohet.
Sh�nim: Kur shkruajm� pseudokod nuk duhet t� shohim t� jemi t� sakte 100% t�
p�rdorimi i fjal�ve cel�s, ashtu si n� t� kund�rt kur jemi duke shkruar kod n� nj�
gjuh� programimi duhet t� p�rcaktojm� mir� sintaks�n q� do p�rdorim. n� shembullin
n� t� majt� me sip�r �sht� nenkuptuar q� num�ruesi inkrementohet dmth shtohet me 1
nj� rresht para s� t� b�het kontrolli, nd�rsa n� nj� gjuh� programimni si C,
inkrementimi apo shtimi me 1 b�het n� fillim t� p�rs�ritjes s� ciklit. Jo n� t�
gjitha gjuh�t e programimit kjo ndodh nj�lloj. E r�nd�sishme �sht� q� pseudokodi t�
ndjek� thelbin e algoritmit.

Tema 5 - Paraqitja e algoritmeve mbi vargjet numerike me bllokskeme


Cfar� jan� Vargjet Numerike?
Vargjet numerike jan� nj� seri numrash t� nj�pasnj�shem, ku cdo kufiz� e vargut
�sht� e p�rftuar nga nj� formul� n� varesi t� indeksit apo kufizave t� m�parshme t�
vargut. Mund t� p�rmendim vargun e numrave natyror� 1, 2, 3, 4, 5, 6, 7... ku cdo
numur p�ftohet nga numri paraardhes plus 1 ose thjesht = indeksin e numrit. Apo
vargun e numrave Tek 1, 3, 5, 7, 9, 11... ku cdo numur p�ftohet si numuri
paraardhes + 2, apo si formul� 2*indeks -1, psh numri i 5 n� rradh� = 2*5-1=9.
Vargje me t� komplikuar si shembull mund t� japim vargun e numrave Fibonaci, 1, 1,
2, 3, 5, 8, 13, 21... ku cdo numur �sht� i barabart� me shum�n e dy numrave t� m�
parshem n� renditje kufiza e n-te = kufiza e n-1-te + kufiza e n-2-te. Ajo q� mund
t� themi �sht� q� n� algoritmat q� n� do nd�rtojm� mbi K�to vargje duke i ditur
K�to formula n� do i p�rdorim p�r t� arritur rezultatin e k�rkuar. Me posht� do
japim dy shembuj bllokskemash dhe pseudokodesh t� te dy algoritmeve mbi vargjet
numerike.
Problem 4. t� gjehet shuma e 100 kufizave t� para t� vargut t� numrave tek. t�
nd�rtojm� nj� algorit�m t� thjesht� q� na mund�son demostrimin e zgjidhjes s� k�tij
problemi.
Problem 5. t� Printohen 20 kufizat t� para t� vargut t� numrave Fibonaci. t�
nd�rtojm� nj� algorit�m t� thjesht� q� na mund�son demostrimin e zgjidhjes s� k�tij
probjlemi.
1. Fillim
2. Shuma = 0
3. NrIndex = 0
4. P�rs�rit:
5. NrIndex = NrIndex + 1
6. NrTek = NrIndex*2 - 1
7. Shuma = Shuma + NrTek
8. Nderkohe-q� NrIndex < 100
9. Printo Shuma n� Ekran apo Printer
10. Mbarim 1. Fillim
2. NrFib1 = 0
3. NrFib2 = 1
4. Printo NrFib2
5. NrIndex = 1
6. P�rs�rit
7. NrIndex = NrIndex + 1
8. NrFib = NrFib1 + NrFib2
9. Printo NrFib
10. NrFib1 = NrFib2
11. NrFib2=NrFib
12. Nderkohe-q� NrIndex<20
13. Printo Shuma n� Ekran apo Printer
14. Mbarim

Koment mbi Algoritmet mbi Vargjet Numerike.


N� t� dy algoritmet dhe pseudokodet e m�sip�rme meq�n�se kushtet i kemi v�n� mbi
numrin e kufizave kemi mbajtur nj� variab�l NrIndex i cili rritet me vler�n 1 n�
cdo cik�l, po k�shtu ky NrIndex p�rdoret p�r daljen nga cikli kur arrin vler�n
sipas kushtit. Nd�rsa me ciklet pra merret n� konsiderate vlera e variablit
NrIndex, n� rastin e Problemit 4, gjendet vlera e Numrit tek q� i perket NrIndex
dhe kjo vlere shtohet t� variabli Shuma. N� rastin e Problemit 5, na duhet t�
gjejme vler�n e Nr Fibonacit t� NrIndex t� ciklit dhe p�r k�t� mbajme dy variabla
NrFib1 dhe NrFib2 vlerat e m�parshme t� NrFib. Po k�shtu meq� Vler�n e par� e kemi
t� inicializuar n� NrFib2 at� e printojm� dhe si pasoj� e nisim vler�n e NrIndex
nga numri 1 dhe jo nga numri 0.

Tema 6 - Programet nga krijimi n� ekzekutim (roli i kompilatorit)

Programet n� gjuh� programimi dhe kodi i makin�s q� kupton Kompiuteri.


Pasi kemi dizenjuar Algoritmat n� bllokskema dhe n� pseudokod p�r t� implementuar
k�to n� kompiuter duhet t� shkruajme kod n� m�nyr� formale n� nj� gjuh� programimi.
Kodi i shkruar n� k�t� gjuh� programimi nuk �sht� akoma gati p�r t� punuar n�
kompiuter sepse kompiuteri kupton vet�m nj� kod i cili quhet kod makine, i p�rb�r�
nga 0 dhe 1 sha t� renditura me kuptim t� caktuar. Meq� �sht� e pamundur q� nj�
programues t� shkruaje direkt n� kod makine, at�her� cdo gjuh� programimi �sht� e
shoq�ruar me nj� kompiler q� �sht� nj� kontrollues i sintaks�a s� gjuh�s, dhe n�
momentin q� programi �sht� shkruar pa gabime sintaksore e p�rkthen at� program n�
kod makine duke e b�r� gati p�r tu egzekutuar n� kompiuter.
Gjuh�t e Programimit.
Nj� program �sht� nj� grup instruksionesh q� i tregojne kompiuterit s� si t�
egzekutoje taske t� ndryshme, n� k�t� nivel instruksionet jan� formale t�
p�rkthyeshme n� kodin e makin�s. Programi shkruhet pra n� nj� gjuh� programimi, dhe
programist�t p�rdorin nj� editor p�r t� shkruar kodin burim (source code) t�
programit.
Gjuh�t e programimit jan� gjuh� formale q� p�rmbajn� nj� fjalor t� vog�l, si dhe
nj� strukture sintaksore relativisht t� thjesht�. N�se n� nj� program do kemi nj�
gabim n� sintaks� at�her� ai nuk do t� egzekutohet fare. Disa nga gjuh�t e
programimit me t� p�rdorshme jan� BASIC, C, C++, C#, COBOL, FORTRAN, Ada, Pascal,
PHP, Java, Python, Ruby, Javascript etj. Ato p�rdoren n� ambiente t� ndryshme, n�
sisteme operative t� ndryshme, kan� dhe filozofi t� ndryshme n� nd�rtim. Po k�shtu
suportohen nga editor� q� b�jn� t� mundur shkrimin e programeve me leht�si dhe
shpejt�si.
Nj� ndarje �sht� midis gjuh�ve t� nivelit t� lart� dhe t� nivelit t� ul�t.
Nj� gjuh� e nivelit t� ul�t �sht� gjuh� binare me 0 dhe 1, njihet si kod makine,
egzekutohet shum� shpejt dhe harxhon shum� pak hapsir�. Po ka nj� pik� t� dob�t q�
nuk mund t� shkruhet n� t� direkt, k�shtu programist�t shkruajn� kodin n� nj� gjuh�
t� nivelit t� lart� ku shkrimi i ngjan m� shum� t� folurit t� p�rditshem.
Me koh� jan� krijuar gjenerata gjuh�sh, t� zhvilluara n� t� nj�jt�n koh� dhe me
q�llime t� ngjashme. Cdo gjenerate krijohet mbi nj� gjenerate tjeter para saj.
Gjenerata e par�: kod makine
Gjenerata e dyte: Gjuh� assembly mbi mikroprocessoret
Gjenerata e tret�: C++, Visual Basic etj
Gjenerata e kat�rt, relatuar me HTML
Gjenerata e pest�, GUI � nd�rfaqje grafike p�r p�rdoruesin
Po k�shtu dhe filozofia e t� programuarit ka sjell� zhvillim, nga programim i
strukturuar me rutina logjike, n� programimin modular, at� t� drejtuar nga eventet,
si dhe t� orientuar me objekte etj.
Kompilatori dhe Interpretuesi
Kompilatori dhe Interpretuesi jan� p�rkthyes t� kodit t� shkruar n� gjuh�
programimi t� ndryshme, n� gjuh� makine, t� kuptueshme nga Kompiuteri
Kompilator�t p�rkthejne komplet programin n� gjuh� makine. N�se gjejn� gabime e
nd�rpresin pun�n. n� fund prodhojne nj� skedar t� egzekutueshem n� sistemin
operativ p�rkat�s. Kompilator�t nuk lejojne nj� program t� egzekutohet n�se ka
gabime. Interpretuesit p�rkthejne nj� fjali e egzekutojne dhe pastaj nj� fjali
tjeter e me rradh�, dhe k�rkojn� m� shum� resource/burime nga kompiuteri.

Tema 7 - Prezantim me gjuh�n C

Gjuha e programimit C, historiku dhe p�rdorimi.


C �sht� nj� gjuh� e nivelit t� lart�, me p�rdorim t� pergjithshem, zhvilluar
Dennis M. Ritchie p�r t� nd�rtuar sistemin operativ UNIX n� kompanin� �Bell Labs�.
U implementua n� fillim n� kompiuterin DEC PDP-11, n� 1972. n� 1978, Brian
Kernighan and Dennis Ritchie prodhuan dhe botuan standartin e njohur si K&R. n�
1988 u formalizua si standart ANSI (American National Standard Institute). Sistemi
operativ UNIX u rishkrua komplet n� C q� nga 1973.
Tani �sht� shum� e p�rdorur p�r arsye si n� vazhdim. �sht� e leht� p�r tu m�suar,
�sht� gjuh� shum� e strukturuar, prodhon programe t� shpejta, manipulon t� gjitha
nivelet e kompiuterit dhe ato m� t� ultat dhe kompilohet n� platforma dhe sisteme
operative nga m� t� ndryshmet. Fakt �sht� q� kompiluesi i C, prodhon kod i cili
egzekutohet po aq shpejt sa kodi i shkruar n� gjuh�n assembler, q� �sht� nj� nivel
mbi kod makine.
Sot Sistemi operaliv LINUX dhe RBDMS MySQL, po k�shtu software t� nivelit me
cil�sor jan� shkruar n� C. Mund t� p�rmendim Sisteme Operative, Kompilues t�
gjuh�ve t� programimit, Assemblers, Editor� Teksti, Driver t� Network, Sisteme
manaxhimi baza t� dhenash (RDBMS), Interpretues gjuh�sh programimi etj.
Cfar� duhet p�r t� krijuar programe n� C?
Nj� program n� C shkruhet n� skedar� tekst me prapashtese �*.c�. P�r t� shkruar nj�
shkruar nj� file text, editoret mund t� jen� nga Windows Notepad, OS Edit command,
Textpad, Brief, Epsilon, EMACS, and vim or vi. Me t� te keshillueshem jan� ato
editor� q� t� ndihmojn� me kontrolle sintaksore gjat� shkrimit.
Cfar� duhet p�r t� kompiluar programe nga kodi burim n� C?
P�r t� krijuar programe nga kodi i shkruar n� C duhet nj� Kompilator p�r C. Kodi
burim �sht� gjuh� e kuptushme nga programuesi, duhet t� kompilohet t� kthehet n�
kod makine me 0 dhe 1, pra n� nj� file t� egzekutueshem. Nj� kompilator i njohur,
dhe pa kosto blerje �sht� kompiler GNU C/C++ ku C++ �sht� gjuh� e derivuar nga C.
N� sistemin operativ windows mund t� p�rdoret MinWG. Shiko www.mingw.org .
Struktura e Programit shkruar n� C.
Si n� cdo gjuh� shembulli i par� q� jepet �sht� programi, printimi n� ekran i
�P�rsh�ndetje Bot�!� apo �Hello, World!� n� anglisht. Me k�t� shembull do
demostrohet dhe struktura e pjes�ve t� programit.

#include <stdio.h>
int main()
{
/* programi im i par� n� C */
printf("P�rsh�ndetje, Bot�! \n");
return 0;
}

Nj� program n� C ka nj� strukture me K�to pjes�:


? Komandat e paraprocesimit
? Funksionet
? Variablat
? Shprehje
? Komentet
1. Rreshti i par� i programit #include <stdio.h> �sht� komand� paraprocesimi, q�
i thote kompilatorit t� inkludoje file apo skedarin stdio.h p�rpara s� t� kompiloj�
programin.
2. Rreshti i dyte int main()�sht� funksioni kryesor ku fillon egzekutimi i
programit..
3. Rreshti q� fillon dhe mbaron /*...*/ injorohet nga kompiluesi dhe sherben si
koment p�r at� q� lexon kodin e programit. Quhet thjesh koment.
4. Rreshti tjeter printf(...) eshe nj� funksion tjeter n� C, q� b�n q� mesazhi "
P�rsh�ndetje, Bot�!" t� shfaqet n� ekran.
Rreshti return 0; mbyll funksionin main() dhe kthen vler�n 0.
Vini re perdorimin e pikpresjes ; qe mbyll cdo �statement� apo pjese kodi pervec
komenteve. Po k�shtu duhet t� mos gabohet me p�rdorimin e kllapave gjarperushe q�
mbyllin nj� bllok kodi q� egzekutohet bashk�.
Kompilimi dhe egzekutimi i Programit
P�r t� kompiluar dhe egzekutuar programin, pasi q� sigurohemi q� pathi i
kompiluesit gcc njihet nga sistemi, ndiqen hapa m� posht�:
1. Shkruaj n� nj� editor teksti kodin e m�sip�rm.
2. Save skedarin si p�rsh�ndetje.c
3. Hap nj� ambjent dhenie komandash �command prompt� dhe shko t� direktoria ku
b�t� save skedarin.
4. shtyp gcc p�rsh�ndetje.c dhe tastin �Enter� n� tastiere..
5. N�se nuk ka gabime n� rreshtin pasues t� �command prompt� tregohet gjenerimi
i skedarit a.out.
6. Shtyp a.out p�r t� egzekutuar programin.
7. Ne ekran do dali " P�rsh�ndetje, Bot�!"

Grupi i karaktereve, fjal�t kyce dhe identifikuesit n� C


Grupi i karaktereve permban g�rmat e alfabetit dhe shenja speciale:
G�rma alfabeti t� medha: A B C................. X Y Z
G�rma alfabeti t� vogla: a b c.................... x y z
Shifra: 0 1 2 3 4 5 6 7 8 9
Karaktere speciale , < > . _ ( ) ; $ : % [ ] # ? ' & { } " ^ ! * / | - \ ~ +
Hapesire(White space): �hap�sire boshe�, �new line�, �horizontal tab�, �carriage
return� dhe �form feed�
Fjal� kyce jan� fjal� t� rezervuara nga C, me kuptim t� pararcaktuar dhe q� nuk
mund t� ndryshohet.
Auto, double, int, struct, break, else, long, switch, case, enum, register,
typedef, char, extern, return, union, continue, for, signed, void, do, if, static,
while, default, goto, sizeof, volatile, const, float, short, unsigned.
Identifikuuesit. Jan� em�rtime tona pra t� programuesit mbi variablat,
funksionet, strukturat. Mund ti vendosim emrat si t� duam, vet�m se duhet t�
fillojn� me g�rm� apo me _, duhet t� jen� unike n� program q� t� identifikihen nga
kompiluesi, mir� �sht� ti vendosim me kuptim q� t� kuptojme kodin q� po shkruajme.
P�r shembull: int fatura;

Tema 8 - Tipet e t� dh�nave n� C

Tipet e t� dh�nave dhe deklarimi


Ne C, ndryshoret duhet t� deklarohen para s� t� p�rdoren n� program. Tipet e t�
dh�nave jan� fjal� kyce q� p�rdoren p�r t� vendosur nj� tip p�r ndryshoren.
� Tipet e t� dh�nave themelore: Integer, Floating, Character
� Tipet e t� dh�nave t� Enumeruara
� Tipet e t� dh�nave Void
� Tipet e t� dh�nave t� derivuara: Array, Pointer, Structure, Function
Sintaksa e deklarimit t� tipit t� ndryshores: data_type variable_name;
Tipi Integer Int Var1;
Hapesira q� rezervohet p�r ndryshoren Var1 �sht� 4 byte = 32 bit, merr 232 gjendje
t� ndryshme kombinime 0 dhe 1, n� p�rdorim shenjen e par� 0 apo 1 p�r t� kuptuar a
�sht� numri pozitiv apo negativ, prandaj mund t� diferencojme numrat e plot� n�
hapesire nga: -231,-231+1, ...,-2, -1, 0, 1, 2, ..., 231-2, 231-1
Tipi Float dhe Double. Float Var2; Double Var3;
Hapesira q� rezervohet p�r ndryshoren Var2 apo Var3 �sht� 8 byte, mund t� vendosen
numra reale pra dhe me presje me nj� precizion prej 6 shifrash pas presjes p�r
float dhe 14 shifrash p�r double. Shembuj numrash 3.14, -9.234, apo 23.456e2
Tipi Character. Char Var4=�h�;
Hapesira q� rezervohet p�r ndryshoren Var4 t� tipit Char �sht� 1 byte. Me nj� byte
= 8bit mund t� kombinohen 28= 256 kombime pra numrat nga -128 n� 127 t� cilave u
asociohet nj� karakter 'a', vlera =97, 'b', vlera=98, '�' vlera=135, '�'
vlera=128, '�' vlera=137, 'A' vlera=65, ' &' vlera=33, ' 2' vlera=49 etj (k�rko n�
internet p�r listen e plot�).
Kualifikuesit apo �Qualifiers�.
Qualifiers ndryshojne kuptimin bazik t� data types n� madhesi dhe n� shenje, psh
�long� dhe �unsigned� Si shembull. Long Int i; mban dyfishin e size p�r integers,
Unsigned Char c; kalon range nga -128 deri 127 n� nj� tjeter range 0 deri 255.
Const int p=20; kalon p si konstante pergjate gjithe programit. Vlera e p nuk mund
t� ndryshohet.
Enumerimi enum type_name{ value1, value2,...,valueN };
Enumerimi �sht� nj� tip t� dhenash i percaktuar nga p�rdoruesi q� konsiston n� nj�
grup konstantesh secila prej tyre e shoq�ruar me nj� em�r. Nr jan� value1=0,
value2=1 etj po p�rdoruesi mund ti ndryshoje si me posht�. Dhe n� vazhdim deklarimi
i variablit p�rkat�s.
enum ngjyra{
kuqe=0;
jeshile=10;
blu=2;
};

You might also like