1. kompüterdə MƏSƏLƏLƏRİn həll məRHƏLƏLƏRİ



Yüklə 460,3 Kb.
Pdf görüntüsü
səhifə1/3
tarix03.10.2019
ölçüsü460,3 Kb.
#29287
  1   2   3
Alqoritmin tesvir usullari yeni


 

 



 

  

 

 



1.  KOMPÜTERDƏ MƏSƏLƏLƏRİN HƏLL 

MƏRHƏLƏLƏRİ 

 

Məsələlərin kompüterdə həll olunmaq üçün hazırlanması 

hələ də çox mürəkkəb olaraq qalmaqla bərabər həm də çoxlu 

zəhmət  tələb  edir.  Bu  məsələnin  həlli  bir  neçə  mərhələdən 

ibarətdir və onların əksəriyyəti kompüterin istifadə olunması 

ilə  birbaşa  əlaqədar  deyildir.  Bununla  bərabər,  məhz  bu 

mərhələnin  yerinə  yetirilməsinə  sərf  olunan  vaxt  və  zəhmət 

ümumiyyətlə  bütövlükdə  məsələnin  kompüterdə  həll 

olunmasına  sərf  olunan  vaxt  və  zəhmətdən  daha  çox  tələb 

olunur.  Bu  da  onunla  əlaqədardır  ki,  hər  hansı  məsələnin 

kompüterdə həll edilməsi üçün o gərək tərtib olunmuş olsun, 

yəni  ilkin  məlumatdan  son  nəticə  almaq  üçün  göstərişlər 

ardıcıllığından ibarət sistem şəklində yazılsın. Əməliyyatların 

belə  ardıcıllığı  alqoritm,  məsələnin  maşında  həll  edilməsi 

üçün hazırlanması prosesi isə alqoritmləşdirmə adlandırılır. 

Alqoritm anlayışı ilk dəfə IX əsrdə onluq say sistemində 

hesab  əməllərinin  yerinə  yetirilməsi  qaydalarını  tərtib  etmiş 

görkəmli  özbək  riyaziyyatçısı  Əl-Xarəzminin  adından 

götürülmüşdür.  XII  əsrdə  bu  qaydalar  tərcümə  olunaraq 

əvvəllər  rum  say  sisteminin  hökm  sürdüyü  Avropa 

ölkələrində tətbiq olunmağa başlamışdır. 

Ümumiyyətlə, alqoritm eyni tipli müəyyən məsələləri həll 



etmək üçün bir neçə əməliyyatlar sisteminin yerinə yetirilməsi 

ardıcıllığının təsviridir. Alqoritmin bu tərifi o qədər də dəqiq 

olmasa da, praktik məqsədlər üçün bu tərifi qəbul etmək olar. 

Əgər  ilkin  məlumatdan  son  nəticə  almaq  üçün  qayda 

mövcuddursa,  onda  bu  tərif  istənilən  məsələnin  həll 

edilməsinin  mümkünlüyünü  təsdiq  edir.  Alqoritmin  üç  əsas 

xassəsi vardır: 

1.  Alqoritm  kütləvi  olmalıdır,  yəni  tərtib  olunmuş 

alqoritm  ilkin  verilənlərin  qiymətlərinin  geniş intervallarda 



 

 

  



 

 



dəyişdikləri  hallar  üçün  yararlı  olmalıdır.  Alqoritmin 

kütləviliyi müəyyən çərçivə daxilində başa düşülməlidir, yəni 

mütləq  universal  alqoritm  yoxdur.  Müəyyən  bir  məsələnin 

həlli  üçün  tərtib  olunmuş  alqoritm  yalnız  bu  qəbildən  olan 

müəyyən  sinif  məsələlərin  həlli  üçün  yararlı  ola  bilər. 

Məsələn,  xətti  cəbri  tənliklər  sisteminin  həlli  üçün  tərtib 

olunmuş  alqoritm  istənilən  sayda  tənlikdən  ibarət  xətti 

tənliklər  sistemi  üçün  yararlı  ola  bilər,  lakin  bu  o  demək 

deyildir  ki,  həmin  alqoritm,  məsələn,  xətti  diferensial 

tənliklər sisteminin həlli üçün də yararlı olmalıdır. 

2.  Alqoritm  müəyyən  (determinik)  olmalıdır,  yəni 

verilənlərin emal olunması üçün ciddi əməliyyatlar ardıcıllığı 

