Professional Documents
Culture Documents
Algoritmike - 2011 - Leksion 1
Algoritmike - 2011 - Leksion 1
Leksion 1
Ne kete leksion
I. Cfare eshte nje algoritem II. Paraqitja e algoritmeve
A. B. C. D. Pseudokodi Veprimet Sekuenciale Veprimet Kushtezuese Veprimet Iterative
III.Shembuj
Nje varg instruksionesh qe zgjidhin nje problem Nese mund te percaktojme nje algoritem, mund te automatizojme zgjidhjen Nje agjent kompjuterik (robot, kompjuter) mund te interpretoje dhe te ekzekutoje instruksione per te zgjidhur problemin
Perkufizimi i Algoritmit
Nje varg mire-renditur. . . veprimesh te mire-percaktuara (jo te dykuptimta) dhe qe mund te llogariten sakte. . . qe prodhon nje rezultat. . . dhe ndalon ne nje kohe te fundme.
Si ndertohen algoritmet?
Instruksione Sekuenciale
ekzekutohen ne rendin e dhene ekzekutohen nese plotesohet nje kondite ekzekutohen derisa te plotesohet nje kondite
Instruksione Kushtezuese
Instruksione Iterative
Figure 8-7
Figure 8-8
Pro
Kunder
10
Pro
- Nje kompromis i mesem - Ngjan me disa gjuhe programimi popullore - I lexueshem - Relativisht i lire nga rregullat gramatikore - Perfshihen vetem shprehje te mire-percaktuara - Nje gjuhe programimi pa detaje Kunder?
12
Veprimet sekuenciale
Vleredhenie variablash
-a dhe b jane variabla, te cilet mund te mendohen si vende ne memorie per vlerat
Veprimet Kushtezuese
Zgjidh nje bashkesi shprehjesh per tu ekzekutuar, bazuar ne rezultatin verteterreme te nje test:
Nese [Kushti vertete-rreme eshte i vertete] Atehere Ekzekuto nje bashkesi shprehjesh Perndryshe Ekzekuto nje tjeter bashkesi shprehjesh
Shprehjet kushtezuese jane vertete te rendesishme sepse ato na lejojne te marrim vendime bazuar ne vlerat e variablave
14
Kuptimi
I barabarte me I ndryshem nga Me i vogel se Me i vogel ose i barabarte me Me i madh se Me i madhe ose i barabarte me
and
or
Dhe logjike
Ose logjike
15
x to y is true] do steps x to y
Cikli for eshte me pak fleksibel, me i thjeshti nga ana konceptuale Ciklet while dhe do-while jane me fleksibel dhe me te fuqishem; ndryshimi i vetem eshte se kur vleresohet kushti vertete-rreme: perpara apo pas ciklit) while count <= 100 [statements] endwhile do [statements] while count < 100 (supozohet se variabli count rritet ne do cikel)
16
Fuqia e Algoritmeve
Kombinimi i shprehjeve mund te jete kompleks
Prova te mirenjohura nga shkenca kompjuterike teorike tregojne qe nese nje problem mund te zgjidhet ne menyre algoritmike, ai mund te zgjidhet duke perdorur vetem veprime sekuenciale, kushtezuese dhe iterative!
Ciklet dhe kushtezimet mund te nderfuten te njeri-tjetri Blloqet e cikleve ose te shprehjeve kushtezuese mund te jene sekuenca te gjata shprehjesh komplekse
ndoshta me efikas
- Vizito
ne menyre sekuenciale do vlere ne liste, duke mbajtur nje variabel Sum qe ruan shumen Ne perfundim te ciklit, pjesto shumen me numrin e elementeve te listes per te gjetur mesataren
23
Algoritmi
Get the values of i and V1..i set sum to 0 set current to 1 while current <= i Do add Vcurrent to sum add 1 to current endwhile print Sum: " and sum print Average: and sum / i
24
Outputi i Deshiruar:
26
Permbledhje: Pseudokodi
Pseudokodi eshte nje gjuhe fleksibel per zgjidhjen algoritmike te problemeve
Duket shume si gjuhe natyrale, por eshte me i strukturuar Duket pak si gjuhe programimi por eshte me fleksibel Si mund ta dini nese ajo qe keni shkruar eshte shkruar sakte ne pseudokod?
- Nese
dikush tjeter mund ta lexoje ate qe keni shkruar dhe ta ekzekutoje ate hap-pas-hapi, atehere me siguri ai eshte i vlefshem.
27
Input nga perdoruesi (psh: merr vleren e n-se) Shprehje vleredhenieje (psh: jepi n-se vleren n + 1)
Listat jane vargje hapesirash ne memorie qe mund te aksesohen nepermjet nje indeksi
Per nje liste L me n qeliza, L1 akseson qelizen e pare, L2 qelizen e dyte, Ln akseson qelizen e n-te
28
Si behet zgjidhja algoritmike e problemeve: Nje Proces i Pergjithshem Hapi 1: Percakto variablat e nevojshem dhe inicializoji ato, shpesh nepermjet inputit te perdoruesit Hapi 2: Kryej llogaritjet Hapi 3: Afisho rezultatet, shpesh nepermjet shprehjeve te printimit
29
Pyetje
30