20
Алдын ала
анықталған
процесс
(подпрограмма)
Қосалқы
программаларға
кіру және шығу
Шешім
Есеп шығару
жолын таңдау
Енгізу-шығару
Мәліметтерді енгізу
және шығару
Модификация
Цикл басы
Қҧжат
Нәтижені баспаға
(қағазға) шығару
Тҥсініктеме
Схеманы,
формулаларды
тҥсіндіру
Сонымен, алгоритм блоктармен немесе геометриялық кӛпбҧрыштар тҥріндегі
фигуралармен ӛрнектеледі. Әр блоктың ішіне орындалатын іс-әрекеттің (амалдың) мазмҧны
жазылады. Символдардың (блоктардың) бір кіру және бір шығу сызықтары болуға тиіс.
Алгоритмдер блоктардың ӛзара байланысуына қарай ҥш тҥрлі бірыңғай
қҧрылымға – сызықтық, тармақтық және циклдік болып бӛлінеді.
1.8 Алгоритмдердің бірыңғай құрылымы
Кҥрделі алгоритмдерді қҧру ҥшін қарапайым бірыңғайланған алгоритмдік
қҧрылымдар қолданылады. Олар сызықтық, тармақталу және цикл (қайталау)
қҧрылымдарынан тҧрады. Программалау теориясында кез келген кҥрделі
программаны ҥш тҥрлі қҧрылымнан қҧрастыруға болатыны дәлелденген, олар:
сызықтық, тармақты және циклдік қҧрылымдар. Осы ҥшеуі қҧрылымдық
программалаудың негізгі конструкциялары, яғни қҧраушылары болып
саналады (1.2-кесте).
a
b
0,25a
b
a
b
a
а
a
b
a
0,5a
a
b
21
Сызықтық құрылым бірінен кейін бірі орындалып тізбектеле орналасқан
бірнеше операторлардан тҧрады.
Тармақты – шартқа байланысты екі оператордың бірінің орындалуы.
Цикл – операторлар бӛлігінің бірнеше рет қайталана орындалуы.
Оператор – тілдің қарапайым сӛйлемі, ол белгілі бір әрекет немесе амал
орындап, ; таңбасымен аяқталады.
Негізгі конструкцияларды пайдалану мақсаты – қарапайым қҧрылымды
программа алу болып саналады. Мҧндай программалар оңай оқылады, тҥзе-
тіледі және керек болса, оңай ӛзгертіледі. Қҧрылымдық программалауда goto
операторын қолдануға болмайды, ӛйткені ол программа логикасын тҥсінуді
қиындатады. Бірақ кейде goto операторын қолдану қажет болатын кездер
болады.
Алгоритмдердің бірыңғай құрылымдары
1.2 кесте
Сызықтық
қҧрылым
Тармақты қҧрылым
Циклдік қҧрылым
Программа жҧмысын басқару операторларын программаның басқарушы
конструкциясы деп атайды. Олар:
қҧрама операторлар;
таңдау операторлары;
цикл операторлары;
кӛшу операторы.
1. Сызықтық құрылымды алгоритм немесе қарапайым сызықтық алгоритм
іс-әрекеттердің орындалу ретіне қарай тізбектеле орналасқан блоктардан
тҧрады. Амалдардың бҧлай бірінен соң бірі реттеліп орындалу тәртібін табиғи
атқарылу дейді.
Мысалы, y = a + b формуласы бойынша есептеу тіктӛртбҧрыш арқылы
кескінделетін есептеу блогы (3-блок) арқылы ӛрнектеледі. Ал нәтижені қағазға
басу ҥшін кӛпбҧрышты қҧжат алу блогын (4-блок) пайдаланып, оның ішіне
нәтиженің атауларын жазамыз. Жоғарыда кӛрсетілген y=a+b формуласымен
есептеу ҥшін a және b-ның сандық мәндерін компьютерге енгізіп (2-блок),
содан кейін қосу амалын орындап, ақырында y-ті экранға (қағазға) басып
шығарып, жҧмысты тоқтатамыз. Осы алгоритмнің схемасы 1.2-суретте
кӛрсетілген, ал оның жанында Паскаль және С тіліндегі программасы
жазылған. Программа мәтінін қҧру жолдарын келесі тарауларда қарастырамыз.
22
2. Тармақталу алгоритмдері. Тҧрмыста кездесетін алгоритмдер әртҥрлі
болып келеді. Олардың жиі кездесетін тҥріне алгоритмнің белгілі бір шарттың
орындалуына не орындалмауына байланысты тармақталып бірнеше жолдарға
бӛлінуі жатады.
Тармақталу алгоритмінің қҧрылымы қарапайым болып келеді. Мҧнда
арифметикалық теңсіздік (теңдік) тҥрінде берілген логикалық шарт тексеріледі.
Егер ол орындалса, онда алгоритм бір жолмен, ал орындалмаса екінші жолмен
жҥзеге асырылады, яғни есепті шығару жолы тармақталып екіге бӛлініп кетеді.
Тармақталу алгоритмдеріне шартты тексеру блогы міндетті тҥрде кіреді. Ол
ромб тҥрінде кескінделіп, басқа блоктармен бір кіру және екі шығу сызықтары
арқылы байланысады. Кӛбінесе тармақталу алгоритмдері екі тҥрде кездеседі,
олар "таңдау" және "аттап ӛту" мҥмкіндіктерін іске асыруға кӛмектеседі (1.3-
және 1.4-суреттер).
"Таңдау" жолымен тармақталуда берілген шарт тексеріледі (1.3-сурет), егер
ол шарт орындалса (шарт ақиқат болса), онда 2-амал жҥзеге асырылып, содан
кейін келесі 3-амалға кӛшеміз. Ал, егерде шарт орындалмаса, яғни оның
С тіліндегі программа:
#include
#include
main()
{
int a,b,y;
printf(“a, b =”);
scanf(“%i%i”,&a,&b);
y = a + b;
printf(“y = %i”, y);
getch();
}
a,b енгізу
енгiзу
2
1.2-с у р е т . Алгоритм
схемасы
1
басы
y := a+b
3
y
4
5
соңы
Паскальдағы программа:
Program P(іnput,output);
var a,b,y: integer;
begin
wrіte('a, b=');
readln(a,b);
y:= a + b;
wrіteln('y=',y:6:3);
readln;
end.
1.3 -сурет. "Таңдау" алгоритмі 1.4-сурет."Аттап ӛту" алгоритмі
. . .
. . .
...
1-амал
жоқ
2-амал
3-амал
...
иә
шарт
1 - амал
жоқ
2 - амал
3 - амал
иә
шарт
Достарыңызбен бөлісу: |