mövcud  olmalıdır.  Bundan  başqa  alqoritmlərdə  sıfra  bölmə, 

mənfi  ədədlərdən  kvadrat  kökalma,  mənfi  ədədlərin 

loqarifmlərinin  hesablanması  və  s.  kimi  əməliyyatlara  yol 

verilməməlidir. 

3.  Alqoritm nəticəli olmalıdır, yəni hər bir alqoritm üzrə 

hesablama  nəticəsində  cavab  alınmalıdır,  başqa  sözlə, 

axtarılan  nəticə  alınmaqla  alqoritmik  proses  öz  axını  ilə 

dayanmalıdır. 

Alqoritmin  bu  üç  əsas  xassələrinin  yerinə  yetirilməsini 

istənilən misalda müşahidə etmək olar. 

Məlumdur  ki,  verilmiş  üç  a,  b  və  c  ədədlərindən  ən 

böyüyünün tapılması aşağıdakı ardıcıllıqla müəyyən edilir. 



1. a və b ədədlərinin müqayisə et. Əgər a

x=b, əks halda isə x=a qəbul et və ikinci bəndi yerinə yetir. 

2. x və c ədədlərini müqayisə et. Əgər x>=c olarsa, onda 

üçüncü bəndi yerinə yetir, əks halda x=c qəbul et və üçüncü 

bəndi yerinə yetir.  

3. x ədədini nəticə kimi qəbul et və dayan. 

Asanlıqla görünür ki,  bu sadə alqoritmdə hər üç xassəyə 

əməl olunur. Belə ki, bu alqoritm  a,  b  və   dəyişənlərinin  


 

 



 

  

 

 



istənilən  qiymətlərində  doğrudur,  bundan  başqa  ədədlərin 

müqayisəsi  və  ən  böyük  ədədin  seçilmə  ardıcıllığı  o  qədər 

müəyyəndir  ki,  səhv  nəticə  alınması  ehtimalını  tamamilə 

aradan qaldırır. 

İki natural x və y ədədlərinin ən böyük ortaq bölənlərinin 

tapılmasından  ibarət  daha  bir  misala  baxaq.  Bu  ardıcıllıqlar 

sistemi  Evklid  alqoritmi  adlanır  və  o  aşağıdakı  bəndlərdən 

ibarətdir. 



1. x və y ədədlərini müqayisə et.  Əgər x>y olarsa, onda 

dördüncü  bəndi  yerinə  yetir,  əks  halda  ikinci  bəndi  yerinə 

yetir. 

2.  y  və  x  ədələrini  müqayisə  et.  Əgər  y>x  olarsa,  onda 

beşinci  bəndi  yerinə  yetir,  əks  halda  üçüncü  bəndi  yerinə 

yetir. 

3.  Ən  böyük  ortaq  böləni  nəticə  kimi  qəbul  et  (z=x)  və 

hesablamanı dayandır. 

4. x=x-y qəbul et və birinci bəndi yerinə yetir.  

5. y=y-x qəbul et və birinci bəndi yerinə yetir. 

Baxılan misalda, əgər ən böyük ortaq bölən mövcuddursa, 

onda  göstərilən  alqoritm  hökmən  axtarılan  nəticəni 

verəcəkdir.  Ümumi  halda  məsələnin  kompüterdə  həll 

edilməsi bir neçə mərhələdən ibarətdir 

ki, 


onların ən əsasları

 

aşağıdakılardır. 



1.  Məsələnin  riyazi  qoyuluşunun  tərtib  olunması.  Bu 

mərhələdə fiziki, kimyəvi, iqtisadi və s. mahiyyət kəsb edən 

istənilən  məsələ riyazi  şəkildə tərtib olunur və  ya məsələnin 

riyazi qoyuluşu hazır şəkildə proqramçıya verilir. Məsələnin 

riyazi  təsvirində  məsələnin  məqsədi,  ilkin  verilənlər,  onların 

dəyişmə  hədləri,  axtarılan  kəmiyyətlərin  xarakteristikaları, 

dəqiqliyi  və  məsələnin  həllinin  nəticəsinin  təsvir  olunma 

formaları göstərilməlidir. 



2.  Alqoritmin işlənməsi. Bu mərhələdə məsələnin həll  

 

 

  



 

 



alqoritmi  işlənir  və  ya  mövcud  alqoritmlər  içərisindən 

münasib  olanları  seçilir.  Bundan  başqa  alqoritmin  müəyyən 

