Shkenca Kompjuterike I - Ligjerata 1.docx

November 11, 2018 | Author: James Walker | Category: N/A
Share Embed Donate


Short Description

Download Shkenca Kompjuterike I - Ligjerata 1.docx...

Description

SHKENCA KOMPJUTERIKE 1 (SHK1) Fatos Maxhuni ([email protected])

Fakulteti i Shkencës Kompjuterike dhe Inxhinierisë

Hyrje në SHK1

• Cili është qëllimi i kësaj lënde ?

- Do të jetë fillimi i një edukimi tuaj tuaj si Programer Programer (Inxhinier të softuerit) softuerit) • Cila është rëndësia e kësaj lënde ?

- Nga kjo lëndë do të fitoni dijeninë si të përdorni gjuhën gjuhën programuese programuese Java për të ndërtuar softuer

Llojet softuerëve (Programeve) • Kompjuterët janë pajisje të fuqishme harduerike që nuk mund të bëjnë asgjë

pa pjesën softuerike • Në përgjithësi ekzistojnë tri lloje të softuerëve softuerëve::

- Sisteme Sistemett operat operative ive - Progra Programet met aplikat aplikative ive - Vegl Veglat at për për zhvillim zhvillim të softuerit softuerit (SDK) • Si zhvillues të softuerit mund të ndodhë të shkruani njërën apo që të tri llojet

e softuerëve të lartpërmendur

Programet e Sistemeve Operative (O/S) kontrolloj në harduerin dhe i mundësojnë programeve programeve • O/S programet e kontrollojnë

aplikative të ekzekutoh ekzekutohen en • O/S kryesisht janë të ndërtuara që të ekzekutohen në platforma të veçanta

harduerike, hardu erike, p.sh. në x86 apo MAC • Kryesisht këto janë janë programet më komplekse komplekse dhe më të vështira për t’u

ndërtuar dhe testuar • P.sh. M/S Dos, Windows, Unix, Linux, etj

Programet Aplikative • Këto programe kryejnë punë të rëndësishme për shfrytëzuesit

ndërtuara që të ekzekutohen ekzekutohen në sisteme • Aplikacionet kryesisht janë të ndërtuara operative të veçanta dhe platforma të veçanta veçanta harduerike • Shfrytëzuesit kryesisht duhet të ofrojnë informata të hollësishme për

funksionalitetin që programi duhet ta ketë, në mënyrë që programerët të ndërtojnë aplikacionin specifik që përmbushë kërkesat e shfrytëzuesit • P.sh. Word, PowerPoint, Netscape, N etscape, etj

 Veglat për zhvillim të softuerëve softuerëve (ang. Software Development Development Kit - SDK) janë • Veglat për zhvillim të softuerëve (ang.

programe specifike që i mundësojnë zhvilluesve të programeve të shkruajnë programe kompjuterike kompjuterike dhe t’i testojnë ato

• Zhvilluesit me përvojë përvojë kryesisht përdorin përdorin “Integrated Development Environment – IDE” IDE”,, por mund mund të përdoren edhe editorë të thjeshtë për të

kompajluar/ekzekutuar (interpretuar) programin • P.sh.

- IDE: Dr Java IDE, Netbeans Netbeans IDE, Eclipse, Eclipse, etj - Editorë: PFE, Notepad++, Notepad++, etj etj

User er In Inte terf rface ace”  -ëve Llojet e “ “Us ” -ëve interface ace” -ëve: -ëve: • Janë dy lloje dominuese dominuese të “user interf

- Co Comm mman andd Lin Linee In Inte terf rfac acee (C (CLI LI)) - Gr Grap aphi hica call Us User er In Inte terf rfac acee (G (GUI) UI) • Si zhvillues të softuerit ju duhet të jeni në gjendje të shkruani programe për dy llojet e “user inte interfa rface ce” -ëve -ëve

User er In Inte terf rface ace”  -ëve Llojet e “ “Us ” -ëve

• Com Comman mand d Lin Line e In Inter terfa face ce (C (CLI LI))

- Në monitor paraqitet paraqitet kërkesa që shfrytëzuesi shfrytëzuesi të fut ndonjë të dhënë.

- Shfryt Shfrytëzuesi ëzuesi i fut të dhënat e kërkuara, kërkuara, ndërsa programi programi e proceson inputinn e shfrytëzue inputi shfrytëzuesit. sit. - Ky është një lloj i vjetër i “user inte interfa rface ce” -ëve -ëve ende i përdorur në disa aplikacione dhe sisteme operative - Nuk është është i përshtatshëm përshtatshëm për për shfrytëzim shfrytëzim (ang. (ang. not User Friend Friendly) ly)

- P.sh. Në DOS C:\> type type test.txt (shfaq përmbajt përmbajtjen jen e dokumentit) dokumentit)

Userr Int Interf erface ace”  -ëve Llojet e “ “Use ” -ëve

• Gra Graphi phical cal Use Userr Int Inter erfac face e (GU (GUI) I)

- Në monitor monitor paraqitet paraqitet dritarja dritarja me tekst dhe komponen komponente te grafi grafike ke duke i ofruar shfrytëzuesit opsione të ndryshme - Shfrytëzuesi përdor “mouse” -in -in dhe tastierën, të bënë zgjidhje nga opsionet opsion et e ofruar ofruaraa si dhe dhe për të shkruar shkruar tekst - Tani përdoret përdoret më shumë shumë për shkak se komponen komponentët tët për procesim procesim kompjuterik kompj uterik kushtojnë kushtojnë tani më lirë - Është më i përshta përshtatshëm tshëm për për shfrytëzim shfrytëzim (ang. (ang. User Frien Friendly) dly) - P.sh. Microsoft Windows, Microsoft Office, Office, etj.

 Veglat për zhvillim zhvillim të softuerëve softuerëve • Përdorimi i editorit të thjesht dhe Sun JDK (Java Development Kit)

Përdorimi Përd orimi i editori editoritt të thje thjeshtë shtë dhe Sun JDK 

editor. File-i ruhet me të njëjtin emër si emri i • Shkruhet Java kodi në ndonjë editor. klasës dhe me extension extension . java  P.sh nëse e kemi klasën HelloWorld HelloWorld atëherë  java . P.sh

ruhet në file-in me emër HelloWorld.java • Në DOS:

- C:\> C:\>jav javac ac HelloWorld. HelloWorld.jav javaa (krij (krijohe ohett një file-i i ri me pra prapash pashtesë tesë .class, në këtë rast HelloWorld.class ) - C:\>java HelloWo HelloWorld rld (interpret (interpretohet ohet programi) programi) dhe dhe dërgohet output-i output-i në konsolë - C:\>exit (del prej prej DOS-it) DOS-it)

 Veglat për zhvillim të softuerëve softuerëve Development Environment) • Përdorimi i IDE (Integrated Development

Hapat e zhvillimit të softuerit • Modeli klasik klasik “Waterf “Waterfall” all”

Edito dhe ruaj kodin burimor

Eroret

Ndërto kodin e programit

Eroret

Ekzekuto programin dhe shih rezultatin

Eroret • Gjatë ndërtimit të një programi mund të paraqiten 3 lloje të eroreve:

- Comp Compile-ti ile-time me error – që paraqet gabim në sintaksën e programit dhe që vërehet gjatë kohës së kompilimit dhe nuk nuk krijohet file-i me extension .class 

- Run Run-ti -time me error error – që paraqitet gjatë ekzekutimit/interpretimit të programit, p.sh. Pjesëtimi me zero e detyron programin të ndërpritet në mënyrë  jonormale - Lo Logi gica call er erro rorr – që do të thotë që programi ekzekutohet normalisht mirëpo rezultati nuk është ai i prituri

Gjuha programuese Java dhe zhvillimi i softuerit • Gjuhët programuese • Struktura e programit në Java • Zgjidhja e problemeve • Programimi i orientuar/bazuar në objekte

Gjuhët programuese • Gjuhët programuese përdoren nga programerët për të shkruar programe

kompjuterike • Ndonjë gjuhë programuese është më e mirë për ndonjë lloj të programit dhe për ndonjë lloj të “user interface” -it, -it, se tjetra • Me siguri se keni dëgjuar për gjuhë të ndryshme programues si: Cobol,

Basic, C, C++, Java, C#, etj

Gjuhët programuese • Një gjuhë programuese programuese specifikon fjalët dhe simbolet si mbolet që mund të përdoren

për të shkruar programe kompjuterike • Një gjuhë programuese programuese përdorë rregulla të veçanta që diktojnë se si fjalët

dhe simbolet mund të kombinohen që të formohen shprehje të vlefshme programuese • Një gjuhë programuese posedon edhe sintaksën edhe semantikën e vet

Sintaksa dhe semantika • Rregullat sintaksore tregojnë tregojnë si mund të kombinohen fjalët e rezervuara,

simbolet dhe identifikuesit që të krijohet një program i vlefshëm. • Semantika tregon kuptimin kuptimin e një shprehjeje të vlefshme (çka është qëllimi

dhe roli i asaj shprehjeje në atë program) • Një program program që është korrekt sa i përket sintaksës nuk do të thotë se

është korrekt edhe për nga semantika • Një program gjithmonë bënë atë që i themi të bënë, e jo çka mendojmë t’i

themi të bënë

Nivelet e gjuhëve programuese Ekzistojnë jnë disa nivel nivelee të gjuh gjuhëve ëve programuese: programuese: • Ekzisto

- Mach chin inee Lan angu guaage - Ass ssem embl blyy La Lanngu guag agee - Fou ourt rthh-ge gene nera rati tion on la lang ngua uage ge - Hi High gh-l -lev evel el La Lang ngua uage ge (Central Processing Unit) e ka gjuhën e vet specifike të • Çdo lloj i CPU (Central makinës (ang. Machine makinës Machine Langua Language). ge). Përbënë Përbënë instruksio instruksionet net dhe të dhënat të cilat ekzekutohen direkt nga CPU. • Gjuhët e tjera kanë rrjedhë nga nevoja që programerët më lehtë të

shkruajnë dhe lexojnë programet kompjuterike.

Gjuhët programuese • Çdo lloj i CPU ekzekuton vetëm programet në një gjuhë të caktuar të

makinës (ang. Machine Language) • Një program duhet të përkthehet në gjuhë të makinës para se të mund të

ekzekutohet Compileri) është një softuer i veçantë i cili mundëson • Kompajleri (ang. Compileri) këtë përkthim të kodit • Kryesisht ky përkthim është nga një gjuhë e nivelit më të lartë në një

gjuhë specifike të makinës (ang. Machine Language) Language) për një lloj llo j të veçantë të CPU • Qasja e Java-së është pak më ndryshe

Kompajlimi i kodit në Java J ava kodit në një reprezentim r eprezentim • Kompajleri i Java-së bënë përkthimin e Java specifik të njohur si Java Java bytecode të ruajtur në një file me prapashtesën prapashtesën .class  • Java bytecode nuk është gjuhë e makinës për asnjë CPU specifike

softuer tjetër tjetër i njohur njohur si interpret interpreter-i er-i (në rastin rastin tonë tonë JVM - Java Virtua Virtuall • Një softuer Machine) e interpreton bytecode-in • Java njihet si gjuhë neutrale sa i përket arkitekturës së kompjuterëve • Java nuk lidhet me ndonjë makinë specifike • JVM mund të implementohet në çdo lloj të makinës

Struktura e programit në Java • Në gjuhën programuese Java:

-

Programi Progra mi ndër ndërtoh tohet et nga nga një një ose më shumë shumë klas klasëë Njëë klasë Nj klasë ka ka një një apo më shu shumë më atri atribu bute te Njëë klasë Nj klasë ka një një apo apo më më shum shumëë meto metoda da Metodaa përmban Metod përmban shpreh shprehje je të progr programit amit (ang. progr program am statemen statements) ts)

• Këto terme do të hulumtohen dhe do të shpjegohen më në detal gjatë

ligjëratave të ardhshme • Çdo klasë e veçantë ruhet në një file me emrin e njëjtë si emri i klasës por me prapashtesën .java 

mund të ketë më tepër se një klasë në te, por vetëm njëra • Një Java file mund mund të ketë qasje publike dhe emërtimi i file-it bazohet në emrin e kësaj klase • Një Java aplikacion fillon nga klasa e cila ka metodën main(…) (shih shembullin MyProgram.java )

Struktura e programit në Java  //komentet për klasën publi pu blic c cl clas ass s My MyPr Prog ogra ram m{

 //komentet për atributet atributet private String emri = “Fatos”; …… ……

 //komentet për metodat metodat public pub lic stat static ic void main main(St (String ring [] argv argv){ ){ //nj //njihet ihet edhe si “the signature”  …… ……

} }

Komentet • Kom Komentet entet brenda brenda kodit njihen njihen si “ inline docu documen mentatio tationn”  • Ato futen në kod për të dhënë dhënë shpjegime rreth kodit kodit atyre që e lexojnë lexojnë

kodin • Nuk e afektojnë si punon programi, pasi që ato injorohen nga kompajleri • Ekzistojnë 3 lloje të komenteve komenteve::

 // Ky koment vlen vetëm për këtë rresht rresht  /* Ky koment vlen për krejt bllokun dhe vlen deri sa të gjendet simboli simboli terminues dhe mund të shkoj shkoj në disa rreshta rreshta */  /** Ky është është javadoc koment*/

Identifikuesit (ang. Identifiers) • Identifikuesit janë fjalët/simbolet që i përdor programeri programeri në një program. program. • Një identifikues mund të ndërtohet nga shkronjat, numrat, shenja (_)

(ang. underscore) underscore) si dhe nga shenja e dollarit $ • Identifikuesi nuk nuk mund të filloj me numër • Jav Java a është është “casesensitive” që d.m.th – fjalët Total, total dhe TOTAL

trajtohen trajtoh en si identifikues të ndryshëm • Ligj i pashkruar por i përvetësuar nga programerët që shkruajnë programe

në Java, përdorin këtë formë të shkrimit së kodit: • Për emra të klasave kl asave përdoret Titlecase: p.sh HelloWorld HelloWorld • Emrat e atributeve dhe metodave fillojnë me shkronja të vogla: p.sh.

printName • Emrat e konstanteve me të madhe: p.sh. MAXIMUM

Identifikuesit • Ndonjëher Ndonjëherëë ne i zgjedhim z gjedhim identifikuesit tanë, si në shembullin më lart MyProgram  • Ndonjëher Ndonjëherëë i përdorim identifikuesit të cilët i kanë zgjedh programerët programerët e tjerë, p.sh. println  • Shpesh përdorim përdorim identifikues të cilët njihen si të rezervuar dhe që kanë kuptim të veçantë në Java, p.sh. int  • Një identifikues i rezervuar nuk mund të përdoret për asgjë tjetër pos për

çka është i definuar

Fjalët e rezervuara abstract

assert

catch char double do final finally implements import native new public return switch synchronized true t ry

boolean

break

byte

case

class else float instanceof null short this his void

const* enum for int package static throw volatile

continue extends goto* interface private strictfp thro hrows while

default false if  long protected super tra transient

Në ueb faqe faqenn më poshtë mund të gjeni shpje shpjegim gim për secili secilinn ident identifiku ifikues es të rezervuara rezer vuara në Jav Java: a: http://en.wikibooks.org/wiki/Java_Programming/Keywords

Hapësirat Hapë sirat (ang. white white spaces spaces)) zbrazët,TAB AB njihen si “wh whit itee sp space ace”  • Hapësirat, reshtat e zbrazët,T • Këto hapësira përdoren për t’i ndarë fjalët dhe simbolet në program si dhe

për ta strukturuar programin që të jetë je të më i lexueshëm kompajlerit këto hapësira hapësira injorohen • Sa i përket kompajlerit • Sa i përket lexueshmërisë së kodit, ekzistojnë disa mënyra se si të

formatohet programi në Java • Programet formatohen formatohen duke përdorë hapësira hapësira dhe “ indentation” 

Zgjidhja e problemeve • Qëllimi i një programi kompjuterik është zgjidhja e ndonjë problemi të

veçantë • Zgjidhja e një problemi të veçantë konsiston nga një numër i aktiviteteve:

-

Duhett të kupt Duhe kuptoh ohet et mirë mirë pr prob oblem lemii Kons Ko nside idero rohe henn mirë mirë të gjith gjithaa alterna alternativ tivat at Të di diza zajn jnoh ohet et zgj zgjid idhj hjaa Të im impl plem emen ento tohe hett zgji zgjidh dhja ja Tes esto tohe hett zg zgjijidh dhje jenn

li neare por ato mbulohen nga njëra tjetra dhe • Këto aktivitet nuk janë lineare

bashkëveprojnë

Zgjidhja e problemeve • Çelësi i zgjidhjes së problemit është zbërthimi zbërthimi i problemit në pjesë më të

menaxhueshme nënkupton zbërthimin dhe dizajnimin e pjesëve të • Ndërtimi i një softueri nënkupton veçanta programming) ing) është • Programimi i bazuar në objekte (ang. Object-oriented programm shumë i përshtatshëm për këtë lloj të zbërthimit • Ne gjithmonë do ta zbërthejmë zgjidhjen tonë në pjesë, të njohura si klasë dhe objekte

Programimi i bazuar në objekte (ang. (a ng. Obje Object ct Ori Orien ente ted d Pro Program grammin ming) g) • Java është gjuhë programuese e bazuar në objekte • Siç nënkuptohet nga ky term objekti është entiteti bazë i një Java

programi • Java objektet mund të përdoren në mënyrë efektive që të reprezentojnë

objektet në botën reale mund të reprezentoj një llogari bankare • P.sh. Një objekt i Java-së mund • Çdo llogari bankare menaxhon me të dhënat që kanë të bëjnë me atë

llogari bankare si dhe me pjesën për procesimin e këtyre të dhënave

Objektet • Një objekt ka: • Gjendjen e tij (ang. state ) – karakteristikat përshkruese • Sjelljet e tij (ang. behaviour ) – çka mund të bëjë apo lejon t’i bëhet

Bi lancin, etj • Gjendja e llogarisë bankare përfshinë p.sh. Emrin, Bilancin, ll ogarinë bankare janë, shfletimi i gjendjes, • Sjelljet që kanë të bëjnë me llogarinë depozitimi i mjeteve si dhe tërheqja e mjeteve • Siç shihet nga lart disa sjellje të këtij objekti ndryshojnë gjendjen e tij,

p.sh. deponimi deponimi apo tërheqj tërheqjaa e mjeteve ndryshojnë ndryshojnë bilancin e llogarisë bankare

Klasat • Një objekt definohet nga një klasë që reprezento reprezentonn një koncept të veçantë • Klasa definon modelin e çdo instance të objektit • Shumë objekte mund të krijohen nga një klasë • Klasa ka atributet/ atributet/fushat fushat që definojnë gjendjen  e një objekti • Klasa ka metodat që definojnë sjelljen  e një objekti • Klasa që ka metodën main() paraqet pikën fillestare të një programi në

Java • Java programet kryesisht përbëhen nga më shumë klasë se vetëm klasa që ka metodën main() 

Objektet dhe klasat Klasa (koncepti) LlogariaBankare - bilanci: bilanci: double + shfletoBilancin(): double +depono(doubl +depono(doublee shuma): boolean +terhjek(do +terhjek(double uble shuma): boolean

Objekte të shumta të së klasës LlogariaBankare

Tri objekte të klasës Llogari bankare e Agimit Bilanci: 1500  € Llogari bankare e Artës Bilanci: 1755.65  € Llogari bankare e Rrapit Bilanci: 25785.05 €

Trashëgimia (ang. Inheritance) • Klasat mund të organizohen në hierarki • Një klasë mund të derivohet/trashëgohet nga një tjetër duke përdor  “inheritance ”  LlogariaBankare

LlogariaKursimit

LlogariaRrjedhese

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF