Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

І. Шарты алдын – ала берілген цикл операторы




Көптеген есептерді шығару кезінде есептеу процесі циклдік характерде болады, яғни қайсыбір операторларды айнымалының әр түрлі мәндерінде бірнеше рет орындауға тура келеді. Осындай кезде циклдік операторды қолданамыз.

Паскаль тілінде цикл операторының үш түрі бар:

1. шарты алдын-ала берілген цикл операторы

2. шарты соңынан берілген цикл операторы

3. параметрлі цикл операторы.

Құрамына басқа да операторлар кіретіндіктен цикл операторы күрделі операторы деп аталады.

Егер циклдің қанша ретқайталанатыны алдын-ала белгісіз болса, онда шарты алдын-ала берілген циклді пайдаланамыз.

Шарты алдын-ала берілген цикл операторының жазылу формасы:

While <логикалық өрнек> do

Begin

[циклдік бөлік операторлары]

end.

мұндағы while (әзірше) және do (орында) қызметші сөздер.

Шарты алдын-ала берілген цикл операторының қолданылуынан программа үзіндісін қарастырайық:

A:=1;

N:=1;

While 2*A<=3*N+1 do

Begin

A:=A+2;

N:=N+1

End.

Шарты алдын ала тексеретін қайталану саны белгісіз цикл операторы WHILE шарт ақиқат болғанда ғана орындалады. Егер шарт жалған болса, бұл цикл бір рет те орындалмауы мүмкін. Бұл оператордың орындалу желісі 1.1-суретте келтірілген, ал жазылу түрі:

жоқ
WHILE <шарт> DO <оператор>;

{бір оператор қайталанады}

немесе суреттегі алгоритмге сәйкес иә

WHILE <шарт> DO

{бірнеше оператор қайталанады}

BEGIN

<1-оператор>;

<2-оператор>;

<n-оператор>;

END.

 

 

1.1-сурет

ІІ. Шарты соңынан берілген цикл операторы

Бұл операторды циклдың қанша рет қайталанатыны белгісіз болған жағдайда қолданамыз. Цикл операторының жалпы түрі:

REPEAT

[циклдық бөлік операторлары]

UNTIL <логикалық өрнек>

Мұндағы repeat (қайталау) және until (болғанға дейін) қызметші сөздер. Мұнда алдымен цикл операторы орындалып шарт соңынан тексеріледі.

Мысалы:

у=х2 функциясының х=8, 6, 4, 2 болғандағы мәндерін есептеп шығарыңыз.

Программа үзіндісі:

x:=8

repeat

y:=sqr(x);

writeln(x:3, y:5);

x:=x-2;

until x<0.

Шарты цикл соңында тексерілетіндіктен REPEAT (қайталау) операторы ең болмағанда бір рет орындалады. Циклдің орындалуы шарт ақиқат болғанда ғана тоқталады. Оның жазылу түрі:

REPEAT <оператор> UNTIL <шарт>; {бір оператор қайталанады}

Ал бірнеше оператор қайталанатын жағдайдағы бейнеленуі 1.2-суретте келтірілген, ал жазылуы:

REPEAT <1-оператор>;

<2-оператор>;

<n оператор>

UNTIL <шарт>;

Бұл жерде құрамалас оператор REPEAT және UNTIL сөздерінің арасында орналасып, басқа түйінді сөздер жазылмайтыны көрініп тұр. Бұл операторды да WHILE операторын пайдаланған есептерде қолдануға болады, қай операторды пайдалану программалаушының өз еркіне байланысты шешіледі.

 

 

жоқ
1.2-сурет
ІІІ. Параметрлі цикл операторы.

Программаның циклдық бөлігі неше рет қайталанатыны алдын-ала белгілі болған жағдайда қолданылады. Цикл операторының жазылу түрі:

FOR I:=M1 TO M2 DO

BEGIN

[циклдық бөлік операторлары]

END.

Мұндағы for (үшін), to (дейін), do (орында) қызметші сөздер; i-цикл параметрі; m1, m2-циклдің алғашқы және соңғы мәндері. Көбінесе параметрлі циклде i-бүтін типті айнымалы ретінде қолданылады, ал оның қадамы +1 немесе –1 болады.

FOR операторы. FOR операторы цикл параметрі (айнымалы) өзінің алғашқы мәнінен соңғы мәніне дейін бірлік қадаммен өзгеру барысында циклге кіретін бір немесе бірнеше операторды қайталау ісін атқарады.

1) Цикл барысында оның параметрінің мәні біртіндеп өсетін болса, TO түйінді сөзі қолданылады. Тек бір оператор қайталанатын кездегі оның жазылу түрі мен орындалуының алгоритмдік схемасы 1.3-суретте көрсетілген.

j=n1, n2, 1

 

 

1.3-сурет

Ал егер циклде бір ғана емес бірнеше оператордан тұратын құрмасалс оператор қайталанатын болса, онда оператордың орындалуы 1.4-суретте көрсетілгендей болады да, жазылу түріне BEGIN, END түйінді сөздері кіреді.

2) Цикл параметрінің алғашқы мәні соңғы мәнінен артық болған жағдайда (n1>n2), яғни қадамы –1 болып кемитін кезде FOR операторының жазылу түрі өзгешелеу болады:

FOR i:=n1 TO n2 DO

j=n1, n2, 1 BEGIN

<1-оператор>;

<2-оператор>;

<n-оператор>;

END;

{бірнеше операторлар қайталанады}

 

1.4-сурет

 

 

FOR i:=n1 DOWNTO n2 DO <операторлар>;

{бір оператор қайталанады}

мұндағы DOWNTO-түйінді сөз, “кері қарай” болып аударылады; BEGIN және END түйінді сөздерімен қоршалған құрмалас оператор қайталанатын жағдайда бұл оператордың төмендегідей болуы тиіс:

FOR i:=n1 DOWNTO n2 DO

BEGIN

<1-оператор>;

<2-оператор>;

<n-оператор>

END;

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...