hissələrinin  yerinə  yetirilməsi  üçün  ədədi  həll  üsullarının 

seçilməsi  və  qiymətləndirilməsi vacibdir. Üsulun seçilməsi 

məsələnin  həlli  üçün  tələb  olunan  dəqiqliyə  və  kompüterin 

imkanlarına uyğun olmalıdır. 



3.  Məsələnin alqoritminin blok-sxeminin tərtib olunması. 

Bu  mərhələ  əvvəlki  mərhələnin  məntiqi  davamıdır,  lakin  bu 

mərhələdə  əməliyyatlar  daha  dərindən  araşdırılır.  Bu 

mərhələnin  yerinə  yetirilməsi  nəticəsində  alqoritmin  bütün 

məntiqi-riyazi  aparatını  özündə  əks  etdirən  və  əməliyyatlar 

ardıcıllığını göstərən müfəssəl blok-sxem tərtib edilir. 



4.  Proqramlaşdırma.  Bu  mərhələdə  tərtib  olunmuş 

alqoritm  hər  hansı  bir  alqorıtmik  dildə  proqram  şəklində 

yazılır.  Proqramlaşdırma  mərhələsini  yerinə  yetirmək  üçün 

ilkin sənəd kimi blok-sxem qəbul olunur. Bu mərhələyə daha 

müfəssəl  dördüncü  bölmədə  baxılacaqdır.  Proqramlaşdırma 

mərhələsi  məsələnin kompüterdə həll olunmaq üçün hazırlıq 

mərhələsinin sonuncu - yekunlaşdırıcı mərhələsidir.  

Baxılan  bütün  mərhələlər  bir-biri  ilə  sıx  əlaqədədir  və 

vahid bir zəncir təşkil edir. Lakin bunların içərisində nisbətən 

böyük  həcmli  və  məsul  mərhələ  blok-sxemin  tərtibi  və 

proqramlaşdırma  mərhələləridir.  Ona  görə  də  növbəti 

bölmələrdə  bir  sıra  misalların  nümunəsində  blok-sxemlərin 

və  onların  əsasında  proqramların  tərtib  olunma  texnikasını 

öyrənəcəyik.

 

 

2. MƏSƏLƏNİN HƏLL 



ALQORİTMLƏRİNİN İŞLƏNMƏSİ 

 

Məsələnin  kompüterdə  həll  olunmaq  üçün  hazırlanma 

mərhələləri içərisində alqoritmin blok-sxeminin işlənməsi ən 

vacib məsələlərdən biridir



 

 



 

  

 

 



Alqoritmlərin  təsvir  olunması  üçün  əsasən  iki  formadan: 

mətn  və  qrafik  formalardan  istifadə  olunur.  Alqoritmlərin 

mətnlə  yazılışında  izahedici  mətnlərlə  müşaiyət  olunan 

müxtəlif  riyazi  işarə  və  ifadələrdən  istifadə  olunur.  Əslində 

alqoritmin    bu    təsvir    forması    məsələnin    həlli    qaydasının 

müfəssəl  yazılışıdır.  Alqoritmin  belə  təsvir  formasına 

yuxarıda  göstərdiyimiz  ən  böyük  ədədin  və  ən  böyük  ortaq 

bölənin  tapılması  misallarının  alqoritmlərini  misal  göstərə 

bilərik.  Alqoritmlərin  mətn  forması  ilə  təsvir  üsuluna 



operator sxemi üsulu və alqoritmik dillər də aiddir. 

Alqoritmlərin qrafik təsvir üsulunda isə hər biri müəyyən 

funksiyanı  yerinə  yetirən  və  blok  adlanan  müxtəlif  həndəsi 

fiqurlardan istifadə olunur. Bloklar nömrələnir və bir-biri ilə 

istiqamətlənmiş  üfqi  və  şaquli  xətlərlə  birləşdirilir.  Lazım 

gələrsə,  blokların  daxilində  qısa  izahatlar  yazmaq  olar. 

Blokların  həndəsi  ölçüləri  və  sxemlərin  qurulma  qaydaları 

mövcud standartlar əsasında yerinə yetirilir. 

Ən çox istifadə olunan bloklar cədvəl 1-də göstərilmişdir. 

 Alqoritmin qrafik üsulla təsvir forması ən geniş yayılmış 

üsuldur. Alqoritmin mətnlə  yazılış formasından fərqli olaraq 

bu  üsul  daha  əyanidir  və    adətən  hər  bir  bloka  alqoritmik 

