Оќулыќ Алматы 2005 Беркінбаев К. М



Pdf көрінісі
бет11/28
Дата06.02.2017
өлшемі3,9 Mb.
#3515
1   ...   7   8   9   10   11   12   13   14   ...   28

18.2. 237,3.

18.3. B8,58.

18.4. 209,03125.

18.5. 323,74.

18.6. AF,D2.

18.7. 578,75.

18.8. 10100111,001111.

18.9. 1A1,88.

18.10. 392,375.

18.11. 101000001110,000011.

18.12. 657,46.

19.1. 10010010,1001.

19.2. 472,04.

19.3. A9,78.

19.4. 63,9375.

19.5. 611,65.

19.6. C4,B.

19.7. 473,3125.

19.8. 1100011,101111.

19.9. 162,78.

132

19.10. 199,0625.

19.11. 101110110001,00000001.

19.12. 332,52.

20.1. 10001000,0101.

20.2. 442,14.

20.3. AE,98.

20.4. 136,4375.

20.5. 732,12.

20.6. EA,9.

20.7. 325,0625.

20.8. 10010100,100001.

20.9. 143,58.

20.10. 214,1875.

20.11. 1100101000,01110001.

20.12. 347,56.

21.1. 10000101,0111.

21.2. 255,34.

21.3. AF,A8.

21.4. 137,25.

21.5. 645,11.

21.6. 9D,F.

21.7. 329,625.

21.8. 11100010,0011.

21.9. 191,48.

21.10. 241,4375.

21.11. 1110100110,01101111.

21.12. 251,62.

22.1. 1101111,11.

22.2. 452,24.

22.3. B8,B8.

22.4. 153,625.

22.5. 523.34.

22.6. 8D,A2.

22.7. 246,28125.

22.8. 1100110,101011.

22.9. 193,38.

22.10. 284,3125.

22.11. 110001000001,0001101.

22.12. 624,66.

23.1. 1110100,01.

23.2. 401,44.

23.3. 1A1,C8.

23.4. 161,03125.

23.5. 317,16.

23.6. C1,01.

23.7. 142,65625.

23.8. 100011011,011011.

23.9. 1F2,28.

23.10. 189,5625.

23.11. 101001010,10110011.

23.12. 667,72.

24.1. 10000001,1.

24.2. 357,64.

24.3. 10F,D8.

24.4. 192,5625.

24.5. 147,22.

24.6. DB,AB.

24.7. 259,8125.

24.8. 111100010,111001.

24.9. 2B4,18.

24.10. 410,8125.

24.11. 101010110,111011.

24.12. 507,76.

25.1. 10111110,00001.

25.2. 220,14.

25.3. F5,B8.

25.4. 117,3125.

25.5. 304,15.

25.6. FC,A3.

25.7. 375,53125.

25.8. 11011110,00111.

25.9. 11D,A.

25.10. 399,6875.

25.11. 11110100,00001001.

25.12. 572,44.

26.1. 10101100,1111.

133

26.2. 173,46.

26.3. E1,28.

26.4. 101,4375.

26.5. 273,63.

26.6. AB,FE.

26.7. 326,46875.

26.8. 100011110,011101.

26.9. FF3,D.

26.10. 317,9375.

26.11. 10101000,11011.

26.12. 531,24.

27.1. 10100110,1011.

27.2. 347,66.

27.3. 123,38.

27.4. 142,1875.

27.5. 306,61.

27.6. CE,DE.

27.7. 394,21875.

27.8. 111001011,11101.

27.9. 11C,9.

27.10. 277,03125.

27.11. 10010010,00101.

27.12. 7001,34.

28.1. 1110101,101.

28.2. 335,06.

28.3. 1D4,88.

28.4. 97,0625.

28.5. 745,53.

28.6. 9E,E4.

28.7. 390,15625.

28.8. 110100101,000111.

28.9. 20A,08.

28.10. 302,09375.

28.11. 11001110,10100001.

28.12. 773,74.

29.1. 10000000,1101.

29.2. 365,34.

29.3. 15F,78.

29.4. 115,375.

29.5. 247,33.

29.6. 87,CC.

29.7. 449,09375.

29.8. 101110110,011001.

29.9. 17B,F.

29.10. 425,15625.

29.11. 10111101,10100111.

29.12. 537,54.

30.1. 10001001,1001.

30.2. 405,14.

30.3. 12E,88.

30.4. 107,125.

30.5. 274,46.

30.6. 4A,41.

30.7. 349,03125.

30.8. 11100110,111001.

30.9. 13E,B.

30.10. 419,21875.

30.11. 10101010,110111.

30.12. 1334,64.

134

 3 БЉЛІМ

АЛГОРИТМДЕУ  НЕГІЗДЕРІ

3.1. Алгоритм тџсінігі

Алгоритм – информатика пѕнініњ негізгі ђѓымдарыныњ бірі. Ком-

