Интербелсенді
тақтадан өзім дайындаған слайдтарды көрсетемін.
Тармақталған алгоритмдердің программасын құру үшін
шартты операторларды пайдаланамыз. Осы уақытқа дейін біз сызықтық
алгоритмдерге бағдарлама құрып келдік. Яғни, берілген есепте ешқандай шарттар
болмаған. Ал, бүгінгі сабағымызда берілген есепте бір немесе бірнеше шарт
кездесетін жағдайды қарастырып, оған программа құрамыз. Ал бұл алгоритм түрі
тармақталған алгоритм.
Әрекеттердің мүмкін бағыттарының әрқайсысы тармақ
деп аталады, кейбір шарттың орындалуына байланысты әрекеттердің атқарылу
реттілігі белгілі бір тармақ бойынша жүруі мүмкін. Мұндай алгоритмдер
тармақталған алгоритмдер деп аталады.
Шарт дегеніміз ─«иә» немесе «жоқ»
болатын ұйғарым.
Тармақталған алгоритмдер – алгоритмде
арифметикалық теңсіздік пен теңдік түрінде берілген логикалық шарт тексеріледі.
Логикалық шарт тексеріледі, егер орындалса, онда 1 – жолмен, ал егер
орындалмаса, онда 2-ші жолмен жүзеге асады да, соңында екі тармақ бірігеді.
Мұндай алгоритмдерді шарт тексеру, яғни тармақталу алгоритмдері деп атаймыз.
Блок схемасында шарт тексеру блогы – ромб қолданылады.
Мысалы,
“қар жауса” шартының орындалуына байланысты екі әрекеттің біреуі ғана
орындалады.
Шартсыз көшу операторы.
Паскаль тілінде негізінде операторлар ретімен
орындалады. Олардың бұл орындлу тәртібін өзгерту үшін көшіру операторы GOTO
пайдаланылады. Бұл оператор бойыша, программаны басқару белгісі көрсетілген
операторға көшіріледі. Белгі ретінде таңбасыз 1-9999 дейінгі бүтін сан немесе
символ пайдаланылады. Әдетте, шартсыз көшіру операторы программаның кейбір бөліктерін
орындамай өтіп кетуі үшін пайдаланылады. Көшіру операторы қарапайым оператор
қатарына жатады.
Мысалы:
GOTO 34
10:
А:=2
34:
У:=Х/Z
Мұнда
GOTO 34
операторынан соң 34 белгісі бар оператор орындалады, ал жол
басындағы
10, 34 бұлар
белгілер.
Шартты көшу операторы.
Тармақталу операторы көрсетілген шартқа тәуелді
құрамына кіретін операторлардың орындалуын немесе орындалмауын қамтамасыз
етеді. Тармақталған алгоритмдерді бағдарланған кезде мынадай қызметші сөздер
қолданылады: if - егер , then – онда , else - әйтпесе.
Оператор
программадағы іс-әрекеттердің орындалу реттілігін өзгертетін мүмкіндіктің ең
кең тараған тәсілі болып табылады. Толық оператордың жазылу түрі:
{Егер
шарт онда 1 оператор әйтпесе 2 оператор орындалады.}
IF
<шартты өрнек> THEN <1 оператор> ELSE <2
оператор>;
Егер
шарттың мәні «ақиқат» болса, THEN сөзінен кейінгі оператор, ал мән «жалған»
болса, ELSE сөзінен кейінгі оператор орындалады.
Қысқа
оператордың жазылу түрі:
IF
<шартты өрнек> THEN <1 оператор> ;
Тармақталудың орындалу
түрлері:
Блок-схема
|
Алгоритмдік тіл
|
Pascal тілі
|
|
Тармақталу командасы:
а) толық пішіні:
егер шарт
онда 1 серия
әйтпесе
2серия
ә) қысқартылған түрі
егер шарт
онда
серия
әйтпесе
|
Шартты оператор:
If шарт then begin
1-серия
end
else begin
2-серия
end;
|
Шарт
өрнегін жазу үшін мынадай салыстыру белгілерін пайдаланамыз:
=
|
Тең
|
<
|
Кіші
|
<=
|
Кіші
немесе тең
|
>
|
Үлкен
|
>=
|
Үлкен
немесе тең
|
<>
|
Тең
емес
|
Және,
немесе, емес қызметші сөздерімен біріктірілген, бірнеше қарапайым шарттардан
тұратын шарттар құрама шарттар деп аталады. Логикалық операциясы бар күрделі
шарт қарапайым шарттардың екеуі де орындалған жағдайда ғана ақиқат деп
есептеледі.
Pascal
тілінде логикалық операцияларды енгізейік:
Алгоритмдік тілде жазылуы
|
Pascal тілінде жазылуы
|
және
немесе
емес
|
and
or
not
|
Мысал:
Алг ЕСҮТ(арг нақ А,В, нәт лит
max)
басы
енгізу
А,В
егер А>B
онда max:=A
әйтпесе max: =В
бітті
шығару
max
Соңы
Жауабы:
Program ECYT;
Var a,b,y:real;
begin
readln(a,b);
if a>b then y:=a else
y:=b;
writeln(‘y=‘,y);
end.
2 мысал:
Program esep2;
var
a,b,c,d:real;
begin
writeln(‘a,b,c engis’);
readln(a,b,c);
D:=sqr(b)-4*a*c
If d>0 then
begin x1:=(-b+sqrt(d))/2*a;
x2:=(-b-sqrt(d))/(2*a)’);
Writeln(‘x1=‘,x1:4:2);
Writeln(‘x2=‘,x2:4:2);
end;
Else if D=0 then
begin x:=-b/2*a;
end.
|
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.