UF

Тармақталған құрылымдарды программалау

 жоспары:

1. Шартты өту операторы

2. CASE – таңдау операторы

 

Негізгі ұғымдардың сөздігі: шартты оператор, логикалық өрнек, IF, Then Else Студенттерде қалыптасу керек білім мен дағды:  Паскаль тілінде тармақтық программалау дағдыларын меңгеру.

 

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

/Қандай да бір шартқа байланысты бір немесе басқа іс-қимылдың орындалуын қажет ететін алгоритмді тармақталушы құрылымды алгоритм деп атаймыз./

 

1 Шартты өту операторы

Шартты өту операторы IF және Case түріндегі 2 түрмен беріледі.

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

 

А)  IF операторы

IF шартты операторы белгілі бір шарттарды тексеру үшін қолданылады. Осы IF операторы бойынша шарттарды тексеру қызметін логикалық белгілер атқарады және оған қосымша екілік өрнектер де қолданылады. Олар мыналар:

                  

= - тең                           >= - үлкен не тең

> - үлкен             <= - кіші не тең

< -кіші                         <> - тең емес

 

IF операторының жалпы түрі:

IF A Then St

Мұндағы А- логикалық өрнек, St- белгілі бір оператор. Бұл ең жалпы түрі, көбіне келесі түр қолданылады:

       IF < логикалық өрнек > Then <оператор1> Else <оператор2>        

Егер <логикалық өрнек> ақиқат мән қабылдаса, онда Then сөзінен кейін орналасқан <оператор1> орындалады, егер <логикалық өрнек> жалған болса, онда Еlse сөзінен кейінгі <оператор2> орындалады. Ескерте кететін жағдай: Else операторының алдына нүктелі үтір белгісі қойылмайды. IF операторы қосымша мынадай екі формат түрінде де жазыла алады:

a) IF  A1 Then St1

   IF A2 Then St2 Else St3

  1.  IF A1 Then Begin IF A2  Then  St1 Else St2 End.

Мұндағы А1, А2 логикалық өрнектер, ал ST1, ST2, ST3 операторлар.

 

IF A THEN ST1 ELSE ST2 жазылудың дәл мағынасы да, қызметі де былай болады: Егер А шарты қанағаттандырылса, онда STқызметі жүзеге асады, орындалмаса ST2 қызметі орындалуы тиіс. A жазуының орнында белгілі бір логикалық өрнек болады, ал ST1, ST2-ң орнында тиісінше белгілі бір іс-қимылдар.

 

2. CASE – таңдау операторы

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

Таңдау операторының жазылуының жалпы түрі:

CASE N OF

M1: ST1;

         M2: ST2;

         MI:STI;

         END;

         A:=B;

 

Мұндағы CASE, OF END- қызметші сөздер.

 N-аударушы, MI-таңбалры, STI-операторлар. CASE операторы STI операторына іс-әрекетті тек сол жағдайға жібереді, егер N аударушының мәні MI таңбаларының біреуіне сәйкес келсе. CASE операторларының таңбалары LABEL таңбалар бөлігінде сипатталуы керек.

 

3. GOTO-шартсыз өту операторы

         Шартсыз өту операторы - GOTO операторлардың бағдарламада орналасу ретіне байланысты орындалу тәртібін бұзу үшін қолданылады

         Жалпы түрі: GOTO N;

Мұндағы N таңба. N-таңбасы алдымен LABEL бөлігінде (таңбалар бөлігінде) толық сипатталып, жазылуы керек. GOTO N жазылуы белгілі бір іс-әрекеттер орындалуы тиіс N-таңбалы қатарын, операторлар тобын орындауды шартсыз көшу операторы дейді

 

Жаттығу есептері:

 

1. Мысал: А және В екі кез келген санның үлкенін есептейтін бағдарлама құру керек.

PROGRAM T4;

                   VAR A, B, MAX:REAL;

         BEGIN

                   READ (A,B);

                   IF A>B THEN MAX:=A        ELSE MAX:=B;

         WRITE (MAX)

         END.

 

2. Мысал: Егер  A0, онда B0 үшін C=A / B, ал   C=0 үшін K=1 операторы орындалады. Сол жеріне бағдарламалық бөлік жазу қажет.   

                   IF A<> 0 THEN IF B<>0 THEN C:=A/B

                            ELSE C:=0;

                            K:=1;

 

3. Мысал :

Нақты x, y, z сандары берілген. max(x+y+z, xyz) мәнін тап.

 

Program Esep2;

Var x, y, z, a, b, max: real;

Begin

writeln(‘х,у, z мәндерін енгіз:’);

Readln(x,y,z);

a:=x+y+z;  b:=x*y*z;

if a>b then max:=a else max:=b;

writeln(‘max=’, max:4:2);

end.

 

4. Мысал:

                мұндағы  a=1,2;   x=a-3,87

 

program  chart1;

var  x,a,y:real;

       begin

       readln(a);

       x:=a-3.87;  

if x>=a  then y:=x-a {шартты тексеру}

else y:=x+a;

writeln(‘y=’,y);

end.

5. мысал. CASE I OF

         2: K:=0;

         3: K:=X*X;

         100:K:=SIN(X);
         END;

         T:=K*K;

Егер I=3 болса,онда K:=X*X операторы орындалады да, содан соң T:=K*K орындалуы тиіс.

  1. мысал .

Program aa;

Label 2,3,4,5;

Var k:integer;  y,x:real;

begin

     k:=3; x:=9;

case k+1 of

    2:  y:=sqrt(x);

    3:  y:=sqr(x));

    4:  y:=2*x;

    5:  y:=4*x+k;

    end;

write(y);

end.

Баспаға не шығады?

18

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

Program aa1;

const n=10;

Var i:integer;  P:longint;

begin

    i:=1;

    P:=1;

1: P:=P*I;

     i:=i+1;  

if i<=n then goto 1;

write (‘P=’,P)

end.

 

 

 Әдебиеттер

1. Н.С. Заурбеков, Б.Ж.Жумажанов. Алгоритмдеу және программалау тілдері. Экономика баспасы. Алматы-2008.

2. Ж.Қ. Масанов, Б.А.Белгибаев, А.С.Бижанова, Қ.Қ.Мақұлов «Turbo Pascal». Алматы 2004.

3. Фаронов В.В.  Тurbo Pascal 7.0. Практика программирования.  Оку құралы.- М.: Нолидж, 2000ж. 416 бет.

Мәлімет сізге көмек берді ма

  Жарияланған-2014-05-26 19:52:05     Қаралды-6871

ҚҰСТАРҒА ҚАУЫРСЫН НЕ ҮШІН ҚАЖЕТ?

...

Құстар жылыну және ұшу үшін қауырсындарды қажет етеді...

ТОЛЫҒЫРАҚ »

МАГНИТТЕР НЕ ҮШІН ҚОЛДАНЫЛАДЫ?

...

Магниттерді қолданудың жүздеген әдістері бар.

ТОЛЫҒЫРАҚ »

МАГНИТ ДЕГЕНІМІЗ НЕ?

...

Қарапайым тілмен айтқанда, магнит темірді тарта алатын дене.

ТОЛЫҒЫРАҚ »

КРАН НЕ ҮШІН ҚОЛДАНЫЛАДЫ?

...

Кран (мұнара краны деп атау дұрысырақ болар еді) қазіргі кез келген құрылыс...

ТОЛЫҒЫРАҚ »

МАГНИТ ӨРІСІ ДЕГЕНІМІЗ НЕ?

...

Магнит өрісі – магниттің айналасындағы аймақ, оның шегінде магниттің сыртқы заттарға әсері сезіледі.

ТОЛЫҒЫРАҚ »

АРАЛАР ҚАНШАЛЫҚТЫ ПАЙДАЛЫ?

...

Аралардың адамдарды тамақтандырудағы негізгі үлесі олардың өндіретін балында емес.

ТОЛЫҒЫРАҚ »

ӘЛЕМДЕГІ ЕҢ ҮЛКЕН ІНЖУ-МАРЖАННЫҢ МӨЛШЕРІ ҚАНДАЙ?

...

Соңғы уақытқа дейін әлемдегі ең үлкен інжу 1934 жылы Оңтүстік Қытай теңізінде Филиппиннің Палаван аралында салмағы 300 кг-нан асатын меруерт табылған

ТОЛЫҒЫРАҚ »

КЛИМАТТЫҚ БЕЛДЕУЛЕР ҚАЛАЙ ЕРЕКШЕЛЕНЕДІ?

...

Жер шарының әртүрлі жерлерінде климат айтарлықтай ерекшеленеді.

ТОЛЫҒЫРАҚ »

ЕГИПЕТТЕ ПИРАМИДАЛАР ҚАЛАЙ САЛЫНДЫ?

...

Мысырдағы Гиза қаласындағы пирамидалар бес мың жыл бойы әлемде бар.

ТОЛЫҒЫРАҚ »