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ə2/3
tarix03.10.2019
ölçüsü460,3 Kb.
#29287
1   2   3
Alqoritmin tesvir usullari yeni


Misal 2.4. Məsələnin həlli  prosesində iki  x və  y  ədədləri 

hesablanır.  Aşağıdakı  hesablama  prosesinin  blok-sxeminin 

fraqmentini  tərtib  etmək  lazımdır:  əgər    k=x+y  cəmi 

vahiddən kiçikdirsə, onda  x  və  y  ədədlərindən  böyüyünü 

onların cəminin yarısı ilə əvəz etməli. Əgər  k



1  olarsa, onda 



x  və  y  ədədlərindən  kiçiyini  0,5  vahid  azaltmalı.  Bu 

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

 

2.3. DÖVRÜ STRUKTURLU ALQORİTMLƏR 

 

Əgər hesablama proseslərində eyni riyazi asılılıqlar üzrə, 

ilkin  verilənlərin  müxtəlif  başlanğıc  qiymətlərində  dəfələrlə 

hesablamalar aparılarsa, onda belə proseslər dövrü hesablama 

prosesləri adlanır. Dövrü hesablama proseslərinin iki forması 

mövcuddur:  təkrarən  hesablamanın  sayı  məlum  olan  dövrlər 

(şəkil  7)  və  təkrarən  hesablamanın  sayı  məlum  olmayan 

dövrlər  (şəkil  8).  Təkrarən  hesablamanın  sayı  məlum 

olmayan  dövrlərə  iterasiyalı  dövrlər  deyilir  ki,  belə 

dövrlərdən “çıxış” müəyyən şərtin ödənməsi ilə baş verir. 

Təkrarən  hesablamanın  sayı  məlum  olan  dövrlər  də  öz 

növbəsində iki növ olur. Bu dövrlərdən birincisinin parametri 

sadə  dəyişən  olur  və  bu  parametr  ədədi  silsilə  ilə  dəyişir, 

məsələn,  5-dən  10-a  qədər  1,2  addımı  ilə.  Ikinci  dövrlər  isə 



indeksli  dövrlər  adlanır.  Belə  ki,  bu  dövrlərdə  dövrün 

parametri massivin indeksini göstərir və bu indekslər vasitəsi 

ilə  massivin  elementlərinə  müraciət  olunur. Bu parametrlər 


 

 

  



 

 

14 



  

 

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



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



Шякил 5 

 

 



 

Шякил 6 


йох 

йох 

йох 

щя 

щя 

щя 

)

(



1

2

1



2

1

1



y

y

x

x

x

x

y

z





 

башланьыъ 

son 

x

1

,x

2

,x

3



y

1

,y

2

,y

3

 

x=

 

x

3

 

x<

 

x

2

 

x

1



 



 

z=y

3

 

 

)



(

1

3



2

3

2



2

y

y

x

x

x

x

y

z





 

йох 

йох 

йох 

щя 

щя 

щя 

son 


x

x>y 

k<1 

k=x+y 

x=x-0,5 

y=y-0,5 

y=k/2 

x=k/2 





 

15 


 

 

  

 

 



 

 

 



Дюврц структурлу алгоритмлярин тясвири 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

Шякил 7 


Шякил 8 

йох 

щя 

Башланьыъ 

 

Sон 


 

Башланьыъ 

 

Sон 


 

 

 

  



 

 

16 



tam ədədlər olur, məsələn dövrün hər hansı  parametri  2-dən 

20-yə  qədər  2  addımla  dəyişir.  Lakin  bu  dövrlərin  hər  ikisi 

blok-sxemin  qurulması  nöqteyi-nəzərindən  bir-birindən 

fərqlənmir  və  onlar  şəkil  7-də  göstərilən  ümumi  struktura 

malik olur.  

Dövrü  proseslərə  ən  sadə  misal  olaraq  funksiyaların  

cədvəl şəklində hesablanmasını göstərmək olar. 



Misal 2.5. Arqumentin qiymətini 2,3-dən 6,5-ə qədər 0,2 

addımla 


dəyişməklə 

ax

2



2

3

e



x

a

a



y



 

funksiyasını 



hesablamaq üçün blok-sxem tərtib etməli. 

Aydındır  ki,  funksiyanın  birinci  qiyməti  arqumentin 



x=2,3  qiymətində,  sonrakı  qiymətləri  isə  x=x+Δx  (Δx=0,2) 

qiymətlərində    hesablanacaqdır.  x=6,5    olduqda    funksiya 

sonuncu  dəfə  hesablanacaq  və  dövrdən  “çıxış”  baş 

verəcəkdir.  Dövrün  parametrinin  başlanğıc,  son  və  addım 

qiymətləri dövr blokunda göstərilir (şəkil 9). Göstərilən blok-

sxemdə dövr aşağıdakı qayda ilə yerinə yetirilir: 3-cü blokda 

dövrün parametri özünün x=2,3 başlanğıc qiymətini alır, 4-cü 

blokda funksiya hesablanır və 5-ci blokda nəticə çap olunur. 

3  və  5-ci  blokların  əhatəsində  yerləşən  bloklar  dövrün 

oblastını  təşkil  edirlər.  Dövrün  parametri  x  özünün  sonuncu 



x=6,5  qiymətini  almadığı  üçün  3-5-ci  bloklar  yenidən  təkrar 

olunur.  x=6,5  olduqda  isə  4  və  5-ci  bloklar  sonuncu  dəfə 

yerinə  yetirilir  və  yalnız  bundan  sonra  6-cı  blok  yerinə 

yetirilir.  



Misal  2.6.  X  =  x

1

,  x



,...,  x

50 

  massivinin  elemetlərini 

cəmləmə alqoritminin blok-sxemini tərtib etməli.  

Cəmləmə əməliyyatını yerinə yetirmək üçün hər hansı bir 

dəyişənə  sıfır  qiyməti  mənimsədib  (s=0)  dövrün  daxilində 

həmin  dəyişənin  üzərinə  cəmlənən  dəyişənləri  (massivin 

elementlərini)  əlavə  etmək  lazımdır  (s=s+x

i

).  Bu  məsələnin 

blok-sxemi şəkil 10-da göstərilmişdir. 


 

17 


 

 

  

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

Шякил 9 


Шякил 10 

Шякил 11 

 

 

 



 

Башланьыъ 

 

x,

 



y=1 

n=1 



n

x

y

y



 

n=n+1 

y>



 

Sон 

 









i

x

s

s



 

 

i



=1,50 

0



s

 

Башланьыъ 



 

x 

Sон 


 







Башланьыъ 

 

a

 

x,y 



ax

e

x

a

a

y



2

2



3

 

Sон 



 

 

х=2.3,6.5,0.2 







 

 

  



 

 

18 



Misal 2.7. Sonsuz  

x, x

2

/2!, x

3

/3! ,..., x

n-1

/(n-1)! ,... 

sırasının  hədlərini,  hər  hansı  x



n

/n!  həddinin  verilmiş 

 



ədədindən kiçik olanadək hesablamaq üçün alqoritmin blok-

sxemini  tərtib  etməli.  Baxılan  məsələdə  dövrlər  sayı  və  ya 

dövrün  parametrinin  son  qiyməti  məlum  olmadığından  bu 

məsələnin  həlli  üçün  iterasiyalı  dövrdən  istifadə  etmək 

lazımdır. Sıranın cari elementini hesablamaq üçün  

y

n

=y

n-1

·x/n 

rekurrent  düsturundan  istifadə  etmək  lazımdır.  Bu  düsturda 

dəyişən  arqument  kimi  həddin  nömrəsi  götürülür.  Ona  görə 

də rekurrent düsturu  



y=y·x/n  

şəklində  yazmaq lazımdır. Burada birinci  hədd üçün  y=1 və 



n=1 olacaqdır. Təsvir olunan alqoritmin blok-sxemi şəkil 11-

də göstərilmişdir.  



 

2.4. BƏZİ MÜRƏKKƏB MƏSƏLƏLƏRİN BLOK-

SXEMLƏRİNİN QURULMASI 

 

Mühəndis  məsələlərinin  həlli  praktikasında  yalnız  bu  və 

ya  digər  strukturlu  hesablama  proseslərindən  ibarət 

məsələlərə  çox  az  hallarda  təsadüf  edilir.  Hətta  ən  sadə 

məsələlərin  alqoritmlərinin  işlənməsində  qarışıq  strukturlu 

blok-sxemlərdən  istifadə  etmək  lazim  gəlir.  Belə  blok-

sxemlərdə  həm  xətti,  həm  budaqlanan,  həm  də  dövrü 

strukturlu  hesablama  prosesləri  iştirak  edir.  Məlumdur  ki, 

blok-sxem  tərtib  olunduqdan  sonra  birbaşa  proqramlaşdırma 

mərhələsi  yerinə  yetirilir.  Ona  görə  də  blok-sxem  tərtib 

olunarkən elə simvollardan istifadə etməyə çalışmaq lazımdır 

ki, həmin simvollar proqramda da istifadə oluna bilsin.  



 

19 


 

 

  

 

 



Misal 2.8.  

X = x

1

, x



,..., x

50 

massivinin  x



max

  ən  böyük  elementini  və  onun  sıra  nömrəsini 

tapmaq üçün alqoritmin blok-sxemini tərtib etməli. 

Alqoritmin  mahiyyəti  ondan  ibarətdir  ki,  birinci  element 

ən böyük element kimi (x

max

=x

1

) qəbul edilməklə yerdə qalan 

elementlərlə  müqayisə  edilir.  Əgər  həmin  elementlərdən  hər 

hansı  biri  x



max

  –dan  böyük  (x



i

>x

max

)  olarsa,  onda  həmin 

element  ən  böyük  element  kimi  qəbul  edilir,  yəni  x

max

=x

i

  . 


Elə bu anda da həmin elementin nömrəsi n

max

=i təyin olunur. 

Bu alqoritmin blok-sxemi şəkil 12-də göstərilmişdir.  



Misal 2.9. Ən böyük ortaq bölənin tapılması üçün Evklid 

alqoritminin blok-sxemini tərtib edin.  

Bu  məsələnin  mətnlə  yazılmış  alqoritmi  yuxarıda  izah 

edilmiş, blok-sxemi isə şəkil 13-də göstərilmişdir. 



Misal 2.10. A=|a

ij

| matrisinin müsbət sətir elementlərinin 

cəmindən  ibarət  olan  B=|b



i

|  matrisini  yaradın  və  bu  matrisi 

çap  edən  alqoritmin  blok-sxemini  tərtib  edin  (i=1,  2  ,...,10;  



j= 1, 2 ,..., 8). 

Bu  alqoritmdə  iki  dövr  təşkil  etmək  lazımdır.  Bunlardan 

biri  (xarici  dövr)  matrisin  hər  bir  sətrinə  müraciət  üçün,  

digəri      (daxili  dövr)    isə    hər    bir      sətirdə      müsbət  

elementləri tapıb onları cəmləmək üçün nəzərdə tutulmalıdır. 

Daxili  dövrdən  əvvəl  sətir  elementlərinin  cəminə  uyğun 

dəyişənə  s=0  başlanğıc  qiyməti  mənimsətmək    lazımdır.  Bu 

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

Nisbətən mürəkkəb olan daha bir misala baxaq.  

Misal  2.11.  Fərz  edək  ki,  hər  hansı  bir  eksperimental 

qurğuda təcrübənin aparılması nəticəsində elementlərinin sayı 

uyğun  olaraq  n  və  m  olan  iki  pərakəndə  A=|a

i

|  və  B=|b

j

  | 

massivləri  tərtib  edilmişdir.  Bu  massivləri  bir  C  massivində 

birləşdirməyi , alınmış massivin elementlərini artma sırası ilə 


 

 

  



 

 

20 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

Шякил 12 



Шякил 13 

Шякил 14 



 

 

 



йох 

щя 

Башланьыъ 

 



xmax=x



nmax=1 

 

xmax, nmax 

xmax= x

1

 

Sон 


 

i=2,50 

x

i

>xmax 

nmax=i 

 

щя 



щя 

йох 

йох 

x=x-y 

Башланьыъ 

 

x,y 

x>y 

y=y-x 

y>x 

z=x 

Sон 



 

йох 

щя 

Башланьыъ 

 

a

i,j 

b

i

=s 



s=0 

s=s+ a



i,j 

 

Sон 



 

a

i,j

>0 

 

i=1,10 



j=1,8 

 

21 


 

 

  

 

 



düzməyi,  hər  hansı  bir  verilmiş  Z  ədədindən  böyük 

elementləri C massivindən atmağı və alınmış C' massivi üçün 

statistik hesablamaları aparmağı təmin edən alqoritmin blok-

sxemini tərtib etməli.  

Göründüyü kimi bu məsələ bir neçə müstəqil məsələlərin 

həllindən  ibarətdir.  Ona  görə  də  əvvəlcə  bütöv  məsələnin 

iriləşmiş blok-sxemini, sonra isə hər bir müstəqil məsələlərin 

daha  müfəssəl  blok-sxemlərini  tərtib  edərək  son  nəticədə 

onları vahid bir blok-sxemdə birləşdirmək məqsədəuyğundur. 

Bu  məsələnin  iriləşmiş  blok-sxemi  şəkil  15-də 

göstərilmişdir.  

Ayrı-ayrı  məsələlərin  blok-sxemlərinin  qurulmasına 

baxaq. 

Massivin  elementlərinin  artma  sırası  ilə  düzülməsi 

məsələsi  bir  neçə  üsulla  yerinə  yetirilə  bilər.  Bu  üsulun 

seçilməsi  və  qiymətləndirilməsi  məsələni  həll  edənin 

özündən  asılıdır.  Fərz  edək  ki,  bu  məsələnin  həlli  üçün 

yerdəyişmə  üsulu  seçilmişdir.  Yerdəyişmə  üsulunun 

mahiyyəti  ondan  ibarətdir  ki,  massivin  elementləri  ardıcıl 

olaraq  müqayisə  olunaraq  onların  yerləri  elə  dəyişdirilir  ki, 

nəticədə monoton artan (və ya azalan) ardıcıllıq alınsın. Artan 

ardıcıllıq  almaq  üçün  əvvəlcə  birinci  iki  element  müqayisə 

olunur.  Əgər  x



1

,  x

2

,...,x

n 

ardıcıllığında  x



2



1

  olarsa,  onda  x



1 

elementi bir yer sağa sürüşdürülür, onun yerinə isə x



2 

yazılır. 

Əgər x

2

>x

1

 olarsa, onda bu elementlərin yeri dəyişdirilmir, x



2 

və    x



3 

elementləri  müqayisə  olunur  və  s.  Ümumi  halda 

elementlərin  “yerdəyişmə”  prosesini  belə  təsvir  etmək  olar. 

Əgər    x



i



j

  (i=i-1,...,  1)  olarsa,  onda  j-cu  element  sağa 

sürüşdürülür və x

i

 elementi x



j-1

 elementi ilə müqayisə olunur. 

Əgər  x

i

>x

j

  olarsa,  onda  j-cu  element  öz  yerində  qalır,    i-ci 

element  isə  j+1-ci  yerə  sürüşdürülür.  Elementlərin  dəfələrlə 

müqayisə edilməsi və onların yerlərinin dəyişdirilməsi lazım 

olan nəticəyə gətirir. Yerdəyişmə üsulu ilə massivin element- 


 

 

  



 

 

22 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

Шякил 15 



 

A,m,B,n 

A,B массивляринин 

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

сырасы иля дцзцлмяси 

Башланьыъ 



A,B массивляринин 

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



З  - дян бюйцк 

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

атылмасы 

Статистик щесабатларын 

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

 

С,С

1

,М,



,



 

Сон 


 

23 


 

 

  

 

 



lərinin  artma  sırası  ilə  düzülməsi  alqoritminin  blok-sxemi 

şəkil 16-da göstərilmişdir. 

Massivlərin birləşdirilməsi məsələsinin alqoritmi iki  

a

1



2

<...

i

<...

m-1



m

 

b

1



2

<...

j

<...

n-1



n

 

massivlərinin elementlərinin bir C massivində artma sırası ilə 



birləşdirilməsi, yəni 

c

1



2

<...

i+j

<...

m+n-1



m+n

 

elementlərinin  tapılması  məsələsinin  alqoritmi  bütün 



elementlərin  seçilməsi,  yoxlanılması  (i



m,  j



n),  müqayisə 

edilməsi (a



i



j

) və massivlərin iki elementindən ən kiçiyinin 

(c

k

=a

i

 və ya c



k

=b

j

) yeni C massivinə göndərilməsi kimi dövrü 

proseslərdən ibarətdir. Əgər a

1



1

 olarsa, onda a



1

, əks halda 



b

yeni C massivinin birinci elementi olur. Növbəti dəfə a



2

 ilə 


b

(və ya a



1 

ilə


 

b

2 

) müqayisə olunur və onlardan ən kiçiyi C 

massivinə yazılır və s. Bu alqoritmdə əsas çətinlik indekslərin 

düzgün  yazılmasındadır.    Burada  A,  B  və  C  massivlərinə 

uyğun  olaraq  üç  indeks  -  i,  j  və  k  götürmək  lazımdır. 

Massivlərin  birləşdirilməsi  məsələsinin  blok-sxemi  şəkil  17-

də göstərilmişdir. 

Massivin  bəzi  elementlərinin  atılması.  Bu  məsələnin 

mahiyyəti ondan ibarətdir ki, dövr daxilində massivinin hər 

bir elementi Z dəyişəni ilə müqayisə edilir. Əgər hər hansı bir 

element  üçün  C



i

  olarsa,  onda  həmin  elementdən 

başlayaraq massivin bütün elementləri atılır (çünki, massivin 

elementləri artma sırası ilə düzülmüşdür). Yeni massivi C' ilə 

işarə  edək.  Bu  massivin  elementləri  üzərində  statistik 

hesablamalar  aparmaq  lazım  gəldiyindən  C'  massivinin 

elementlərini saymaq üçün dövr daxilində sayğac (p) nəzərdə 

tutmaq lazımdır. 

Statistik hesablamaları sadələşdirərək ədədi orta qiyməti  



 

 

  



 

 

24 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

 

  



 

 

 



 

 

 



 

 

 



 

 

 



 

 

 



 

Шякил 16 

 

 

Шякил 17 



щя 

щя 

щя 

йох 

йох 

йох 

башланьыъ 

сон 

a,m 

k=2 

i= k  

j=i-1 

i=i-1 

a

i



j

 

k≤m 

i>1 

x=a



a

i=

 a



a

j

=x

 

k=k+1 



i= k+1 

a

1

 

щя 

щя 

йох 

щя 

щя 

йох 

йох 

йох 

йох 

13 


9

 

башланьыъ 



a

1

,m 

b

1

,n 

a

i



j

 



k=0 

i=1 

j=1 

 

k=k+1 

a=2 

a=1 

c

k

=b



j=j+1 

 

c

k

=a



i=i+1 

сон 


i≤m 

j≤n 

a=1 

m+n≥k 



12 

13 


щя 

14 






15 



10 


11 

12 


13 

 

25 


 

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