Қайталау операторлары

Автор: Пользователь скрыл имя, 10 Февраля 2013 в 17:02, курсовая работа

Описание работы

Біз күнделікті өмірде белгілі бір әрекеттерді орындау барысында көптеген алгоритмдерді қолданып жүрміз. Осы тұрғыдан қарасақ, өмірді алда тұрған мәселелерді шешу қажет болатын алгоритмдер жиыны деп түсінуге болады. Бұл курстық жоба тақырыбында алгоритм құрастыру, жазу түсініктері беріліп, қазіргі кездегі кең тараған программалау тілінің бірі – Паскаль тілінің ерекшеліктері қарастырылады және оны пайдаланып математика, физика есептерін шығаруды компьютерде орындау жүзеге асырылады. Паскаль тілі қарапайым программалармен қатар, күрделі өндірістік мәселелерді шеше алатын құрылымды тіл болып табылады. Ол Бейсик тіліне қарағанда аздап күрделі болғанымен, компьютер үшін ыңғайлы, программа құру реттілігін алгоритмдік тәртіппен қарастыратын, оқушыларды іс-әрекет тәртбіне тәртібіне тәрбиелейтін тіл болып табылады.

Содержание

Кіріспе:.....................................................................................................................3
1-бөлім: Паскаль – программалау тілі
1.1 Паскаль тілінің негізгі элементтері.................................................................5
1.2 Тілдің алфавиті..................................................................................................8
1.3 Тілдің қарапайым объектілері.........................................................................13
2-бөлім: Паскаль тілінде программа дайындау жолдары
2.1 Программа құрылымы.....................................................................................15
2.2 Паскаль тілінің қарапайым операторлары.....................................................18
2.3.Паскаль тілінің басқару операторлары...........................................................21
3-бөлім: Қайталау операторлары
3.1 WHILE операторы............................................................................................25
3.2 REPEAT операторы..........................................................................................28
3.3 FOR операторы.................................................................................................30
3.4. Күрделі циклдер..............................................................................................34
Қорытынды.............................................................................................................36
Пайдаланылған әдебиеттер: .................................................................................38

Работа содержит 1 файл

Қайталау операторлары.doc

— 205.00 Кб (Скачать)

кесінен кейін шығарылады.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.2 REPEAT операторы

 

REPEAT операторы. REPEAT қайталау операторы WHILE операторына ұқсас, айырмашылығы – қайталану шарты цикл соңында тексеріледі, сондқтан ол кем дегенде бір рет орындалатын болады. Екінші өзгешелігі – цикл тұлғасы шарт жалған болғанда қайталанып, ол ақиқат болған кезде циклді орындау доғарылады (while операторында керісінше болатын).

Бұл оператор REPEAT (оқылуы: р и п и т, қайталау болып аударылады).

және UNTIL ( оқылуы: а н т и л, дейін, шейін болып аударылады ) түйінді сөз-

дерін пайдаланып орындалады. Оператор repeat сөзінен тұратын оның тақы-

рыбынан, цикл тұлғасынан және қайталау шартынан құрастырылады  да, синтаксистік диаграммасы кескінделеді:

REPEAT операторының  диаграммасы         СХЕМ

Диаграммаға сәйкес оның орындалуы мен жазылу түрі көрсетілген.

REPEAT операторының  блок-схемасы

Бұл жерде операторлар REPEAT және UNTIL сөздерінің арасына орналасатындықтан, мұнда BEGIN және END сөздері жазылмайды.

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

Цикл тұлғасы болып  келген оператор жай немесе құрама оператор бола береді.

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

PROGRAM EYOB;     ( * екі  санның ең үлкен ортақ бөлгішін  табу *)

               VAR n, m, x, e, y : INTEGER;

       BEGIN

                WRITE (`m, n сандарын енгізіңдер:`);

                READLN (m, n);

          x:= m; y:= n;

        REPEAT

           IF  x>y  THEN x:= x – y ELSE y:= y – x

           UNTIL      x=y;

          e:= x;

           WRITELN (` Ең үлкенортақ бөлгіш =`, e);

END.

x=2,  2.2, 2.4, 2.6, …, 4.0  болған  жағдайда  y = xтеңдеуінің мәндерін та-

буға арналған программа  құру керек.

program kesteleu;

          var  x, y: real;

begin

         writeln (`-------------`);

         writeln (`x             y`);

           writeln (`-------------`);

         x:= 2.0;

         repeat

         y:= x*x;

        writeln (` `, x : 4 : 1, ``, y : 8 : 3);

                  x:= x + 0.2;

         until x= 4;

         writeln (`--------------);

end.

Бұл программада цикл x-тің мәні 4-ке тең болғанша (яғни x=4  өрнегі ақиқат болғанша) қайталанады. Нәтиже кесте түрінде беріледі.

 

 

3.3 FOR операторы

 

FOR операторы. Циклдегі операторларды қайталау саны алдын ала белгілі болған жағдайда FOR операторы қолданылады. Бұл оператор  параметрлі цикл операторы деп те аталады, өйткені қайталау саны функция аргументі (айнымалы) сияқты циклдің параметрі қызметін атқаратын басқару айнымалысы арқылы беріледі. Параметр өзінің алғашқы мәнінен соңғы мәніне дейін бірлік қадаммен өзгеру барысында циклге кіретін бір немесе бірнеше операторды қайталап орындауды атқарады.

СИНТАКСИСТІК  ДИАГРАММА

Диаграммаға сәйкес оның жазылуы екі түрде болады:

for <айнымалы>:=<S1>  to <S2> do <оператор>;

for <айнымалы>:=<S1> downto <S2> do <оператор>;

мұндағы S1 және S2 – цикл параметрінің алғашқы және соңғы мәндерін анықтайтын өрнектер;  for … do – цикл тақырыбын анықтайтын түйінді сөздер;  <оператор> – цикл тұлғасы.

FOR – үшін, TO –дейін, DO – орындау деген мағынаны беретін  түйінді сөздер. Паскаль тілінде  цикл параметрі міндетті түрде бүтін немесе реттелген типтигі айнымалы болуы қажет. Параметрідің өзгеру қадамына байланысты операторда TO немесе DOWNTO (DOWN – төмен, TO – дейін, DOWNTO – кері қарай) түйінді сөздері пайдаланылады. Егер қадам  +1-ге тең болса, онда операторда TO, ал қадам –1-ге тең болса, онда DOWNTO сөзі қолданылады.

Параметрдің бастапқы және  соңғы мәндері бүтін сан түрінде  немесе өсуі, кемуі бойынша реттелетін болуы тиіс, әйтпесе оларды бүтін  мән беретін арифметикалық өрнек  түрінде жазуға да болады.

FOR операторының орындалуы блок-схема түрінде бейнеленген.

     СХЕМА

Цикл тұлғасы (блок-схемадағы <оператор>) жай немесе құрама оператор болуы мүмкін. FOR операторының жұмысы цикл параметрінің алғашқы мәні-

нен соңғы мәніне дейінгі  аралықты бірлік қадаммен қайталап өтпей тоқталмайды.

Цикл тақырыбы:

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

• цикл параметрінің өзгеру бағытын (өсуі – to, кемуі – downto) анықтайды.

Мысалы:

for k:=1 to 100 do Read (M[k] ); {Жиын элементтерін оқу}

for k:=10 downto 1 do Write (M[k]);   {Жиын элементтерін жазу}

FOR операторы алғаш орындалардан бұрын S1 және S2өрнектері есептеледі де, цикл параметріне S1 меншіктеледі, яғни <цикл параметрі>:=S1 операторы жүзеге асырылады.

Осыдан кейін цикл ішінде келесі әрекеттер орындалады:

1) ``цикл параметрі` `>S2 шарты тексеріледі (S1<S2 болғанда) немесе

`` цикл параметрі``>S2  шарты тексеріледі (S1>S2 үшін)

2)Егер шарт жалған болса, онда FOR  циклі ішіндегі операторлар орын-

далады. Ал, егер шарт орындалса, яғни ол ақиқат болса, онда цикл тұлғасы орындалмай, FOR операторынан кейін тұрған жол атқарыла бастайды.

3)Басқару айнымалысының  мәні 1-ге өседі (to) немесе 1-ге кемиді

(downto) де, әрі қарай  FOR  операторы қайталанып орындала  береді.

4)Цикл орындалуы барысында оның параметрінің мәнін өзгертуге бол-

майды (мысалы, меншіктеу  операторы көмегімен).

5)Егер цикл көшу  операторы көмегімен тоқтатылмаса, онда цикл аяқтал-

ған соң, басқару параметрінің мәні анықталмаған болып саналады.

FOR операторы параметрінің мәндеріне байланысты, циклдің қайталану санын былай анықтауға болады:

       Оператор

        S1 <S2

         S1 =S2

         S1 >S2

FOR…TO…

FOR…DOWNTO…

S2–S1+ 1 рет

орындалмайды

      1 рет

      2 рет

орындалмайды

S1–S2+ 1


 

Енді бірнеше мысал қарастырайық.

1-ден 100-ге дейінгі  натурал сандардың қосындысын  табу қажет:

S = 1 + 2 +…+ 100

program cymma;

var i, s: integer;

begin

s:=0;

for i:=1 to 100 do  s:=s+i;

writeln (`қосынды =`, s : 6);

end.

x-тің аргументі −4-тен  +4-ке дейін қадамы 0,2 болып өзгергендегі y функциясының мәндерін табу қажет.

                                     y=BNRUHFUHVW MEKE FNRUEHF UBRJJJJJJ

                                HHHHHHHHHHHHHHHHHHHHHHHHHHHHH

Бұл алгоритмде біз циклдің  неше рет қайталанатын алдын ала  білуіміз керек, сондықтан аргументтің алғашқы, соңғы мәндерін және өзгеру қадамын пайдалана отырып, қайталану санын төмендегі формуламен есептей аламыз:

  TGTHBNNNNNNNNNNNNNNNNNNNNNNNN

      n = DMFVR JNTGBGEIRUUFWP VNRG

Цикл операторының параметрін 1-ден 41-ге дейін өсіре отырып програм-маны төмендегіше құруға болады.

program funkci

var k: integer;

x, y: real;

begin

x:=−4;

     for k:=1 to 41 do

     begin

       y:=(x*x – 2 * x + 2) / (x * x + 1);

      writeln (`x=`, x : 5 : 2,``: 4,`y=`, y : 8 : 3);

      x:=x+0.2

     end

end.

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

     program funkcia;

     var k: integer;  x, y: real;

     begin

     for k:= - 40 to 40 do

          begin   

                   x:=k/10;

                  y:=(x*x – 2 * x + 2) / ( x + 1);

                   writeln (`x=`, x : 5 : 2,``: 4,`y=`, k : 8 : 3);

           end

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.4. Күрделі  циклдер

 

Күрделі циклдер. Егер бір цикл тұлғасында басқа циклдік құрылым бар болса, онда олар қабатталған циклдер деп аталады. Құрамына басқа цикл кі-

ретін цикл сыртқы болып саналады да, сырқы цикл тұлғасына кіретін цикл ішкі болып есептеледі. Көптеген есептерді шығару үшін бірінің ішіне бірі қабаттасқан осындай күрделі циклдерді пайдалануға тура келеді. Мұндай программаларда ішкі цикл толығымен сыртқы циклдің ішінде орналасуы қажет. Ішкі цикл құрамында басқа да ішкі циклдер болуы мүмкін.

Күрделі циклдер қарапайым while, repeat, for циклдері сияқты құрыла береді, бірақ қабатталған циклдер құру кезінде мына ережені есте ұстау қажет: ішкі циклдің барлық операторлары сыртқы циклдің ішінде орналасуы тиіс.

Күрделі циклдің құрылымын  төмендегі көбейту кестесін жасау  мысалынан көруге болады. Бұл мысалда for операторы пайдаланылады да, 2-ден 9-ға дейінгі көбейту кестесі бір бағанаға шығарылады.

     Program kobejtu _kestesi1;

     var i, j : byte;

     begin

          for i:=2 to 9 do

                  begin

                            for j:= 1 to 10 do

                                    writeln (i, `x`, j, `=`, i*j);

                            writeln

                  end

     end.

     N = 1, 2, 3 және K = 2, 4, 6, 8 болған кездерде Y = 2K+N мәндерін есептеуге арналған программа құру керек.

     PROGRAM FUNKCIA1;

          VAR N,K,Y : INTEGER;

     BEGIN

          WRITELN (` N K Y `);

          WRITELN (`                 `);

          FOR N:=1 TO 3 DO

                    BEGIN

                      K:= 2;

                      WHILE K <= 8 do

                               BEGIN

                               Y:=2*K+N;

WRITELN (``:3, N:4, ``:3, K:4, ``:3, Y:4);

                               K:=K+2

                               END

                      END

     END.

Егер цикл тұлғасында басқа циклдік құрылым бар болса, онда олар қабатталған циклдер беп аиалады.Құрамына басқа цикл кіретін цикл сыртқы болып саналады да, сыртқы цикл тұлғасына кіретін цикл ішкі болып есептеледі.

      Көптеген  есептерді шығару үшін бірінің  ішіне бірі қабаттасқан осындай  күрделі циклдерді пайдалануға тура келеді. Мұндай программаларда ішкі цикл толығымен сыртқы циклдің ішінде орналасуы қажет. Ішкі цикл құрамында басқа да ішкі циклдер болуы мүмкін.

      К.үрделі  циклдер қарапайым while,repeat,for циклдері  сияқты құрыла береді,бірақ қабатталған циклдер құру кезінде мына ережені есте сақтау керек: ішкі циклдің барлық операторлары сыртқы циклдің ішінде орналасуы тиіс. 

    Күрделі циклдің құрылымын төмендегі көбейту кестесін жасау мысалынан көруге болады.Бұл мысалда for операторы пайдаланылады да,2-ден 9-ға дейінгі көбейту кестесі бір бағанаға шығарылады.

 

 

 

Қорытынды

 

Мен, осы Курстық жұмысымды  қорытындылай келе ”Турбо Паскаль  бағдарламалау тілінде қайталау операторлармен жұмыс жүргізу” атты тақырыбым бойынша операторлар  туралы көп мағлұмат алдым. Паскаль тілінде операторлар, ал алгоритмдік тілде командалар деп атайды. Операторларды қарапайым және күрделі деп  екі топқа бөлінеді. Веgin және end түйінді сөздері операторлық жақшалар деп атайды.

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

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

Информация о работе Қайталау операторлары