пьютерді ќоѓам љмірініњ ќай саласында болмасын пайдалана білу џшін

алгоритм ђѓымын мењгеру керек.

«Алгоритм» сљзі маѓынасы жаѓынан нђсќау, жарлыќ, рецепт, ере-

же, тѕртіп, зањ, жоба сљздеріне синоним болып келеді. Алгоритм сљзі

Орта Азияныњ ортаѓасырлыќ ђлы ѓалымы – Мђхамед ибн Мђса ѕл-

Хорезмидіњ атымен байланысты шыќќан. Ол љзініњ «Арифметикалыќ

трактат» деген ењбегінде арифметикалыќ амалдарды орындау тѕртібін

ђсынѓан. Сљйтіп, арифметикалыќ амалдарды орындау ережесі, геомет-

риялыќ фигураларды салу ережесі, сљздердіњ жазылуыныњ граммати-

калыќ ережесі т.с. сияќтылар алгоритм деп аталып кеткен.

А н ы ќ т а м а. Алгоритм деп алдын-ала аныќталѓан маќсатќа жету

џшін, есептіњ шешімін табу џшін орындаушыѓа (адамѓа, компьютерге

жѕне т.б.) берілген тџсінікті нђсќаулардыњ тізбегін айтады.

3.2. Алгоритмніњ ќасиеттері

Алгоритмді кез келген басќа жазулардан мына маѓыналыќ ќасиет-

тері арќылы ажыратамыз. Олар алгоритмніњ тџсініктілігі, дискреттігі

(жалѓыздыѓы),  аныќтыѓы,  нѕтижелігі,  жалпыѓа  бірдейлігі.  Берілген

орындаушы џшін алгоритмніњ  т џ с і н і к т і л і г і деп, орындаушыныњ

жарлыќтарыныњ жџйесіне, ќђрамына енетін іс-ѕрекеттерді орындау,

тексеру туралы жазбалар мазмђнын айтады. Алгоритм ЭЕМ ќабыл-

дайтын жѕне сол бойынша ќажетті амалдарды орындай алатын нђсќау-

лар тџрінде берілуі керек.

Д и с к р е т т і л і г і – деп алгоритм жарлыќтарыныњ тізбектелген

ретпен орындалуын айтады. Оныњ бір жарлыѓыныњ орындалуыныњ соњы

мен келесі жарлыќтыњ басына сілтеме дѕл, наќты аныќталады. Алго-



135

ритм, ѕрќайсысы ЭЕМ-ді белгілі бір ќадам, ѕрекет жасататын нђсќау-

лардыњ тізбегінен тђрады. Ѕрбір жарлыќты орындаѓанда алгоритмніњ

орындалуы аяќталды ма, не келесі ќандай жарлыќ орындалады, сол

туралы дѕл мѕлімет болуы шарт, яѓни алгоритмде нђсќаулардыњ орын-

далу реті  а н ы ќ т а л ѓ а н болуы керек. Себебі, ЭЕМ џшін ѕрбір

нђсќауды орындаѓаннан кейін келесі ќай жарлыќты орындау (не істеу

керектігі) аныќ кљрсетілуі ќажет.

Алгоритм – шектеулі ќадамдарды орындап болѓан соњ  н ѕ т и ж е г е

алып келеді. Нѕтижеде, алгоритм орындалѓан соњ есептіњ шешуініњ

аяќталуы, не ќандай да бір себептерге байланысты есепті шешуді жал-

ѓастыру мџмкін еместігі туралы мѕлімет болуы мџмкін. Алгоритмніњ

ж а л п ы л ы ѓ ы деп оны бірдей типтегі (тџрдегі) есептерді шешу џшін

ќолдануѓа болатындыѓын айтады.



3.3. Алгоритмді жазу тѕсілдері

Алгоритмдегі жарлыќтардыњ, нђсќаулардыњ берілу тџріне ќарай

алгоритмді жазу ѕдістерін ажыратуѓа болады. Орындаушыныњ љзіне

тѕн  біліміне  байланысты  арнайы  тањбалар,  сљздер,  іс-ќимылдар,

схемалар  арќылы  алгоритмдерді  жазудыњ  тѕсілдерін  ђйымдасты-

руѓа болады.

Мысалы, цирктегі ќђстар мен жануарларѓа алгоритмдер арнайы

дауыстар, іс-ќимылдар арќылы, автокљлікті жџргізу алгоритмі, теле-

визор, магнитофонды жђмыс істету алгоритмі арнайы пернелерді басу,

бђрау  арќылы  жџзеге  асырылады;  т.с.с.  ѕртџрлі  тањбалармен,  белгі-

лермен берілген алгоритмдер кљп кездеседі.

Орындаушы – адам болатын жаѓдайда алгоритм кљбінесе сљзбен

жазылады.  С  љ  з  б  е  н    жазылѓан  алгоритмдер,  ретпен  орналасќан

сљйлемдерден (нђсќаулардан) тђрады. Сонымен бірге алгоритмдер ар-