dillərdə hansı isə bir operator uyğun gəlir. 

Riyazi  mahiyyətindən  asılı  olaraq  hesablama  prosesləri 



xətti,  budaqlanan  və  dövrü  struktura  malik  olur.  Bu 

hesablama  proseslərinin  blok-sxemlərinin  özünəməxsus 

xüsusiyyətləri vardır və onların öyrənilməsi ilə məşğul olaq. 

 

2.1. XƏTTI STRUKTURLU ALQORITMLƏR 



 

Xətti  hesablama  proseslərində  hər  bir  addımda 

əməliyyatlar  bir-birinin  ardınca  yerinə  yetirilir.  Bu  zaman 

aralıq  nəticələr  növbəti  hesabatlar  üçün  ilkin  verilənlər  kimi 

istifadə olunur.Bu hesablama proseslərində adətən daxiletmə


 

 

  



 

 



 

Ъядвял 1 

Ян чох истифадя олунан блоклар 

 

Блокун ады 

Блокун щяндяси 

тясвири 

Блокун функсийасы 

Башланьыъ вя 

сон 

 

Алгоритмин вя йа програмын 



башланьыъы вя йа сону; 

Дахилетмя 

 

Монитордан илкин 



верилянлярин дахил едилмяси 

Просес 


(Щесаблама 

блоку) 


 

Блокун дахилиндя эюстярилян 

дцстур цзря щесабламанын 

йериня йетирилмяси 

Будагланма 

(Мцгайися-

етмя) блоку 

 

Блокун дахилиндя эюстярилян 



мцгайисянин йериня 

йетирилмяси 

Модификасийа 

(Дювр блоку) 

 

Алгоритмдя дюврлярин тяшкил 



едилмяси 

Сяняд 


(Чапетмя 

блоку) 


 

Нятиъялярин чап гурьусунда 

чап едилмяси 

Алт програма 

мцраъият 

 

Алт програм цзря 



ямялиййатын йериня 

йетирилмяси 

Бирляшдириъи 

 

Бир сящифя дахилиндя 



блокларын бирляшдирилмяси 

Бирляшдириъи 

 

Мцхтялиф сящифялярдя 



йерляшян блокларын 

бирляшдирилмяси 

 


 

 



 

  

 

 



çapetmə  və  hesablama  bloklarından  istifadə  olunur.  Xətti 

hesablama  proseslərinin  blok-sxemlərinin  ümumi  görünüşü 



şəkil 1-də göstərildiyi kimidir.  

Xətti  hesablama proseslərini və onların  blok-sxemlərinin 

tərtib olunma qaydasını öyrənmək üçün misala baxaq. 

Misal  2.1.  Tərəfləri  a,  b    c  olan  üçbucağın 

hündürlüklərini  aşağıdakı  düsturlar  ilə  hesablamaq  üçün 

blok-sxem tərtib etməli: 

c)

b)(p



a)(p

p(p


(2/c)

h

c)



b)(p

a)(p


p(p

(2/b)


h

c)

b)(p



a)(p

p(p


(2/a)

h

c



b

a









 



Aydındır ki, məsələni kompüterdə həll etmək üçün a, b, c 

ilkin  verilənlərini  daxil  etmək  və  sonra  isə  p-ni  hesablamaq 

lazımdır.  Bundan  sonra  isə  h

a

,  h

b

  və  h



c

  hündürlüklərini 

hesablamaq  olar.  Lakin  burada  fikir  vermək  lazımdır  ki, 

c)

b)(p



a)(p

p(p


2



ifadəsi  üç  dəfə  təkrar  olunur.  Ona 

görə  də  bu  əməliyyatı  üç  dəfə  təkrar  etməmək  üçün  həmin 

ifadəni  hesablayıb  hər  hansı  bir  dəyişənə  mənimsətmək 

lazımdır.  Onda  məsələnin  blok-sxemi  şəkil  2-də  göstərildiyi 

kimi olacaqdır.  



 

2.2. BUDAQLANAN STRUKTURLU 

 ALQORİTMLƏR 

 

Əgər  hesablama  proseslərində  bu  və  ya  digər  mümkün 

həllərdən  birini  seçmək  lazım  gələrsə,  onda  belə  hesablama 

prosesləri  budaqlanan  hesablama  prosesləri  adlanır.  Sadə 

halda bu və ya digər şərtin yerinə yetirilib-yetirilməməsindən 

asılı  olaraq  hesablama  istiqaməti  seçilir.  Bu  şərt  əvvəlcədən 

verilə  bilər  və  ya  hesablama  prosesinin  gedişində  məsələnin 

özündə  yarana  bilər.  İstənilən  halda  bu  şərt  müqayisə 

blokunda göstərilir. Müqayisə blokunun “böyükdür”, “kiçik- 


 

 

  



 

 

10 



 

Хятти структурлу алгоритмлярин тясвири 

 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



Шякил 1  

Шякил 2 


Башланьыъ 

 

2



c

b

a

p



 

c



b

a

h

h

h

,

,



 

Сон 


c

b

,

,



b

t

h

b

 



a

t

h

a

 



c

t

h

c

 



)

)(

)(



(

2

c



p

b

p

a

p

p

t



 



Сон 

 

Башланьыъ 



 

 

11 


 

 

  

 

 



dir”  və  “bərabərdir”  münasibət  əməliyyatlarına  uyğun  üç 

çıxışı  vardır.  Xüsusi  halda  blokun  iki  çıxışı  da  ola  bilər  ki, 

bunlar müqayisə əməliyyatının yerinə yetirilməsinə (“”) və 

yerinə  yetirilməməsinə  (“yox”)  uyğun  gəlir.  Budaqlanan 

hesablama  proseslərinin  blok-sxemlərinin  ümumi  görünüşü 

şəkil 3-də göstərildiyi kimidir. 

Misal  2.2.  Aşağıdakı  funksiyanı  hesablamaq  üçün  həll 

alqoritminin blok-sxemini tərtib etməli: 















olarsa,

0

x

c

|,

x

c

|

ln

x

c

olarsa;

0

x

c

,

e

olarsa;

0

x

c

,

2,5e

2

2

3

2

2

a/b

2

x

c

2

y

 

burada  



b)

-

ln(a

a

3

4

,



3



a

c

.   


Göründüyü kimi verilən funksiyanı hesablamaq üçün c

2

-x 

ifadəsinin  bir  neçə  dəfə  hesablanması  tələb  olunur.  Əvvəlki 

misalda  olduğu  kimi  burada  da  həmin  ifadəni  bir  dəfə 

hesablayıb hər hansı bir dəyişənə mənimsətmək lazımdır. Bu 

məsələnin blok-sxemi şəkil 4-də göstərilmişdir. 

Daha  mürəkkəb  məsələlərdə  bir  neçə  budaqlanma 

istiqamətləri ola bilər.  

Misal  2.3.  Aşağıdakı  funksiyanı  hesablamaq  üçün  həll 

alqoritminin blok-sxemini tərtib etməli: 



















olarsa.



x

x

,

y

olarsa;

x

x

x

),

y

(y

x

x

x

x

y

olarsa;

x

x

x

),

y

(y

x

x

x

x

y

3

3

3

2

1

3

2

3

2

2

2

1

1

2

1

2

1

1

z

 

Bu  məsələnin  həlli  üçün  üç  müqayisə  bloku  lazımdır: 



əgər  x

1



x  olarsa,  onda  x



x

2

  şərtini  yoxlamaq  lazımdır.  Əgər 

bu şərt ödənərsə,onda funksiya birinci düstür üzrə hesablanır, 



 

 

  



 

 

12 



  

 

 



Будагланан структурлу алгоритмлярин тясвири 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



Шякил 3 

Шякил 4 


Башланьыъ 

 

Сон 



 

Z>0 


Z=0 

Z<0 


z

 

)



ln(

4

.



3

3

b



a

a

a

c



 

x



c

z



2

 

c



b

,

,



y

 

Сон 



b

a

e

y

 



z

z

y

ln

3



 



z

e

y

5

.



2

 



Башланьыъ 

 

13 


 

 

  

 

 



əgər  x

1



x  şərti ödənməzsə və ya  x



1



x  şərti ödənərsə, lakin 



x



x



2  

şərti ödənməzsə, onda  x=x



3

  şərtini yoxlamaq lazımdır. 

Əgər    x=x

3   

şərti  ödənərsə,  funksiya  üçüncü  düsturla  (z=y



3

hesablanır,  əks  halda  yəni    x=x



3

  olmazsa,  bu    x



2



x



3

   


şərtinə  uyğun  gəlir  və  funksiya    ikinci  düsturla 

hesablanacaqdır (şəkil 5). 



Yüklə 460,3 Kb.

Dostları ilə paylaş:
  1   2   3




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin