1 / 27

Përmbajtja

Universiteti Shtet ëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM I Ligjerata 2 gazmend.usht@gmail.com gazmendxh.wordpress.com. Përmbajtja . Hyrje në algoritme Koncepti i algoritmit Shembuj të algoritmeve Përshkrimi i algoritmit

Download Presentation

Përmbajtja

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UniversitetiShtetëror i TetovësFakulteti i Shkencave Matematike-NatyroreDepartamenti i InformatikësPROGRAMIM ILigjerata 2gazmend.usht@gmail.comgazmendxh.wordpress.com Gazmend Xhaferi

  2. 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

  3. 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).

  4. 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.

  5. 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.

  6. 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 1 hapi 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.

  7. 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ë.

  8. 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.

  9. 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?

  10. 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) HYRJE DALJE ALGORITËM

  11. 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.

  12. 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. HYRJE DALJE ALGORITËM

  13. 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.

  14. 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.

  15. 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)

  16. Ndërtimi dhe funksionimi Ikompjuterit • 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.

  17. Modeli logjik i një kompjutori modern • Njësitëhyrëse • Njësitëdalëse • Memorja operative apokryesore • Procesori • Kanaletkomunikuese • Memorjetexterneaposekundare

  18. Modeli logjik=Modeli i Von Neumannit

  19. Modeli logjik=Modeli i Von Neumannit • Njësiaqendrorenëprincippërbëhetnganjëmemorikryesoredhenjëprocesor, kurse • Procesoringaanatjetërpërbëhetnganjënjësiaritmetiko-logjikepërkryerjen e detyravetëparashtruaradhenjënjësiekontrolluesepërkoordinimin e rrjedhavendërmjettgjithaelementeve e sistemitkompjuteriksëbashku

  20. Procesori • Cpu- central processing unit, miroprocesor –aponjësiaqëndrore-milionatranzistormikroskopiktëndërlidhurmesvetinëdisanjësifunksionaledhetëpaketuaranënjëçip. • realizonpërpunimin e tëdhënavenëkuptimtëngushttëfjalësrespektivishtdetyrakryesore e CPUështëtirealizonurdhërat (instrukcionet) me qëllimtëpërpunimttëtëdhënave

  21. Faktorët që ndikojnë në performansat e procesorit • Frekufencapunuese(taktipunues) iprocesorit • Numriibiteve me tëcilëtprocesorimundetnjëkohësishttëmanipulon – gjatësia e fjalës (word length:32,64) • Gjërësia e magjistralës e cilailidhëprocesorindhememorjen (bus width) • LargësiamestranzistorëvenëÇip (line width;0.18,0.13mikron)

  22. Memoria • Sasiadhellojiimemorjesqë e shfrytëzonkompjuteri, nësasitëmadhevaretngadedikimiitij • Dykategorikryesoretëmemorieve: • a) memoria primare - shërbenpërruajtjen e njënumrirelativishttëvogëltëtëdhënavetëcilatishfrytëzonprocesori • - e përfshirënëmëshumëÇipe, fizikishttëvendosurasamëafërProcesorit • b) memoria sekundare – shërbenpërruajtjenë e sasivemëtëmëdhatëtëdhënavedheinformatavenëperiudhëmëtëgjatëkohore

  23. 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.

  24. Memoria Skica e memories me n fjalë duket kështu: Themi se fjalak ndodhet në pozitën k ose ndodhet në adresën k.

  25. 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

  26. Memoria primare • LlojetëmemorjesPrimare - Regjistrat– pjestëprocesorit; posedojnëkapacitetmëtëvogëldheshërbejnëpërruajtjen e njësasieshumëtëkufizuartëinstrukcionevedhetëdhënave, dheatëvetëmdirekt(atypëraty) paradhe pas përpunimit. • Memorja me qasjetëdrejpërdrejtë (randomaccess memory – RAM) • Kesh-memorja (cache memory) –ndërmjetëson ndërmjet procesorit dhe memorjes primare. Aty vendosen instruksionet përkohësisht. Memorjanga e cilavetëmmundettëlexohet (read only memory – ROM)

  27. PYETJE?

More Related