найы тањбалар, блок-схемалар, формулалар, кесте тџрінде, ноталар (саз-

герлер џшін) арќылы жазылады.

Енді сљзбен жазылѓан алгоритмге мысалдар ќарастырайыќ.



1-есеп.  Екі  бџтін  санныњ  ењ  џлкен  ортаќ  бљлгішін(ЕYОБ)  табу

керек. Бђл есепті шешу, џлкен санды кішісінен бљлу арќылы, сонан

соњ кіші санды ќалдыќќа бљлу, бірінші ќалдыќты екінші ќалдыќќа бљлу

жѕне т.с.с. ќалдыќ нљл болѓанша тізбектей бљлу арќылы жџзеге асы-

рылады. Саны бойынша ењ соњѓы бљлгіш нѕтиже болып табылады.

Бастапќы  берілген  екі  бџтін  санды  М  жѕне N деп  белгілейік.


136

Бљлуді ќайталанып отыратын азайту амалымен алмастырайыќ. Онда

а л г о р и т м д і  келесі тџрде ђйымдастыруѓа болады:

1. Басы


2. 

(

)



N

,

 енгізіњдер.

3. Егер  

N

M

  болса, онда 4 пунктке, ѕйтпесе 7 пунктке љтіњдер.



4. Егер 

N

M

>

  болса, онда 5 пунктке, ѕйтпесе 6 пунктке љтіњдер.



5.

;

:



N

M

M

=



 3 пунктке љтіњдер.

6.

;



:

M

N

N

=



  3 пунктке љтіњдер.

7.

M



EYOБ

=

:



8. 

M

EYOБ

=

:



жауапќа шыѓару.

9. Соњы.


2-есеп.  М  а  к  с  и  м  у  м    мен    м  и  н  и  м  у  м  д  ы  іздеу  (табу)

алгоритмі.  Ол  џшін  бізге  кез  келген n наќты  саннан  тђратын  шекті

тізбек а

1

,  а



2

,...,а


і

,…,а


n

 берілсін. Сандардыњ саны аз болѓан жаѓдайда

максимум мен минимумды оњай кљрсетуге болады. Ал, егер n џлкен

болса, онда есеп ќиындайды. Бірнеше жџздеген кљпразрядты сандар-

дыњ  ішінен  максимум  мен  минимумын  табудыњ  ќиындыѓы  жоѓары

болады. Сондыќтан, бір аныќталѓан (тѕртіпке) жџйеге сџйену ќажет.

Мысалы, алѓашќы мѕн ретінде максимум џшін де, минимум џшін де

алѓашќы тђрѓан санды алайыќ. Ары ќарай ретімен ѕрбір санды макси-

мумныњ мѕнімен салыстырамыз. Егер келесі сан максимумнан џлкен

болса, онда оны максимумныњ жања мѕні ретінде ќабылдаймыз (алѓашќы

мѕн ”ђмытылып” отырады), онан соњ келесі тђрѓан санѓа љтеміз. Егер

ќарастырылып  отырѓан  сан  максимумнан  џлкен  болмаса,  онда  оны

минимум ретінде алынѓан санмен салыстырамыз. Егер осы сан мини-

мумнан кіші болса, оны минимумныњ жања мѕні ретінде ќабылдай-

мыз; егер бђл сан минимумнан кіші болмаса, келесі санды тањдауѓа

љтеміз. Осындай ѕдіспен сандардыњ бѕрін салыстыру арќылы макси-

мум мен минимумныњ соњѓы мѕнін табамыз. Осы айтылѓан ережені

сљзбен жазу тѕсілімен былай жазуѓа болады:

1.

Басы


2.

(

)



n

i

a

i

,...,


2

,

1



,

=

  енгізіњдер.



137

3.

;



:

min


1

a

=

    



.

:

max



1

a

=

4.   



2

:

=



i

5.

Егер  



max,

>

i



a

онда 6 п. љтіњдер, ѕйтпесе 7 п. љтіњдер.

6.

;

:



max

i

a

=

 9 пунктке љтіњдер.



7.

Егер  


max,

<

i

a

онда 8 п. љтіњдер, ѕтпесе 9 п. љтіњдер

8.   

.

:



min

i

a

=

9.    



.

1

:



+

=

i



i

10. Егер  

,

n

i

<

  онда 5 пунктке љтіњдер, ѕйтпесе 11 пунктке љтіњдер.

11.

(

)



min

max,


 жауапќа шыѓарыњдар.

12. Соњы.



3.4. Блок – схемалар

Блок-схема – арнайы геометриалыќ фигуралар, нђсќамалар арќы-

лы орындалатын ѕрекеттер мен олардыњ орындалуы ретін  кљрсететін

графиктік схемалармен берілетін алгоритм. Алгоритмніњ  ѕр пункті

геометриялыќ фигура – блоктыњ ішінде бейнеленеді. Орындалатын іс-

ѕрекеттердіњ  тџріне  ќарай  оларѓа  ѕртџрлі  геометриялыќ  фигуралар

сѕйкес келеді. Геометриялыќ фигуралар арасындаѓы байланыс жолда-

ры нђсќама арќылы кљрсетіледі.

Алгоритмді блок-схема тџрінде жазѓанда арнайы ќабылданѓан мем-

лекеттік џлгі бойынша мына блоктарды пайдаланады: алгоритмніњ басы

мен соњын элиппс (алгоритмніњ аргументтері мен нѕтижелерін), алго-

ритмде мѕліметтерді енгізу мен шыѓаруды параллелограмм, аќпарат-

ты љњдеуді (есептеулерді) тіктљртбђрыш, шарттарды тексеру ромб фи-

гураларыныњ ішіне жазылады (1- кесте).

Блоктардыњ  атќаратын  ќызметіне  байланысты  олардыњ  ішіне  жѕне

жанына тџсініктеме сљздер жазылады. Олар оќуѓа ыњѓайлы болуы керек.

Блок-схема алгоритмді сипаттаудыњ графикалыќ тѕсілі. Блок-схема

деп,  баѓыталѓан  байланыс  нђсќамалармен  геометриялыќ  фигуралар

формасында алгоритмді графикалыќ тџрде жазуды айтады. Ал ѕрбір

фигура алгоритмніњ бір ѕрекетін бейнелейді олардыњ арасындаѓы нђсќа-



138

малар  фигурадан  фигураѓа  алмасуды  білдіреді.  Блок-схемада  алго-

ритмді басќару кљрнекілігін аныќ кљруге болады.

Блок-схема  пайдаланатын  геометриялыќ  фигуралар  блоктыќ  -



тањбалар, ал, байланыс  – нђсќамалар аѓын сызыѓы деп аталады. Аѓын

сызыѓы фигурадан фигураѓа љту жолын кљрсету, яѓни аќпараттарды

жѕне мѕліметтерді љњдеудіњ ретін кљрсету џшін пайдаланылады.

Ѕрбір  блок-схеманыњ  басы  жѕне  соњы  болады.  Барлыќ  блоктар

аѓыны сызыќтармен байланысады. Ѕрбір блокта, «басы» , «соњы» -

ќызметші блоктардан басќасында, аќпарат аѓыныныњ бір кіру жѕне бір

немесе екі шыѓу сызыќтары болады.

Енді жоѓарыда (§

 

3.) келтірілген есептердіњ алгоритмдерін блок –



схема тџрінде жазайыќ.

1 -


 кесте

Алгоритмді блок-схема тџрінде жазуда ќолданылатын

геометриялыќ  фигуралар



Тањбаныњ  

аталуы 

Тањба 

Атќаратын 

  кызметі 

1.  


Басы – соњы 

(кіру – шыѓу) 

 

 

Алгоритмніњ басы 



мен соњы, кљмекші 

программаѓа кіру 

мен шыѓу 

 

2. 



Есептеу блогы 

(процесс) 

 

Есептеулер немесе  



есептеулер  тізбегі 

(аќпаратты 

ондеу) 

 

3. 



 

Логикалыќ блок 

 

  жоќ                         иѕ 



 

 

 



Шартќа 

байланысты  

алгоритмніњ 

орындалу  

баѓытын тањдау 

 

4. 



 

Енгізу – шыѓару 

блоктары 

 

 



Берілген 

деректерді ендіру 

жѕне нѕтижені 

жауапќа шыѓару 

5.  

Нђсќама 


 

 

 



Байланыс баѓытын 

кљрсету 


139

1 – есеп.  Екі  бџтін  санныњ  ењ  џлкен  ортаќ  бљлгішін  табу.(1-су-

рет).


                                                    

                                                                     

 

 

жоќ



 

                 

          иѕ                             жоќ     

Басы 


(

)

N



,

 

ендіру



 

N

M

EYOБ: 



M

=

 



EYOБ 

Жауапќа шыѓару 

Соњы 

N

M

>

N



M

M

=



:

 

M



N

N

=



:

 


140

2-есеп. Шекті сандыќ тізбектіњ максимумы мен минимумын табу

алгоритімініњ блок-схемасы 2 – суреттте келтірілді.

2-сурет


141

Сонымен, блок-схема алгоритмді бейнелеудіњ, жазудыњ ыњѓайлы ѕрі

кљрнекі тѕсілі болып табылады. Мђнда алгоритмді бейнелеуде неѓђрлым

аныќ  болу  џшін  бљліктерге  ќадамдарѓа  бљлуге  ешќандай  шектеу

ќойылмайды.

3-есеп.  Герон  формуласы  бойынша  џшбђрыштыњ  ауданын

есептењдер: 

(

)(



)(

)

c



p

b

p

a

p

p

S

+



=

  



2

c

b

a

p

+

+



=

Есептеу алгоритмін блок-схема тџрінде былай бейнелеуге болады:



142

4 - есеп. Тљмендегі тењдеулер жџйесініњ мѕнін есептењдер

3.5.  Орындаушы  тџсінігі.

Орындаушыныњ  жарлыќтар  жџйесі

Есепті шешу алгоритмі деп жазбаша жарлыќтардыњ тізімі аталады,

яѓни оны орындау барысында есептіњ шешімін, не берілген мѕндерде

есептіњ шешімі жоќ екендігі туралы жауап алуѓа болады. Жалпы жаѓ-

дайда есептер ѕр тџрде бола алады. Мысалы, мектепке бару жѕне џйге

ќайту, жолайрыѓындаѓы баѓдаршамнан љту, шѕй ќайнату, тамаќ пісіру

жѕне т.с.с. есептер љмірде кљптеген тџрде кездеседі. Мђндай есептерді

шешу  алгоритмдерін  тђрмыстыќ  алгоритмдер  деп  атауѓа  болады.

Адамзат ќызметінде кљптеген љмірлік тѕжірибеден туындайтын ѕрекет-

тер, ќоѓам зањдары ѕртџрлі алгоритмдер жиынтыѓынан тђрады.

Алгоритм тџсінігі есепті шешу ѕдісі тџсінігімен тыѓыз байланысты.

Ѕдіс деп ќатањ негізделген есепті шешу тѕсілі мен оны ќолдануѓа бо-

латын берілген мѕліметтер бойынша есептер тобын аныќтау маќсатын-

да ќђрылѓан тѕсілді зерттеуді айтады.

Ал, алгоритм есепті шешу жѕне практикада ќолдану ѕдісін сипаттау

болып табылады. Ол ѕдісті зерттеу нѕтижесі бойынша ќђрылады. Ал-

горитм есепті шешу џшін орындалатын ѕрекеттердіњ ќатањ жазбалары-


143

ныњ реттелген тізбегі болып табылады. Бђл ѕрекеттер шешу ѕдісінен

туындайды.

Алгоритмніњ  ќасиетті  сапаларыныњ  бірі – орындаушыдан  шешу

ѕдісін, яѓни жазылѓан ѕрекеттерді не џшін орындау ќажеттігін тџсінуді

талап етпейді. Орындаушыдан жазылѓан ѕрекеттерді орындай алуды

жѕне ќаѓидаларды тџсінуді талап етеді.

Орындаушы алгоритмді ќаѓида-жарлыќтардыњ ізімен “механика-

лыќ” тџрде орындайды. ЭЕМ-ді, алгоритмді орындау ќђралы ретінде

пайдалану мџмкіндігі осыѓан негізделген.

Алгоритм ѕрќашанда орындаушы џшін жазылады. Ол адам, ЭЕМ

жѕне т.б. ќђрылѓы болуы мџмкін. Алгоритмді сипаттау, орындаушыѓа

жазылѓан ѕрекеттер тџсінікті болуы џшін соныњ тілінде жџзеге асыры-

лады.


Ќосымша  толыќтырушы  тџсінік  енгізейік.  Жеке  жазбаларды

(сљйлемдерді) – алгоритм жарлыѓын жарлыќ деп атайыќ. Алгоритм

жарлыќтар тізбегі болып табылады. Орындаушы тџсінетін жѕне орын-

дай алатын барлыќ жарлыќтар жиынын орындаушыныњ ж а р л ы ќ т а р

ж  џ  й  е  с  і    деп  атайыќ.  Сонымен,  орындаушыныњ  барлыќ  іс-ѕрекетін

сипаттайтын жарлыќтар жџйесі орындаушыныњ тілі болып табылады.

Мысалы, ЭЕМ џшін жарлыќтар жџйесі - ќосу, азайту. кљбейту, бљлу

жѕне сандарды салыстыру (дѕрежелеу).

Сондыќтан,  алгоритм  ѕр  кезде  де  орындаушыныњ  жарлыќтар

жџйесініњ мџмкіндігіне байланысты жазылады.

Алгоритмніњ мынадай тџрлері белгілі – есептеу алгоритмдері, диа-

логтыќ алгоритмдер, графикалыќ алгоритмдер, мѕліметтерді љњдеу ал-

горитмдері, роботтарды басќару алгоритмдері, жѕне т.б.

Алгоритмді жазудыњ бірнеше тѕсілдері ќалыптасќан: формула, кес-

те, сљз, графикалыќ, алгоритмдік программалау тілінде сызыќты тџрде

жѕне  т.б.  Біз  жоѓарыда  алгоритмді  сљз  тџрінде,  блок-схема  тџрінде

сипаттауѓа  тоќталѓанбыз.  Сол  графикалыќ  сипаттауды  алгоритмніњ

блок-схемасы деп атайды. Алгоритмді программалау тілінде жазуды –

программа деп атаймыз.



Программалау  тілі  деп,  орындаушы  ЭЕМ  џшін  жазылѓан  алго-

ритмді сипаттайтын тілді айтамыз. Ал баѓдарламалау деп алгоритмді

баѓдарламалау тілінде жазу процесін айтады.

Программалардыњ мынадай тџрлері бар: ЭЕМ-ге арналѓан програм-

малар, станокты, роботтарды жѕне басќа ќђрылѓыларды басќаруѓа ар-

налѓан программалар.



144

Келесі параграфтарда бірнеше есептерді шешу алгоритмдерін сљз

жџзінде жѕне блок-схема тілінде жазып кљрсетуге тоќталамыз.

Алгоритмді сљз жџзінде сипаттаѓанда, жазѓанда, ѕрбір жарлыќты

нљмірлеп отырамыз, себебі, ол алгоритмді орындау барысында ќайда

кљшу, љту керектігін кљрсетіп отыру џшін ыњѓайлы болады. Сонымен

ќатар ќосымша: “басы”, “соњы”, (“џзу”), ќызметші жарлыќтарды пай-

даланатын боламыз. Бђл жарлыќтар алгоритмніњ басын, соњын жѕне

одан ѕрі орындау мџмкін болмаѓан жаѓдайда алгоритмніњ орындалу-

ын  џзуді  білдіреді. “Соњы”  жарлыѓынан  бђл  жарлыќтыњ  ерекшелігі

алгоритмніњ орындалуын кенеттен џзу арќылы аяќтауды білдіреді.

3.6. Алгоритмніњ тџрлері

Алгоритмдер џш тџрге бљлінеді. Олар: сызыќты, тармаќталушы жѕне

циклдік(ќайталанушы).

1-мысал. Формула бойынша есептењдер: x=ay+(bz+c)

а) Алгоритмді сљз тџрінде жазайыќ:

мђндаѓы a,b,c – аргументтер;



х –соњѓы нѕтиже;

P,S-аралыќ айнымалылар;

1. Басы


2. P:=a*y

3. S:=b*z

4. S:=S+c

5. X:=P+S

6. Жауабы: х

7. Соњы


ѕ) алгоритмді блок-схема тџрінде жазайыќ:

Бђл алгоритм сызыќты тџрдегі алгоритм болып табылады. Себебі,

ѕрбір команда алгоритмніњ орындалу барысында тек бір рет орындала-

ды.


145

2-мысал. Үш санды љсу реті бойынша  орналастырыњдар.

А) алгоритмді сљз тџрінде жазайыќ:

Шешуі: ќатар орналасќан кез келген џш санды – А,В,С деп белгі-

лейік. Мысалы: А=3, В=2, С=-4 болсын. Есепті шешу нѕтижесінде А-

ніњ мѕні ењ кіші сан, ол –4, ал С – ењ џлкен сан, ол 3 болады.

Мђндаѓы: А,В,С – аргументтер;

А,В,С – нѕтижелер;

S - ќосымша аралыќ айнымалы.

1. Басы

2. Егер А



В болса,  онда 4п љтіњдер.

3. S:=а; А:=В; В:= S (А,В-ніњ  мѕндерін алмастыру)

4. Егер В

С болса онда 9п. љтіњдер



5. Егер С

А болса онда 8п. љтіњдер



6. S:=С; С:=В; В:=А; А:=S (С

А



В болѓан жаѓдайды реттеу)

7. 9п. љтіњдер


146

8. S:=С; С:=В; В:=S (А<С<В болѓан жаѓдайды реттеу)

9. Жауабын шыѓару

10.Соњы


Алгоритмніњ орындалу барысында  алѓашќы  екі сан љсу  реті бой-

ынша орналастырылады. Егер А>В болса, онда олардыњ мѕндерін ал-

мастырамыз (3-команда), егер А

В  болса, онда 4п. љтеміз, ал ол кез-



де 3п. орындалмайды.

3 жарлыќта А,В мѕндерін алмастыру џшін S  аралыќ ђяшыѓы пай-

даланылады:

S:=А


А

S



(A=3,B=2, S=3);

А:=В


В

А



(A=2,B=2, S=3);

В:=S


S

В



(A=3,B=3, S=3).

Ары ќарай алгоритм С мѕніне байланысты  џш баѓытта тармаќталады.

Бђл  алгоритм  тармаќталушы  тџрге  жатады.  Егер  алгоритмніњ

жазылуында шарттыњ орындалуынан тѕуелді  командалар бар болса,

онда  оны  тармаќталушы  алгоритм  деп  атайды.  Бђл  мысалдаѓы:

3,5,6,7,8 командалар тармаќталушы, яѓни орындалуы шарттан тѕуелді,

ал 1,2,4,9 командалар ѕр кезде орындала береді.

ѕ) блок-схема тџрінде жазу(3-сурет):



3-мысалСандардыњ ќосындысын есептеу.

Шешуі. Белгілеулер енгізейік, п-тізбектегі сандардыњ саны, х



1



2

,

х

3

,…, х

п

-берілген сандар, s-ќосындыны жинайтын айнымалы.

Ќосындыны есептеу џшін сызыќты алгоритмді пайдалануѓа бола-

тын еді:


1.

Басы


2.

S:=х


1

3.

S:= S+х



2

4.

S:= S+х



3

N. S:= S+х



п

N+1.Соњы


Дегенмен,  бђлай  жазу  љте  кљп  жарлыќ  жазуды  ќажет  етеді.  Егер

п=2000  болса,  онда 2002 жарлыќ  ќажет  болады.  Ќайталану  шартын

ќосылѓан сандарды  санаушымен байланыстыра отырып, ќайталанушы

(циклдік) алгоритм ќђрайыќ жѕне оѓан сандардыњ индекс кљрсеткішін

енгізейік. Айнымалыныњ рет нљмірі индекстіњ мѕні болып табылады.

Индексті і айнымалыѓа енгізейік. Ќосынды, ѕрбір келесі санды ќосу

арќылы s айнымалыѓа жиналады. Алдымен s-ті нљлге тењестіреміз, ал



147

і=1. Сонда алгоритмніњ негізгі амалы  S:= S+х

і 

 болады. Ал, индекс і:=



і+1  бойынша і>п болѓанша љзгере береді.

Бђл жаѓдайда і индексі ќосылѓан  сандарды санаушы болып табы-

лады. Ол тікелей санаушы деп аталады да љсіп отырады.

Дегенмен, сандарды ќосуды кері санаушы арќылы жџргізуге де бо-

лады. Ол кезде алдымен і:= п деп, ѕр жолы бірді азайтып і:= і-1 отыру

керек. Бђл кезде ќайталану, шарт і>0 болѓанда жџзеге асады.



148

1. Мђндаѓы: п,х



1



2

, х

3

,…, х

п

- аргументтер;

 S-нѕтиже;

  і-аралыќ айнымалы.

1. Басы


2. S:=0

3. і:= 1


4. S:=х

1

5. і:= і+1



6. Егер і



п болса, онда 4пунктке љтіњдер.

7. Жауабы: S

8. Соњы


2. п санды кері ќарай санау бойынша ќосудыњ алгоритмі

    Мђндаѓы: п,х



1



2

, х

3

,…, х

п

- аргументтер;

    S-нѕтиже;

    і-аралыќ айнымалы.

1. Басы


2. S:=0

3. і:= п

4.S:= S+х

1

5. і:= і-1



5. Егер і>0 болса, онда 4 пунктке љтіњдер.

6. Нѕтиже: S

7. Соњы

3-мысал.  П  санныњ  ішіндегі  ењ  џлкенін  табу  жѕне  оныњ  рет

нљмірін  (индексін)  кљрсету.

Мђндаѓы: п,х



1



2

, х

3

,…, х

п

- аргументтер;

Р,m-нѕтиже;

 m -аралыќ айнымалы.

1. Басы


2. P:=х

1

; m:=1;



3. і:= 2;

4. Егер x

і



P болса, онда 6п љтіњдер.



5. P:=х

і

; m:=і;



6. і:= і+1

7. Егер і



п болса, онда 4 пунктке љтіњдер..

6. Нѕтиже: P, m

7. Соњы

Бђл  ќайталанушы(циклдік)  алгоритм,  тікелей  санаушы  бойынша



149

басќарылады жѕне Р-ѓа мѕнін, ал m-ге бірді меншіктеуден басталады.

Цикл санаушысыныњ мѕні 2-ден басталады. Ал бірінші санды, бір сан-

нан тђратын сандар жиынындаѓы ењ џлкені болѓандыќтан оны љњдел-

ген деп есептедік.

Бђл алгоритм п



2 џшін орындалады.

Енді осы циклдік алгоритмдерді блок-схема тџрінде жазайыќ:



а)  п  санныњ  ќосындысын  тікелей  санаушы  арќылы  есептеудіњ

блок-схемасы:

150

ѕ) 2- алгоритмніњ блок-схемасы.

Кері санаушы  арќылы п  санныњ ќосындысын есептеу блок-схема-

сы(циклдік алгоритм).

б) 3-  алгоритмніњ  блок-схемасы.  h  санныњ  ішіндегі    ењ  џлкенін

іздеу. (циклдік алгоритм).



151

3.7. Кљмекші алгоритм тџсінігі

Алгоритмдерді жазу барысында кейде алгоритмдегі ѕрекеттердіњ

кейбір бљліктері – ѕр тџрлі мѕндер џшін бірнеше рет ќайталанып оты-

ратындыѓы  байќалады.  Сонымен  бірге  кейде  бірнеше  алгоритмді

біріктіру арќылы ауќымды мѕселені шешуге  арналѓан алгоритм ќђруѓа

болады. Мђндай жаѓдайда олардыњ біреуін негізгі алгоритм, ал ќалѓан-

дарын кљмекші алгоритм тџрінде ђйымдастырып жазады.  Кљмекші

алгоритмдер  негізгі алгоритмге  ќажетті дербес  нѕтижелерді алу џшін

ќажет болады. Олардыњ орындалуы негізгі алгоритмніњ ішінде  кљмекші

алгоритмге  сілтеме жарлыќтар жазылады. Кез келген алгоритмді ќажет-

тілігіне ќарай  басќа алгоритм џшін  кљмекші алгоритм тџрінде  пайда-

лануѓа болады.

    Кљмекші алгоритмді пайдаланѓанда, негізгі алгоритмніњ  кљлемі

кішірейеді.  а)  кљмекші  алгоритмді  шаќыру  алдында  оныњ  белгісіз

шамалары  ќажетті  мѕндерге  ие  болуы  керек;  б)  кљмекші  алгоритм

шаќырусыз  љздігінен орындалмайтын болуы керек.

Енді кљмекші алгоритмдерге мысалдар ќарастырайыќ.

1-мысал.  Берілген  фигураныњ  ауданын  табыњдар.  Трапецияныњ

ауданын есептеу формуласын кљмекші алгоритм тџрінде жазыњдар

h

b

a

T

+



=

2

 S=S1+ S2+S3



Мђндаѓы

х,у,z,t,h1,h2,h3 –аргументтер

S-нѕтиже


S1,S2,S3-  аралыќ

1. Басы


2. a:=x; b:=y; h:=h1.

3. 10п. љтіњдер: S1:=T.

4. a:=y; b:=z; h:=h2.

5. 10п. љтіњдер: S2:=T.

6. a:=z; b:=t; h:=h3.

7. 10п. љтіњдер: S3:=T.

8. S=S1+S2+S3.


152

9. Соњы.


10.Басы

11. Т=(a+b)-h/2.

12.Соњы.

2-мысал. Биквадрат тењдеуді шешу алгоритмі

ах

4



+ bх

2

+ c=0



y= х

2

 деп белгілеу арќылы квадрат тењдеу аламыз:



ау

2

+ bу+ c=0



биквадрат тењдеудіњ тџбірлері былай табылады:

мђндаѓы a,b,c-аргументтер

х

1

, х



2

, х


3

, х


4

, d1,d2-нѕтижелер

1. Басы

2. а,b,с;



3. 9п. љтіњдер; у

1

; у



2

;

4. Егер у



1

<0, онда x

1

, x



2

 тџбірлері жоќ. 6п. љтіњдер

5. Егер у

1



0, онда х

1

:=- sqrt (у



1

); х


2

:=-х


1

6. Егер у

2



0, онда х



3

, х


4

 тџбірлері жоќ. 8п. љтіњдер

7. Егер у

1



0, онда х

2

:=- sqrt (у



2

); х


4

:=-х


3

8. Соњы


9. Басы.

10.D:=b


2

-4ac


11. Егер D<0, онда тењдеудіњ шешімі жоќ. (шешімі  комплекс сан-

дар)


12.

13.  Соњы



3-мысал. Берілген дљњес џшбђрыштыњ ауданын табыњдар.

a,b,c- аргументтер;

S-нѕтиже;

S1, S2, Р – аралыќ шамалар;



153

1. Басы


2. a:=АВ; b:=BD; c:=DA;

3. 8п. љтіњдер: S1:= S

4. a:= BD; b:=BD; c:=BC;

5. 8п. љтіњдер: S2:= S

6. S:= S1+ S2;

7. Соњы.


8. Басы

9.

10.Соњы.



3.8. ЭЕМ-де есеп шыѓару кезењдері Ќадам бойынша есептеу ѕдісі

Кез келген есепті ЭЕМ-де шешу бірнеше кезењдерден тђрады:

1) есептіњ ќойылуын ђѓу(тџсіну);

2) формалдау дењгейі (есептіњ математикалыќ тџрде ќойылуы);

3) шешу ѕдісін тањдау(немесе ќђрастыру);

4) алгоритмін жазу (ќђру);

5) программасын ќђру;

6) программаныњ дђрыстыѓын тексеру;

7) есептеу жѕне нѕтижелерді љњдеу.

Жалпы айтќанда аталѓан кезењдерді орындау – программаны ќђру,

тексеру жѕне орындау ѕрекетін ќамтиды. Бђлай кезењдерге бљлу шартты

тџрде ѓана болып табылады. Ал бђѓан ќосымша жалпы тџрдегі жѕне

ќажетті кезењдерді ќарастыруѓа болады. ЭЕМ-ді пайдаланушы есептер

шешу процесінде мынадай кезењдер программалау тілін тањдау, мѕлімет-

тердіњ ќђрылымын сипаттау, программаны ыќшамдау, тестілеу, доку-

менттеу жѕне т.б. орындалады.




Достарыңызбен бөлісу:
1   ...   7   8   9   10   11   12   13   14   ...   28




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет