5.2 Алгоритмді жазу тәсілдері Алгоритмдегі жарлықтардың, нұсқаулардың берілу түріне қарай алгоритмді жазу әдістерін ажыратуға болады. Орындаушының өзіне тән біліміне байланысты арнайы таңбалар, сөздер, іс-қимылдар, схемалар арқылы алгоритмдерді жазудың тәсілдерін ұйымдастыруға болады.
Мысалы, цирктегі құстар мен жануарларға алгоритмдер арнайы дауыстар, іс-қимылдар арқылы, автокөлікті жүргізу алгоритмі, телевизор, магнитофонды жұмыс істету алгоритмі арнайы пернелерді басу, бұрау арқылы жүзеге асырылады; т.с.с. әртүрлі таңбалармен, белгілермен берілген алгоритмдер көп кездеседі.
Орындаушы –адам болатын жағдайда алгоритм көбінесе сөзбенжазылады. Сөзбенжазылған алгоритмдер, ретпен орналасқан сөйлемдерден (нұсқаулардан) тұрады. Сонымен бірге алгоритмдер арнайы таңбалар, блок-схемалар, формулалар, кесте түрінде, ноталар (сазгерлер үшін) арқылы жазылады.
Енді сөзбен жазылған алгоритмге мысалдар қарастырайық.
45
1-мысал. Екі бүтін санның ең үлкен ортақ бөлгішін (ЕYОБ) табу керек. Бұл есепті шешу, үлкен санды кішісінен бөлу арқылы, сонан соң кіші санды қалдыққа бөлу, бірінші қалдықты екінші қалдыққа бөлу және т.с.с. қалдық нөл болғанша тізбектей бөлу арқылы жүзеге асырылады. Саны бойынша ең соңғы бөлгіш нәтиже болып табылады.
Бастапқы берілген екі бүтін санды М және N деп белгілейік. Бөлуді қайталанып отыратын азайту амалымен алмастырайық. Онда алгоритмді келесі түрде ұйымдастыруға болады:
Басы
(M, N) енгізіңдер.
Егер M ≠ N болса, онда 4 пунктке, әйтпесе 7 пунктке өтіңдер.
Егер M > N болса, онда 5 пунктке, әйтпесе 6 пунктке өтіңдер.
M := M − N; 3 пунктке өтіңдер.
6. N := N − M; 3 пунктке өтіңдер.
EYOБ := M
EYOБ := M жауапқа шығару.
Соңы.
2-мысал. Максимум мен минимумды іздеу (табу) алгоритмі. Ол үшін бізге кез келген n нақты саннан тұратын шекті тізбек а1, а2,..., аі,…, аn берілсін. Сандардың саны аз болған жағдайда максимум мен минимумды оңай көрсетуге болады. Ал, егер n үлкен болса, онда есеп қиындайды. Бірнеше жүздеген көпразрядты сандардың ішінен максимум мен минимумын табудың қиындығы жоғары болады. Сондықтан, бір анықталған (тәртіпке) жүйеге сүйену қажет.
Мысалы, алғашқы мән ретінде максимум үшін де, минимум үшін де алғашқы тұрған санды алайық. Ары қарай ретімен әрбір санды максимумның мәнімен салыстырамыз. Егер келесі сан максимумнан үлкен болса, онда оны максимумның жаңа мәні ретінде қабылдаймыз (алғашқы мән «ұмытылып» отырады), онан соң келесі тұрған санға өтеміз. Егер қарастырылып отырған сан максимумнан үлкен болмаса, онда оны минимум ретінде алынған санмен салыстырамыз. Егер осы сан минимумнан кіші болса, оны минимумның жаңа мәні ретінде қабылдаймыз; егер бұл сан минимумнан кіші болмаса, келесі санды таңдауға өтеміз. Осындай әдіспен сандардың бәрін салыстыру арқылы максимум мен минимумның соңғы мәнін табамыз. Осы айтылған ережені сөзбен жазу тәсілімен былай жазуға болады:
Басы
(ai, i = 1, 2,..., n) енгізіңдер.
3. min := a1; max := a1.
i := 2
Егер ai > max, онда 6 п. өтіңдер, әйтпесе 7 п. өтіңдер.
max := ai; 9 пунктке өтіңдер.
Егер ai < max, онда 8 п. өтіңдер, әтпесе 9 п. өтіңдер
min := ai.
i := i +1.
10. Егер i < n, онда 5 пунктке өтіңдер, әйтпесе 11 пунктке өтіңдер.
(max, min) жауапқа шығарыңдар.
Соңы.
46
5.3 Блок-схемалар Блок-схема – арнайы геометриалық фигуралар, нұсқамалар арқылы орындалатын әрекеттер мен олардың орындалуы ретін көрсететін графиктік схемалармен берілетін алгоритм. Алгоритмнің әр пункті геометриялық фигура
– блоктың ішінде бейнеленеді. Орындалатын іс-әрекеттердің түріне қарай оларға әр түрлі геометриялық фигуралар сәйкес келеді. Геометриялық фигуралар арасындағы байланыс жолдары нұсқама арқылы көрсетіледі.
Алгоритмді блок-схема түрінде жазғанда арнайы қабылданған мемлекеттік үлгі бойынша мына блоктарды пайдаланады: алгоритмнің басы мен соңын элиппс (алгоритмнің аргументтері мен нәтижелерін), алгоритмде мәліметтерді енгізу мен шығаруды параллелограмм, ақпаратты өңдеуді (есептеулерді) тіктөртбұрыш, шарттарды тексеру ромб фигураларының ішіне жазылады (5.1-кесте).
Блоктардың атқаратын қызметіне байланысты олардың ішіне және жанына түсініктеме сөздер жазылады. Олар оқуға ыңғайлы болуы керек.
Блок-схема алгоритмді сипаттаудың графикалық тәсілі. Блок-схема деп, бағыталған байланыс нұсқамалармен геометриялық фигуралар формасында алгоритмді графикалық түрде жазуды айтады. Ал әрбір фигура алгоритмнің бір әрекетін бейнелейді олардың арасындағы нұсқамалар фигурадан фигураға алмасуды білдіреді. Блок-схемада алгоритмді басқару көрнекілігін анық көруге болады.
Блок-схема пайдаланатын геометриялық фигуралар блоктық - таңбалар, ал, байланыс – нұсқамалар ағын сызығы деп аталады. Ағын сызығы фигурадан фигураға өту жолын көрсету, яғни ақпараттарды және мәліметтерді өңдеудің ретін көрсету үшін пайдаланылады.
Әрбір блок-схеманың басы және соңы болады. Барлық блоктар ағыны сызықтармен байланысады. Әрбір блокта, «басы», «соңы» - қызметші блоктардан басқасында, ақпарат ағынының бір кіру және бір немесе екі шығу сызықтары болады.
Енді жоғарыда келтірілген есептердің алгоритмдерін блок–схема түрінде жазайық.
5.1-кесте
Алгоритмді блок-схема түрінде жазуда қолданылатын геометриялық фигуралар