përmbajtja

27
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM I Ligjerata 2 [email protected] gazmendxh.wordpress.com Gazmend Xhaferi

Upload: bruce-marquez

Post on 02-Jan-2016

56 views

Category:

Documents


6 download

DESCRIPTION

Universiteti Shtet ëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM I Ligjerata 2 [email protected] gazmendxh.wordpress.com. Përmbajtja. Hyrje në algoritme Koncepti i algoritmit Shembuj të algoritmeve Përshkrimi i algoritmit - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Përmbajtja

Universiteti Shtetëror i Tetovës

Fakulteti i Shkencave Matematike-NatyroreDepartamenti i Informatikës

PROGRAMIM ILigjerata 2

[email protected]

Gazmend Xhaferi

Page 2: Përmbajtja

Përmbajtja

Hyrje në algoritme Koncepti i algoritmit Shembuj të algoritmeve Përshkrimi i algoritmit Karakteristikat themelore të algoritmit

Principet e punës së kompjuterit Çka është kompjuteri? Pjesët kryesore të kompjuterit – hyrje, dalje, memoria Pjesa ekzekutive e kompjuterit – procesori Modeli i Von-Neumannit për kompjuterin

Page 3: Përmbajtja

Hyrje në algoritme

Çka është algoritmi? Algoritmi = metodë, procedurë, rregullore për zgjidhjen e një problemi

apo arritjen e një qëllimi.

Ky nuk është definicion preciz në kuptimin matematikor.

Procedura asocon me një varg hapash të fundshëm të cilët duhet të kryhen për zgjedhjen e një problemi.

Metoda shpesh përdoret në matematikë, por zakonisht e përfshin edhe “procedurën” e pafund – e cila jep zgjidhje vetëm te limitet (analiza matematikore, matematika numerike).

Page 4: Përmbajtja

Hyrje në algoritme (vazhdim)

Përse është e nevojshme ta dimë çka është algoritmi?

Detyra kryesore: zhvillimi i algoritmeve të saktë dhe efikas

Intuitivisht është e qartë se efikas d.m.th i shpejtë, kurse i saktë d.m.th zgjidhja (rezultati) të jetë afër zgjidhjes së vërtetë.

Ekziston edhe definicion i saktë matematikor për algoritmin, por ai nuk është aq i thjeshtë – kjo iu duhet atyre që merren me vetitë e algoritmeve.

Page 5: Përmbajtja

Shembuj të algoritmeve

Shembuj standard të algoritmeve

Receptët e gatimit (përgatitja e ushqimeve),

Receptët për përgatitjen e pijeve dhe koktejeve,

Udhëzuesi i përdorimit të secilit aparat,

Zgjidhja e detyrave matematikore.

Page 6: Përmbajtja

Përshkrimi i algoritmeve

Në përgjithësi, si duhet të duken instruksionet dhe nga se përbëhen? Paraqitja e përgjithshme e tyre është:

hapi 1hapi 2 ...

hapi n (i fundit) Me fjalë të tjera algoritmi përbëhet nga një varg hapash, të cilat janë të

fundme, e të cilat po ashtu duhet të ekzekutohen me qëllim të arritjes së qëllimit, respektivisht, të zgjidhet problemi.

Secili hap i veçantë i algoritmit paraqet instruksion apo urdhëresë (komandë) e cila duhet të ekzekutohet.

Page 7: Përmbajtja

Paraqitja dhe ekzekutimi i algoritmit

Zakonisht, instruksionet Shënohen njëri pas tjetrit, Ekzekutohen sipas asaj radhitjeje.

Por, ekzistojnë edhe instruksione që e ndryshojnë radhitjen standarde të ekzekutimit. Shembuj: Nëse kemi një kusht “a dhe b” atëherë kalo tek hapi “x dhe

y” Përsëriti “disa hapa” deri sa të plotësohet kushti “x dhe y” Përsëriti “disa hapa” për disa herë.

Page 8: Përmbajtja

Llojet e instruksioneve

Instruksionet kanë formë të njëjtë, dhe përbëhen nga dy pjesë: Çka duhet të bëjë = operacioni Ku duhet të ekzekutohet = objekti mbi të cilin kryhet operacioni

Siç e mësuam, kemi katër lloje të instruksioneve për kontrollimin e ekzekutimit të operacioneve: të sekuencës të selektimit të përsëritjes të nënprogrameve

Sekuencës – një seri urdhërash që ekzekutohen njëra pas tjetrës Selektimit - strukturë kontrolluese me kusht, ekzekuton urdhëra të ndryshëm

mvarësisht nga kushti Përsëritjes – ekzekutimi përsëritet derisa plotësohen kushtet e parapara. Nënprogramet – shërbejnë për struktuimin e kodit duke e ndarë në njësi më të

vogla.

Page 9: Përmbajtja

Përshkrimi i algoritmit Algoritmi duhet të punojë mbi të dhënat e përgjithshme, me rëndësi

është që të punojë sipas procedurës së njëjtë.

Për shembull, më lehtë është që shkruhet algoritmi i cili e gjen zgjidhjen për barazimet e përgjithshme katrore ax2 + bx + c = 0

Për a, b, c R, ku a≠0, se sa algoritmi që e gjen zgjidhjen e barazimit ∈konkret

x2 − 3x + 2 = 0.

Zgjidhja për barazimin katror arrihet me formulën

Kush janë këtu instruksionet?

Page 10: Përmbajtja

Karakteristikat e algoritmeve

Pra, te algoritmet kemi disa operacione që aplikohen mbi disa të dhëna në formë të disa hapave e që japin ndonjë rezultat (zgjidhje).

Figurativisht:

Karakteristikat e algoritmit: Ka (ose nuk ka) të dhëna hyrëse Ka të dhëna dalëse Mbaron për një kohë të fundme Gjithmonë është i definuar të mos jetë i paqartë Duhet të jetë efikas (të mbaroj në një kohë të arsyeshme)

ALGORITËMHYRJE DALJE

Page 11: Përmbajtja

Hyrje/Dalje

Hyrje:

Secili algoritëm ka 0 ose më shumë, por përfundimisht shumë të dhëna hyrëse.

Ato duhet ti zgjedhim nga një klasë e objekteve hyrëse

Algoritmet me 0 hyrje nuk janë të shpeshtë, por ekzistojnë. Këto provojnë

(testojnë) ndonjë procedurë fikse. Psh: provo nëse 327 është numër i thjesht,

ose zgjidhe barazimin katror konkret.

Nëse algoritmi ka më shumë objekte të ndryshme në hyrje, themi se është i

përgjithshëm, pasi e zgjidh të gjithë klasën e problemit. Psh. Barazimi katror

me parametrat a, b, dhe c.

Page 12: Përmbajtja

Hyrje/Dalje (vazhdim)

Dalje: Secili algoritëm duhet të ketë së paku një dalje, ndryshe do të

duket se nuk ka zgjidhur ndonjë problem të caktuar

Pra, deri më tani flasim për objekte që ndodhen në hyrje dhe dalje, por nuk dihet se kalohet nga njëri te tjetri.

ALGORITËMHYRJE DALJE

Page 13: Përmbajtja

Mbarimi (Fundshmëria)

Mbarimi

Secili algoritëm duhet të mbarojë pas disa hapave të fundme për

çdo hyrje.

Tek programet çdoherë duhet të shihet nëse hyrja është dhënë pa

gabim. Psh, te barazimi katror koeficienti a mund të jetë 0, kurse

nga formula e zgjidhjes del se kemi pjesëtim me 0.

Në praktikë duhet të parashihen të gjitha kufizimet reale dhe duhet

që atyre tu largohemi. Psh, te programi i cili lexon temperaturën T

të ujit, duhet të kemi kufizimin 0 ≤ T ≤ 100.

Page 14: Përmbajtja

Përcaktueshmëria & Qartësia

Kur projektojmë një algoritëm, nuk e dimë menjëherë në fillim se prej cilave hapa përbëhet procedura e zgjidhjes së problemit.

Zakonisht problemi ndahet në disa tërësi më të mëdha, të cilat i zgjedhim duke pasur parasysh varshmërinë e tyre reciproke. Nëse tërësitë janë të mëdha, atëherë bëjmë ndarjen e tyre në njësi më të vogla. Kjo metodë quhet rafinimi hap pas hapi (eng. Stepwise refinement).

Deri kur duhet të zbatohet rafinimi hap pas hapi? Varet nga ekzekutimi i algoritmit (cilat instruksione ai i njeh dhe cilat mund ti ekzekutojë).

Algoritmi përbëhet nga një varg me instruksione themelore (elementare, primitive) dhe duhet të jetë qartë i definuar për ekzekutuesin e algoritmit.

Page 15: Përmbajtja

Efikasiteti Algoritmi duhet që të mbarojë për një kohë të arsyeshme, që është më me rëndësi

sesa fundshmëria e tij.

Të themi, 500 vjet nuk është kohë e arsyeshme!

A ka algoritme të tillë? Ka!

Për problemet e klasës së kompleksitetit NP-komplete nuk ekzistojnë algoritme

efikase. Psh. Udhëtari tregtar.

Ekzistojnë probleme për të cilët nuk ekzistojnë algoritme për zgjidhjen e tyre –

ato quhen probleme algoritmikisht të pazgjidhshme. (kërko në Google: List of

unsolved problems in computer science)

Page 16: Përmbajtja

Ndërtimi dhe funksionimi I kompjuterit

1.Çka është kompjuteri? Kompjuteri = makinë për ekzekutimin e algoritmeve

Ashtu si ka çdo algoritëm hyrje dhe dalje, ashtu edhe kompjuteri duhet të ketë pjesët hyrëse dhe dalëse.

Pjesa hyrëse: i lexon të dhënat nga një medium Pjesa dalëse: mekanizëm që i shkruan të dhënat në ndonjë

medium.

Që të mundet një algoritëm të ekzekutoj ndonjë instruksion në kompjuter, na duhet memorie ku duhet të shënohen dhe lexohen ato. Na duhet edhe procesor që të ekzekutohen këto instruksione.

Page 17: Përmbajtja

Modeli logjik i një kompjutori modern

Njësitë hyrëse

Njësitë dalëse

Memorja operative apo kryesore

Procesori

Kanalet komunikuese

Memorjet externe apo sekundare

Page 18: Përmbajtja

Modeli logjik=Modeli i Von Neumannit

Page 19: Përmbajtja

Modeli logjik=Modeli i Von Neumannit

Njësia qendrore në princip përbëhet nga një memori kryesore dhe një procesor, kurse

Procesori nga ana tjetër përbëhet nga një njësi aritmetiko-logjike për kryerjen e detyrave të parashtruara dhe një njësie kontrolluese për koordinimin e rrjedhave ndërmjet tgjitha elementeve e sistemit kompjuterik sëbashku

Page 20: Përmbajtja

Procesori

Cpu- central processing unit, miroprocesor –apo njësia qëndrore- miliona tranzistor mikroskopik të ndërlidhur mes veti në disa njësi funksionale dhe të paketuara në një çip.

realizon përpunimin e të dhënave në kuptim të ngusht të fjalës respektivisht detyra kryesore e CPU është ti realizon urdhërat (instrukcionet) me qëllim të përpunimt të të dhënave

Lloji i Procesorit

Numri i transistorëv

Viti i zhvillimit

(prodhimit)

Intel 4004 2.300 1971

Intel Pentium (P5) 3.100.000 1993

Intel Core 2 (Yorkfield) pro Die

410.000.000 2006

Intel Itanium 2 Montecito

1.720.000.000 2007

Page 21: Përmbajtja

Faktorët që ndikojnë në performansat e procesorit

Frekufenca punuese (takti punues) i procesorit

Numri i biteve me të cilët procesori mundet njëkohësisht të

manipulon – gjatësia e fjalës (word length:32,64)

Gjërësia e magjistralës e cila i lidhë procesorin dhe

memorjen (bus width)

Largësia mes tranzistorëve në Çip (line width;0.18,0.13

mikron)

Page 22: Përmbajtja

Memoria

Sasia dhe lloji i memorjes që e shfrytëzon kompjuteri, në sasi të madhe varet nga dedikimi i tij

Dy kategori kryesore të memorieve:

a) memoria primare - shërben për ruajtjen e një numri relativisht të vogël të të dhënave të cilat i shfrytëzon procesori

- e përfshirë në më shumë Çipe, fizikisht të vendosura sa më afër Procesorit

b) memoria sekundare – shërben për ruajtjenë e sasive më të mëdha të të dhënave dhe informatave në periudhë më të gjatë kohore

Page 23: Përmbajtja

Memoria

Fjala (word) është tërësia themelore për një të dhënë. Thënë më thjesht, fjala është sasia e bitëve e paramenduar për paraqitjen e numrave të plotë, ose më saktë, fjala është sasia e bitëve e nevojshme për paraqitjen e instruksionit dhe adresës së makinës. Sot, në përgjithësi, fjala është një tërësi bitësh e paramenduar për paraqitjen e një simboli (shenje), pra fjala = 1 Byte.

Memoria është një varg linear me fjalë, dhe secila fjalë e ka adresën e vet, dmth pozitën apo vendin në varg.

Shikuar matematikisht, vargu me n anëtarë paraqitet si

x1, x2, . . . , xn. Por te memoriet numërimi fillon nga pozita 0.

Page 24: Përmbajtja

Memoria

Skica e memories me n fjalë duket kështu:

Themi se fjalak ndodhet në pozitën k ose ndodhet në adresën k.

Page 25: Përmbajtja

Memoria – hapësira adresuese

Adresa e të dhënave është pjesa kyçe e instruksionit e cila bën diçka

me të dhënat.

Madhësia e hapësirës adresuese = numri i biteve i paramenduar për

adresë.

Nëse kemi m bite për të rezervuar adresë, atëherë mund të paraqiten

saktësisht 2m adresa të ndryshme: prej në 0 deri në 2m – 1.

Kjo e përcakton edhe sasinë maksimale të memories (më shumë nuk

mund të adresohet).

Adresat si zakonisht shënohen në formën heksadecimale.

Mr. Fisnik Dalipi

Page 26: Përmbajtja

Memoria primare

Lloje të memorjes Primare - Regjistrat – pjes të procesorit; posedojnë kapacitet më të vogël dhe

shërbejnë për ruajtjen e një sasie shumë të kufizuar të instrukcioneve dhe të dhënave, dhe atë vetëm direkt(aty për aty) para dhe pas përpunimit.

Memorja me qasje të drejpërdrejtë (random access memory – RAM)

Kesh-memorja (cache memory) –ndërmjetëson ndërmjet procesorit dhe memorjes primare. Aty vendosen instruksionet përkohësisht.

Memorja nga e cila vetëm mundet të lexohet (read only memory – ROM)

Page 27: Përmbajtja

PYETJE?