Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne...

111
Gjuhë Programuese Semestri I Kadri Sylejmani, Dipl. Ing. Prishtinë 2009, FIEK FIEK, Prishtinë 2009

Transcript of Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne...

Page 1: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Gjuhë Programuese

Semestri IKadri Sylejmani, Dipl. Ing.

Prishtinë 2009, FIEK

FIEK, Prishtinë 2009

Page 2: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Ligjeratat dhe ushtrimet janë obligative

Disiplina në klasë

2 orë ligjerata dhe dy ore ushtrime në javë

Gjuhë Programuese

Disiplina në klasë

Telefonat mobil të jenë të fikur ose pa zë

Ju lutem mos më thirrni në telefon !

Më shkruani në [email protected]

Materiali në ueb faqen:http://gjuheprogramuese.googlepages.com

FIEK, Prishtinë 2009

Page 3: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

•Gjatë rrjedhës se semestrit do te organizohen tri kollokviume

•Secili kollokviume është eliminues

Orari i mbajtjes se kollokviumeve:

Gjuhë Programuese

Orari i mbajtjes se kollokviumeve:

•Kolokviumi I kah mesi i muajit Nentor

•Kollokviumi II para vitit të ri

•Kollokviumi III rreth dates 15 Janar 2009

FIEK, Prishtinë 2009

Page 4: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Librat :

1. Bazat e programimit ne C++, Agni Dika

www.agnidika.net/programimiCpp

Algoritmet, Agni Dika

Gjuhë Programuese

2. Algoritmet, Agni Dika

3. Literature ne C++

FIEK, Prishtinë 2009

Page 5: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Gjuhë Programuese

� Në kompjuter, të dhënat ruhen dhe përpunohen si vargje të shifrave binare 1 e 0, të koduara në një kod binar (ang. binary code).

� Harduri dhe softueri

Programet dhe Programimi� Programet dhe Programimi

� Programi paraqet një listë të urdhërave (instruksioneve, komandave) të cilat i tregojnë kompjuterit që të kryejë veprime të ndryshme.

FIEK, Prishtinë 2009

Page 6: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Zhvillimi i sistemeve

1. Hulumtimi

preliminar

2. Analiza

e sistemit

6. Mirëmbajtja e

sistemit

FIEK, Prishtinë 2009 6

3. Dizajnimi

i sistemit

4. Zhvillimi

i sistemit

5. Implementimi i

sistemit

� Cikli jetësor i zhvillimit të sistemeve

Page 7: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Programimi

� Pesë hapat e programimit:

Definimi i problemit

FIEK, Prishtinë 2009 7

� Definimi i problemit

� Dizajnimi i programit (përshkrimi, bllok-skema, pseudokodi)

� Kodimi i programit

� Testimi i programit

� Dokumentimi dhe mirëmbajtja

Page 8: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Definimi i problemit

� Specifikimi i qëllimeve dhe shfrtyëzuesve

� Kërkesat për daljen

� Kërkesat për hyrjen

FIEK, Prishtinë 2009 8

� Kërkesat për hyrjen

� Kërkesat për procesim

� Studimi i fizibilitetit të implementimit të programit

� Dokumentimi dhe analiza

Page 9: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Dizajnimi i programit

� Përcaktimi i logjikës së programit përmes qasjes top-down (nga lartë-poshtë) dhe modularitetit, duke përdorur grafin hierarkik

FIEK, Prishtinë 2009 9

përdorur grafin hierarkik

� Dizajnimi i detajeve duke përdorur pseudokodin, grafet e rrjedhës (bllok diagramet) me preferencë në bazë të strukturave kontrolluese

� Dizajnimi i testimit me përshkrim të strukturuar

Page 10: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Kodimi i programit

� Zgjedhja e gjuhës së lartë programuese të përshtatshme

Kodimi i programit në atë gjuhë, duke respektuar

FIEK, Prishtinë 2009 10

� Kodimi i programit në atë gjuhë, duke respektuar sintaksën me kujdes

Page 11: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Testimi i programit

� Testimi në tavolinë dhe zbulimi i gabimeve

� Ekzekutimi i programit dhe debugimi i tij (alfa testimi)

FIEK, Prishtinë 2009 11

testimi)

� Ekzekutimi me të dhëna reale (beta testimi)

Page 12: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Dokumentimi dhe mirëmbajtja

� Përgatitja e dokumentacionit për shfrytëzuesit

� Shkruarja e dokumentacionit për operatorët

Shkruarja e dokumentacionit për programerë

FIEK, Prishtinë 2009 12

� Shkruarja e dokumentacionit për programerë

� Mirëmbajtja e programit

Page 13: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Pesë gjeneratat e gjuhëve programuese

� Gjuhët Programuese:

� Gjenerata e parë, 1945 - Gjuhët e ulëta programuese – Gjuha e makinës – 0, 1

FIEK, Prishtinë 2009 13

makinës – 0, 1

� Gjenerata e dytë, mesi i viteve 1950 - Asembleri – mnemonic (ADD, SUB, MOV...)

� Gjenerata e tretë, fillimi i viteve 1960 – Gjuhët e larta programuese (gjuhët procedurale: Cobol, Basic, C…)

� Gjenerata e katërt, fillimi i viteve 1970 – Gjuhët shumë të larta programuese (Të orientuara nga problemet) – Sql, Intellect, Nomad, Focus

� Gjenerata e pestë, fillimi i viteve 1980 – Gjuhët natyrale

Page 14: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Programimi – zhvillimet e reja

� Programimi i orientuar në objekte

� C++/#, Java…

Programimi vizual

FIEK, Prishtinë 2009 14

� Programimi vizual

� Visual Studio - Visual Basic, Visual C++/#…

� Internet programimi

� HTML, XML, VRML, Java, ActiveX, Scripting Languages (VBScript, JavaScript, Perl…)

Page 15: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Përkthyesit

� Program burimor (ang. source program, source code) –fajll burimor (ang. source file)

Program objektiv (ang. object program,

Kodi burimor

Kompajleri

FIEK, Prishtinë 2009 15

� Program objektiv (ang. object program, object code) -fajll objektiv (ang. objekt file)

� Assemblers, Intepreters, Compilers

� Linker --> program ekzekutiv (ang. executable program, exe file) - fajll ekzekutiv (ang. exe file)

Kodi i objktit

Kodi i makinës

Asembleri

Page 16: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Termat

� Identifikatorët

� Variablat

� Deklarimi

Inicializimi

FIEK, Prishtinë 2009 16

� Inicializimi

� Konstantet

� Literalet

� Operatorët

� Komentet

� Urdhërat

Page 17: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Programi i parë në C++

#include <iostream>

using namespace std;

int main()

{{

cout << "Programimi ne C++ " ;

return 0;

}

FIEK, Prishtinë 2009

Page 18: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Programimi në C++

#include <iostream>

using namespace std;

int main()

{{

cout << "Programimi ne C++ " ;

return 0;

}

# - simboli për direktivat preprocesorike - include (përfshijë, përmbajë)using namespace std – përdorë hapësirën/zonën emërtuese standardeiostream – Input Output Stream (Rrjedha hyrëse, dalëse)main ( ) – funksioni themelor, kryesorcin – operatori për leximcout – operatori për shtypjereturn (kthe) – kthimi i rezultatit të funksionit

FIEK, Prishtinë 2009

Page 19: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Komentet:

// Komenti në një rresht

/*Komenti në disa rreshta, apo /*Komenti në disa rreshta, apo

komenti në bllok */

FIEK, Prishtinë 2009

Page 20: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Komentet

//Programi i parë

#include <iostream>

using namespace std;

int main()

{

/* Përmes operatorit për shtypje, cout,

shtypet në ekran */

cout << "Programimi ne C++ " ;

return 0;

}

FIEK, Prishtinë 2009

Page 21: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Programi:

Kreu i programit

Direktivat preprocesorike

FunksionetFunksionet

Funksioni main()

Deklarimi i variablave

Urdhërat e programit

Mbyllja e programit

FIEK, Prishtinë 2009

Page 22: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Programi

FIEK, Prishtinë 2009

Page 23: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Programimi C++

//Programi i tretë

#include <iostream>

using namespace std;int main()

FIEK, Prishtinë 2009 23

int main(){

int a;cin >> a; // leximi prej tastierecout << a; // shtypja në ekranreturn 0;

}

Page 24: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Përmbajtja

� Çka mësuam javën e kaluar ?

� Blloqet elementare të algoritmeve

� Algoritmet për llogaritjen e shumës

� Algoritmet për llogaritjen e prodhimit

� Algoritmet për llogaritjen e faktorielit� Algoritmet për llogaritjen e faktorielit

� Algoritmet për llogaritjen e vlerës së

funksioneve të ndryshme

� Algoritmet për operim me vargje numerike

Page 25: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Programimi në C++

#include <iostream>

using namespace std;

int main()

{

cout << "Programimi ne C++ " ;

return 0;

}

# - simboli për direktivat preprocesorike - include (përfshijë, përmbajë)using namespace std – përdorë hapësirën/zonën emërtuese standardeiostream – Input Output Stream (Rrjedha hyrëse, dalëse)main ( ) – funksioni themelor, kryesorcin – operatori për leximcout – operatori për shtypjereturn (kthe) – kthimi i rezultatit të funksionit

FIEK, Prishtinë 2009

Page 26: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Algoritmet themelore

Page 27: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

∑=

++++==n

i

niS3

...543

Llogaritja e shumës së numrave të plotë

Page 28: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Llogaritja e shumës së

numrave të kombinuar

2

3

x2iss

++=

Page 29: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

( )

>−+

≤++= ∑

+

=

4.55 për x 123

4.55për x 232

2

1

1

2

xx

xjxy

n

jPo

Fillimi

n,x

s=0

Jox 4.55

Llogaritja e vlerës së

funksionit

Po

Jo

j=1

s=s+{j+2x}2

j=j+1

j n+1)

y

Fundi

y=2x+3 s y=3x2+2x-1

{ }∑ +=+

=

1n

1j

22xjs

Page 30: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Llogaritja e prodhimit të numrave të plotë

niPn

i

*...*3*2*11

==∏=

Page 31: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Llogaritja e shumës dhe prodhimit

njëkohësisht

1. Të gjendet shprehja e

funksionit.

2. Sa është vlera e m-it

dhe n-it?

2p3s2

xy −+=

Page 32: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Të gjendet shprehja e funksionit që llogaritet

me këtë algoritëm

+⋅=3

xkpp

4p2

xg −=

Page 33: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Llogaritja e vlerës së faktorielit

1

2

3

4

5

Fillimi

n

F=1

i=1

F=F i

1

2

3

4

5

6

7

8

9

Po

Jo

i=i+1

i n

F

Fundi

6

7

8

9

F = 1 1 2 3

11

8

5

Vlera fillestare(3)

Page 34: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Shembull: Të llogaritet vlera e faktorielit

F=(2m+n)!

Page 35: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Llogaritja e vlerës së funksioneve që

përmbajnë shumë dhe faktoriel

++−=

n i)!2n(*2x*3y Po

Fillimi

x,n

F=1

i=1

i=i+1

F=F i

F=(n+2)!Rasti kur faktorieli nuk varet nga vlera e anëtarëve të veçantë të shumës

∑=

++−=1i 3

)!2n(*2x*3yJo

i (n+2)

y

Fundi

y=3x-2s

Jo

Po

s=0

i=1

i=i+1

i n

++=3

iFss

∑=

+=

n

1i3

iFs

Page 36: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Llogaritja e vlerës së funksioneve që

përmbajnë shumë dhe faktoriel

( )∑=

−+−=n

1i

x)!1i2(*32

xy

Fillimi

x,n

F=1

j=1

F F j

i=1

s=0

F=(2i+1)!

Rasti kur faktorieli llogaritet për çdo anëtar të shumës

=1i2

Jo

Po

Jo

F=F j

j=j+1

j (2i+1)

Po

s=s+[F-x]

i=i+1

i n

y

Fundi

3s2

xy −=

Page 37: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Llogaritja e vlerës së funksoneve në rastet

kur anëtarët e caktuar të shumës apo

prodhimit nuk merren në konsideratë

∏≠=

+++=n

3,2i1i 3

i)!1i(2x3y

+⋅=3

iFpp

Page 38: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Krijimi i algoritmeve për operim me vargje

Shembull: Te gjendet sa anëtarë ka vektori Temperaturat[10, 7, 9, 3, 5, 11,-2].

Page 39: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Krijimi i algoritmeve për operim me vargje

Shembull: Te gjendet prodhimi i anëtarëve të vektorit me vlerë mes 5 dhe 8, si dhe të shtypen anëtarët tjerë.

Page 40: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

A keni ndonjë pyetje ?

Page 41: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Përmbajtja

� Çka mësuam javën e kaluar ?� Algoritmet me të ndërlikuara me shumë, prodhim dhe faktoriel� Tipet/Llojet e të dhënave në C++� Identifikatorët

Tipet/Llojet e të dhënave në C++� Identifikatorët� Deklarimi i variablave� Shtypja e vlerave ne ekran� Leximi i vlerave nga tastiera� Karakteret për braktisje të sekuencës� Libraria/Klasa iomanip.h

Page 42: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Llogaritja e vlerës së funksioneve që

përmbajnë shumë dhe faktoriel

( )∑=

−+−=n

1i

x)!1i2(*32

xy

Fillimi

x,n

F=1

j=1

F F j

i=1

s=0

F=(2i+1)!

Rasti kur faktorieli llogaritet për çdo anëtar të shumës

=1i2

Jo

Po

Jo

F=F j

j=j+1

j (2i+1)

Po

s=s+[F-x]

i=i+1

i n

y

Fundi

3s2

xy −=

Page 43: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Tipet/Llojet e të dhënave në C++

Tipi Rangu i vleravemadhësia

në bajta

unsigned short int

16 bit

0..65535 2

short int- 16 bit -32768..32767 2

unsigned long int 0..4294967295 4

long int -2147483648..2147483647 4

int - 32 bit -2147483648..2147483647 4int - 32 bit -2147483648..2147483647 4

unsigned int –

32 bit

0..4294967295 4

float 1.2E-38..3.4E38 4

double 2.2E-308..1.8E308 8

char 256 simbole 1

Bool True, False 1

String 256 simbole/karaktere 1 bajt per

secilin

karaketer

Page 44: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Identifikatorët� Njësit elementare memoruese në të cilat vendosen të dhënat dherezultatet e programeve emrohen duke përdorur identifikator (ang. Identifier)

� Si identifikator formohen emrat e konstanteve, variablave, nënprogrameve dhe strukturave tjera të krijuara gjatë programimit.

� Identifikatorët formohen si kombinim i shkronjave (a, b, ..., z, A, B, ..., Z), numrave (0, 1, 2, ..., 9) dhe simbolit për nënvizim (_). Simboli i parënë identifikator mund të jet shkronjë ose simboli për nënvizim. në identifikator mund të jet shkronjë ose simboli për nënvizim.

� P.sh., si identifikator mund të merren:� dita� Koha5� distanca_mes_rreshtave� TemperaturaDitore� _Fillimi� a234b35� P8

Page 45: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Identifikatorët – vazhdim

� Gjatësia e identifikatorëve nuk është e kufizuar. Por, përdorimi i identifikatorëve shum të gjatë është jopraktike ngadonjëherë edhe me probleme gjatë kompajlimit

� Fjalët kyçe të cilat përdoren në gjuhën C++ nuk lejohettë përdoren si identifikator

P.sh., si identifikator nuk mund të përdoren fjalët:� P.sh., si identifikator nuk mund të përdoren fjalët:

� else

� cout

� if

� while

Page 46: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Deklarimi i variablaveVariabla deklarohet, duke deklaruar tipin dhe emrin:

tipiVariablës emriVariablës,

P.sh. :

int a;

double x;

float z;

short int koha;short int koha;

char g;

char Emri[20];

int x,y;

//Deklarimi i perbashket

long int dita,e,f3;

//Deklarimet ne nje rresht

double x,h; int g; float a,p;

Page 47: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Deklarimi i variablave – vazhdim

Variabla deklarohet, duke deklaruar tipin dhe emrin:

tipiVariablës emriVariablës;

P.sh. :

int A[8]; //Vektoriint A[8]; //Vektori

double Z[3][5]; //Matrica

Indekset fillojnë me vlerën zero

int A[6];//6 anëtar - A[0],D[1],...,D[5].

Page 48: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Deklarimi dhe inicializimi

int i=5;

double a=5.3;

int A[5]={7,2,4,1,3};

char Z[7]={'d','4','*','a','G','$'};

//Vektori me karaktere

const double PI=3.1415926;

Page 49: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Deklarimi dhe inicializimi – vazhdim

const int m=5;

int A[m]={7,2,4,1,3};

const int m=4,n=3;

int K[m][n]={{7,4,1},int K[m][n]={{7,4,1},

{2,5,8},

{3,6,2},

{8,1,3}};

Page 50: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Shtypja e vlerave ne ekran

#include

<iostream.h>

int main()

Kreu i programit – Koment

Direktivat preprocesorike

cout <<a1 <<a2 … <<an;

int main()

{

int a;

a=5;

cout << a;

return 0;

}

Funksioni main()

Deklarimi i variablave

Urdhërat e programit

Mbyllja e programit

Page 51: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Leximi i vlerave nga tastiera

#include <iostream.h>

int main()

{

cin >>a1 >>a2 … >>an;

{

int a;

cin >> a; /leximi prej tastiere

cout << a;

return 0;

}

Page 52: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Shembull - Llogaritja e vleres mesatare// Programi cin-cout – Llogaritja e vleres mesatare

#include <iostream.h>

int main()

{

int n1, n2, n3;

float nm;

cout<<"Jepni tri notat: " ;cout<<"Jepni tri notat: " ;

cin >> n1 >> n2 >> n3;

nm=(n1+n2+n3)/3;

cout <<"Nota mesatare="

<< nm

<< endl;

return 0;

}

Page 53: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Shtypja e vlerave ne ekran në formë të

formatizuar

Cout.width(k); // rezervon shtypjen në k-kolona

cout.width(8); // shtypja e rezultatit ne 8 kolona

cout << a; // p.sh., nese shtypet variabla a, qe

// ka vleren 15

// rezultati do te duket si ne vijim

LLLLLL15 // ku L paraqet zbrazetiren, rreshtimi

// plotesimi i vendeve te rezervuara

// behet nga skaji i djathte

cout.precision(k); // shtypja me precizitet te caktuar ne k-kolona

cout.fill('f'); // mbushja me simbolin ‘f ’

Page 54: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Shtypja e formatizuar – shembull

#include <iostream.h>

int main()

{

int x=52;

cout.width(10);

cout.fill('*');cout.fill('*');

cout << x

<< endl;

return 0;

}

Page 55: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Karakteret për braktisje të sekuencës

Escape-sequence characters

\a Alarm

\b Backspace

\f Form Feed (për printer)

\n New line (CR+LF) (rreshti i ri)

\r CR (clear)

\t Tab\t Tab

\v Vertical Tab

\\ \

\? ?

\’ ‘

\” “

\000 Numër oktal

\xhh Numër heksadecimal

\0 Null zero (zero binare)

Page 56: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Karakteret për braktisje të sekuencës

Escape-sequence characters

\xhh, mund të përdoret për të shtypur në ekran karakteret të cilat nuk i kemi në tastierë,

p.sh. shkronja “ë” dhe “ç”, nga gjuhës shqipe. ASCII kodi përkatës i karakterit, duhet të shkruhet në formën heksadecimale. P.sh. për “ë”, kodi është: “137” (Si e formën heksadecimale. P.sh. për “ë”, kodi është: “137” (Si e shtypim zakonisht në tastierë, ALT+137). Atëherë, 137 në bazën 16 (numër heksadecimal), është: 89. Prandaj, për ta shtypur në dalje shkronjën “ë”, duhet të shkruhet: “\x89”

“Sot është ditë e mirë” – në C++ duhet të shkruhet :

cout << “Sot \x89sht\x89 dit\x89 e mir\x89” ;

Page 57: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Shikoni shembullin në vijim dhe provoni të

gjeni çka do të shtypet si rezultat i

ekzekutimit të programit.

#include <iostream.h>

int main()

{

int x = 5;int x = 5;

int y = 7;

cout <<endl;

cout << x + y << " " << x * y;

cout <<endl;

return 0;

}

Page 58: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

A keni ndonjë pyetje ?

Page 59: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Përmbajtja

� Çka mësuam javën e kaluar ?� Libraria/Klasa iomanip.h� Libraria/Klasa math.h� Leximi i fjalive nga tastiera� Operatorët aritmetik� Operatorët krahasuesOperatorët aritmetik

� Operatorët krahasues� Operatorët logjik� Shprehjet aritmetikore në C++� Struktura për degëzim IF� Operatori për kushtëzim “?”� Struktura për degëzim Switch

Page 60: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Libraria/Klasa iomanip.h

� Setw(gjeresia),

� Setfill(simboli)

� Setprecision(preciziteti)

� Right

� Left� Left

Page 61: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Libraria/Klasa math.h

� pow(baza, eksponenti)

� exp(eksponenti)

� sqrt()

� abs()

� sin(x)� sin(x)

� Etj.

Page 62: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Leximi i fjalive

� cin.get(a,n) // n – numri i karaktereve që lexohen

� cin.getline() // leximi i nje rreshti

#include <iostream.h>

int main()

{

const m=20;

#include <iostream.h>

int main()const m=20;

char A[m];

cout << "Fjalia që lexohet: ";

cin.get(A,m);

cout << "Fjalia që u lexua: "

<< A

<< "\n";

return 0;

}

int main()

{

const m=20;

char A[m];

cout << "Fjalia që lexohet: ";

cin.getline(A,m);

cout << "Fjalia që u lexua: "

<< A

<< "\n";

return 0;

}

Page 63: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Operatorët aritmetik

Operatori Operacioni Shembull Rezultati

+ Mbledhja 3+2 5

- Zbritja 3-2 1- Zbritja 3-2 1

* Shumëzimi 3*2 6

/ Pjestimi 3/2 1.5

% Moduli 3%2 1

Page 64: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Operatorët krahasues / Relacional

Operato

ri

Domethënia Shembull Rezultati

< Më i vogël se 2 < 3 true

<= Më i vogël se, 3 <= 2 false

ose barazi me

== Barazi me 3 == 3 true

> Më i madhë se 3 > 2 true

>= Më i madhë se,

ose barazi me

2 >= 3 false

!= Jobarazi me 2 != 3 true

Page 65: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Operatorët logjik

Operatori Operacioni Shembull Rezultati

&& Konjukcioni

, AND

(2 < 3) && (4 == 4) true

, AND

|| Disnjuk-

sioni,

OR

(2 != 3) || (3 > 4) false

! Negacioni,

NOT

!(5 > 4) false

Page 66: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Shprehjet aritmetikore në C++

�Gjatë llogaritjes së vlerave numerike të shprehjeve

aritmetikore, merret prioriteti vijues i ekzekutimit

1. * / %

2. + -

�Nëse në shprehje paraqiten më shumë operator të rangut të njëjtë, ato ekzekutohen duke shkuar prej anës së majtë kah të njëjtë, ato ekzekutohen duke shkuar prej anës së majtë kah ana e djathtë e shprehjes.

z=2*y/a-3*b+c/2*d+4

42

cdb3

a

y2z ++−=

në matematikë

në C++

Page 67: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Demonstrimi i radhës së ekzekutimit

z=2*y/a-3*b+c/2*d+4

Page 68: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim IF

if (kushti) urdhëri ;

ose

if (kushti)

>x 0

X është pozitiv

Fillimi

x

Fundi

Po

Jo

urdhëri ;

� kushti - kushti për degëzim

� urdhëri – komanda që ekzekutohet

nëse plotësohet kushti

#include <iostream.h>

int main()

{

int x;

cout << "Vlera x=";

cin >> x;

if (x > 0)

cout << "\nx eshte pozitiv

\n";

return 0;

}

Page 69: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe
Page 70: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim IF– shembull

#include <iostream.h>

int main()

{

int x;

cout << "Vlera x=";

cin >> x;cin >> x;

if (x > 0)

cout << "\n x eshte

pozitiv \n";

if (x < 0)

cout << "\n x eshte

negativ \n";

return 0;

}

Page 71: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim IF – shembull

#include <iostream.h>

int main()

{

int x;

cout << "Vlera x=";

cin >> x;>x 0

Fillimi

x

Po

Jo

cin >> x;

if ((x%2) == 0)

cout << "\n x eshte cift\n";

if ((x%2) == 1)

cout << "\n x eshte tek\n";

return 0;

}

X është pozitiv

Fundi

Po

<x 0

X është negativ

Po

Jo

Page 72: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim IF – vazhdim

If (kushti)

urdhëri1;

else

urdhëri2;

� kushti - kushti për degëzim.

� urdhëri1 - urdhëri që ekzekutohet nëse plotësohet kushti k.

� urdhëri2 – urdhëri që ekzekutohet nëse nuk plotësohet kushti

Page 73: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim IF – shembull

#include <iostream.h>

int main()

{

int x;

cout << "Vlera x=";

cin >> x;cin >> x;

if (x > 0)

cout << "\nx eshte pozitiv \n";

else

cout << "\nx eshte negativ\n";

return 0;

}

Page 74: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Forma e përgjithshme e strukturës për

degëzim IF

if (kushti)

{

urdhëri1;

urdhëri2;

urdhërin;urdhërin;

}

else

{

urdhëri1;

urdhëri2;

urdhërim;

}

Page 75: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim IF – shembull

#include <iostream.h>

int main()

{

int x,y,z;

cout << "Vlera x=";

cin >> x;

if (x > 0)if (x > 0)

{

y=2*x;

z=x*x;

cout << "\ny=2*x="<<y;

cout << "\nz=x*x="<<z;

}

else

cout << "\nx eshte negativ\n";

cout<<endl;

return 0;

}

Page 76: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Strukturat e ndërthurura për degëzim

if (kushti1)

if (kushti2)

urdhëri1;

elseelse

urdhëri2;

else

urdhëri3;

Page 77: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Strukturat e ndërthurura për degëzim –

shembull

#include <iostream.h>

int main()

{

int x;

cout << "Vlera x=";

cin >> x;

if (x > 0)

if (x>10)

cout << "\nx eshte pozitiv me i madh se 10\n";

else

cout << "\nx eshte pozitiv me i vogel se 10\n";

else

cout << "\nx eshte negativ \n";

return 0;

}

Page 78: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim IF me operatorë

logjik – shembull

#include <iostream.h>

int main()

{

int x,y,z;

cout << "Vlera x=";

cin >> x;

Si do të dukej algoritmi për këtë kod ?

if ((x > 0) && (x>10))

{

cout << "\nx eshte pozitiv me i madh se 10\n";

}

else

cout << "\nx eshte negativ\n";

cout<<endl;

return 0;

}

Page 79: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Operatori për kushtëzim “?”

(Kushti) ? (urdhëri1) : (urdhëri2);

#include <iostream.h>

int main()

{{

int a=2, b=8;

int y;

y=(a>b) ? a : b;

cout << "Vlera e variablës y="

<< y

<< "\n";

return 0;

}

Page 80: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim Switch

switch (variabla)

{

case a1:

urdhërat ;

break;

case a2:

urdhërat;

break;

case an:

urdhërat;

break;

default :

urdhërat;

}

Page 81: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim Switch – shembull

int Nota;

cout<<"Jepni noten 1, 2, 3, 4 ose 5 : Nota=" ;

cin >> Nota;

switch(Nota)

{

case 1: cout<<"Dobet: ";

break;break;

case 2: cout<<"Mjaftueshem: “;

break;

case 3: cout<<"Mire: ";

break;

case 4: cout<<"Shume mire: ";

break;

case 5: cout<<"Shkelqyeshem: ";

break;

default: cout <<"Gabim-Nota duhet”

<<“ te jete mes 1 dhe 5\n";

}

int Nota;

cout<<"Jepni noten 1, 2, 3, 4 ose 5 : Nota=" ;

cin >> Nota;

if (Nota == 1) cout<<"Dobet: ";

else

if (Nota == 2) cout<<"Mjaftueshem: ";

else

if (Nota == 3) cout<<"Mire: ";

else

if (Nota == 4) cout<<"Shume mire: ";

else

if (Nota == 5) cout<<"Shkelqyeshem: ";

else cout << "Gabim - Nota duhet mes 1 dhe 5";

Page 82: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

A keni ndonjë pyetje ?

Page 83: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Përmbajtja për këtë ligjëratë

� Çka mësuam javën e kaluar ?

-Struktura për degëzim IF

� Strukturat për degëzim IF të ndërthurura

� Operatori për kushtëzim “?”

� Struktura për degëzim Switch

� Kapërcimi pa kusht Goto

� Unaza While

Page 84: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Leximi i fjalive

� cin>>a� cin.get(a,n) // n – numri i karaktereve që lexohen� cin.getline(a,n) // leximi i nje rreshti

Cin.get( ) nuk e shlyen delimiterin nga baferi, perderi sa cin.getline e shlyen delimiterin nga baferi.cin.getline e shlyen delimiterin nga baferi.

Page 85: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Forma e përgjithshme e strukturës për

degëzim IF

if (kushti)

{

urdhëri1;

urdhëri2;

urdhërin;urdhërin;

}

else

{

urdhëri1;

urdhëri2;

urdhërim;

}

Page 86: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Strukturat e ndërthurura për degëzim

if (kushti1)

if (kushti2)

urdhëri1;

elseelse

urdhëri2;

else

urdhëri3;

Page 87: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Strukturat e ndërthurura për degëzim –

shembull

#include <iostream.h>

int main()

{

int x;

cout << "Vlera x=";

cin >> x;

if (x > 0)

if (x>10)

cout << "\nx eshte pozitiv me i madh se 10\n";

else

cout << "\nx eshte pozitiv me i vogel se 10\n";

else

cout << "\nx eshte negativ \n";

return 0;

}

Page 88: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim IF me operatorë

logjik – shembull

#include <iostream.h>

int main()

{

int x,y,z;

cout << "Vlera x=";

cin >> x;

Si do të dukej algoritmi për këtë kod ?

if ((x >= 0) && (x<=10))

{

cout << "\nx eshte pozitiv me i vogel ose

baraz me 10\n";

}

else

else if(x>10)

else

cout << "\nx eshte negativ\n";

cout<<endl;

return 0;

Page 89: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Operatori për kushtëzim “?”

(Kushti) ? (urdhëri1) : (urdhëri2);

#include <iostream.h>

int main()

{{

int a=2, b=8;

int y;

y=(a>b) ? a : b;

cout << "Vlera e variablës y="

<< y

<< "\n";

return 0;

}

Page 90: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim Switch

switch (variabla)

{

case a1:

urdhërat ;

break;

case a2:

urdhërat;

break;

case an:

urdhërat;

break;

default :

urdhërat;

}

Page 91: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Struktura për degëzim Switch – shembull

int Nota;

cout<<"Jepni noten 1, 2, 3, 4 ose 5 : Nota=" ;

cin >> Nota;

switch(Nota)

{

case 1: cout<<"Dobet: ";

break;break;

case 2: cout<<"Mjaftueshem: “;

break;

case 3: cout<<"Mire: ";

break;

case 4: cout<<"Shume mire: ";

break;

case 5: cout<<"Shkelqyeshem: ";

break;

default: cout <<"Gabim-Nota duhet”

<<“ te jete mes 1 dhe 5\n";

}

int Nota;

cout<<"Jepni noten 1, 2, 3, 4 ose 5 : Nota=" ;

cin >> Nota;

if (Nota == 1) cout<<"Dobet: ";

else

if (Nota == 2) cout<<"Mjaftueshem: ";

else

if (Nota == 3) cout<<"Mire: ";

else

if (Nota == 4) cout<<"Shume mire: ";

else

if (Nota == 5) cout<<"Shkelqyeshem: ";

else cout << "Gabim - Nota duhet mes 1 dhe 5";

Page 92: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Kapërcimi pa kusht - goto

#include <iostream.h>

int main()

{

goto Fundi;

Fillimi: //Labela – etiketa,adresa “Fillimi”

cout<< "Fillimi\n";

goto Dalja;goto Dalja;

Mesi: //Labela – etiketa,adresa “Mesii”

cout << "Mesi\n";

goto Fillimi;

Fundi:

cout << "Fundi\n";

goto Mesi;

Dalja:

return 0;

}

Page 93: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Kapërcimi pa kusht – goto - shembull

#include <iostream.h>int main(){int i; char zgjedhja;Perseritje: //Labela(etiketa-adresa) per kapercim pa kusht

cout << "Zgjedhni vleren per i: i=";cin >> i;cout << endl;cout << endl;if (i<10)

cout << "Keni zgjedhur i me te vogel se 10\n\n";else cout << "Keni zgjedhur i me te madh ose baraz me 10\n\n";

cout << "Perserite testin? (P-Po, J-Jo) \a";cin >> zgjedhja;if ((zgjedhja=='P') || (zgjedhja =='p'))

goto Perseritje;cout <<"\n ****************** Dalja ********************\n";return 0;}

Page 94: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

� Përsëritja e ekzekutimit të një apo më shumë urdhrave të programit

� Unaza ka variablen e unazës, e cila përdoret si tregues se sa herë do të përsëriten urdhrat brenda unazës (ciklet e përsëritjes)

� Zakonisht variabla e unazës fillon me vlerën fillestare dhe për çdo herë të ekzekutimit të urdhrave të unazës, e ndryshon vlerën për një

Unazat (Loops - laqet)

Unaza (kushti){Variabla_e_unazës;komandat;

}

fillestare dhe për çdo herë të ekzekutimit të urdhrave të unazës, e ndryshon vlerën për një hap të caktuar, që njihet si hapi i unazës

� Ky ndryshim (rritje, zvogëlim, etj) i vlerës së variablës së unazës, për hapin e caktuar, vazhdon deri sa të plotësohet kushti për dalje prej unazës

� Në dalje apo hyrje të unazës, testohet se a është plotësuar kushti për dalje prej unazës (apo hyrje në unazë)

Page 95: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Unaza whilei=f;

while(kushti)

{

urdhëri/at;

i=i+h;

}

ku janë:

i - variabla e unazës.

f - vlera fillestare e variablës së unazës.

kushti - kushti i ekzekutimit të urdhërave që përfshihen në trupin e unazës.

h - hapi me të cilin ndryshohen vlerat e variablës i.

urdhëri/at – urdhërat që ekzekutohen brenda unazës.

Page 96: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Unaza while – shembull

#include <iostream.h>

int main()

{

double S;

int i;

S=0;

i=1;//vlera fillestare

while (i<=10)//kushti për mbetje brenda unazëswhile (i<=10)//kushti për mbetje brenda unazës

{

S=S+i; //urdhëri

i=i+1; //rritja e hapit të unazës

}

cout << "S="

<< S

<< "\n";

return 0;

}

Page 97: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

A keni ndonjë pyetje ?

Page 98: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Çka mësuam javën e kaluar ? � Strukturat për degëzim IF të ndërthurura

� Operatori për kushtëzim “?”

� Struktura për degëzim Switch

� Kapërcimi pa kusht Goto

� Unaza While

Përmbajtja për këtë ligjëratë:� Unaza do – while� Unaza for� Ndërprerja e unazës� Kapërcimi i hapit të unazës� Krijimi i algoritmeve për operim me vargje� Deklarimi, inicializimi dhe shtypja e vlerave të anëtarëve të vektorit

Page 99: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Unaza do – while

i=f;

do

{

urdhëri/at;

i=i+h;

}

while(kushti);

i=f;

while(kushti)

{

urdhëri/at;

i=i+h;

}while

ku janë:i - variabla e unazës.

f - vlera fillestare e variablës së unazës.

kushti - kushti i ekzekutimit të urdhërave që përfshihen në trupin

e unazës.h - hapi me të cilin ndryshohen vlerat e variablës i.

urdhëri/at – urhdëri/at e përfshira brenda unazës.

}

Page 100: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Unaza do – while – shembull

#include <iostream.h>

int main()

{

const int m=3;

int i;

double s;

s=0;s=0;

i=1; //vlera fillestare

do //(do - bëj, vepro, kryej)

{

s=s+i; //urdhëri

i++; /rritja e hapit të unazës

}

while (i<=m);//kushti për mbetje në unazë

cout << "Shuma s= "

<< s

<< "\n";

return 0;

}

Page 101: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Unaza for

for (i=f; kushti; i=i+h)

{

urdhëri/at;

}

i++ � rritja per nje e vlerës së i-sëi-- � zvoglimi për një i vlerës së i-sëi+=h � rritja per hapin h e vlerës së i-sëi-=h � zvoglimi për hapin h i vlerës së i-së

ku:

i - variabla e unazës.

kushti - kushti i mbetjes brenda unazës.

h - hapi me të cilin ndryshohen vlerat e

variablës i.

urdhëri/at – urdhëri/at që ekzekutohen

brenda unazës.

Page 102: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Unaza for – algoritmi

Page 103: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Ndërprerja e unazës – komanda break

OSE

#include <iostream.h>

int main()

{

int i;

for (i=1;i<=10;i++)

{

if (i>5) if (i>5)

break;

cout << "i="

<< i

<< "\n";

}

return 0;

}

Page 104: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Kapërcimi i hapit të unazës – komanda continue

Fillimi

n

i=1

Po

#include <iostream.h>

int main()

{

int i;

for (i=1;i<=10;i++)

{

i

Fundi

i<=n

Po

Jo

i=i+1

i=5Po

Jo

{

if (i = = 5) continue;

//kalo hapin, për i=5

cout << "i=" << i

<<endl;

}

return 0;

}

Page 105: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Shembull: Të gjendet shuma e numrave prej

1 deri në n, por duke përjashtuar treshin (3)

, si në vijim:

∑≠

=

n

ii

i

31

Fillimi

n

S=0

#include <iostream.h>

int main()

{

int i,n;double s=0;

cout << "Vlera e variables n=";

cin >> n;

for (i=1;i<=n;i++)

Jo

Po

Jo

i=1

S=S+i

i=i+1

i n

S

Fundi

i 3Po

for (i=1;i<=n;i++)

{

if (i==3) continue;

//kaloje 3-shin

s=s+i;

}

cout << "Shuma s="

<< s

<< "\n";

return 0;

}

Page 106: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Krijimi i algoritmeve për operim me vargje

Shembull: Te gjendet sa anëtarë ka vektori Temperaturat[10, 7, 9, 3, 5, 11,-2].

Page 107: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Krijimi i algoritmeve për operim me vargje

Shembull: Te gjendet prodhimi i anëtarëve të vektorit me vlerë mes 5 dhe 12, si dhe të shtypen anëtarët tjerë.

Page 108: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Deklarimi, inicializimi dhe shtypja e vlerave

të anëtarëve të vektorit

//Shtypja horizontale

#include <iostream.h>

int main()

{

const int m=5;

int i;

int A[m]={2,5,-1,6,3};int A[m]={2,5,-1,6,3};

cout << "Vektori A"

<< "\n";

for (i=0;i<m;i++)

cout << A[i]

<< " ";

cout << "\n";

return 0;

}

Page 109: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Deklarimi, inicializimi dhe shtypja e vlerave

të anëtarëve të vektorit

//Shtypja vertikale

#include <iostream.h>

int main()

{

const int m=5;

int i;

int A[m]={2,5,-1,6,3};int A[m]={2,5,-1,6,3};

for (i=0;i<m;i++)

cout << "A["

<< i

<< "]="

<< A[i]

<< "\n";

return 0;

}

Page 110: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

Leximi të anëtarëve të vektorit nga tastiera

#include <iostream.h>

int main()

{

const int m=5;

int i, A[m];

//Krijimi i vektorit

for (i=0;i<m;i++)for (i=0;i<m;i++)

{

cout << "A["

<< i+1

<< "]= ";

cin >> A[i];

}

// Shtypja e anëtarëve të vektorit nuk është

// paraqitur

return 0;

}

Page 111: Gjuhë Programuese - elektrolibraria.files.wordpress.com · Gjuhë Programuese 2. 3. Literature ne C++ FIEK, Prishtinë 2009. Gjuhë Programuese Në kompjuter, të dhënat ruhen dhe

A keni ndonjë pyetje ?