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     Қаралды-6608

ҚАЙ МЕМЛЕКЕТ ҚАТЕЛІКПЕН АТАЛДЫ?

...

Кариб теңізінде Пуэрто-Риконың үлкен аралы орналасқан...

ТОЛЫҒЫРАҚ »

ҚАЙ МАТЕРИКА ЕҢ КІШКЕНТАЙ?

...

Австралия - жер бетіндегі ең кішкентай материк.

ТОЛЫҒЫРАҚ »

ЖЕРДЕ СУ КӨП ПЕ?

...

Сусыз жер бетінде тіршілік болмас еді.

ТОЛЫҒЫРАҚ »

ЭЛЕКТРОНДАР ДЕГЕНІМІЗ НЕ?

...

«Электрон» сөзі грек тілінен «янтарь» деп аударылған.

ТОЛЫҒЫРАҚ »

ЭЛЕКТР ЗАРЯДЫ ДЕГЕНІМІЗ НЕ?

...

Электрондардың теріс заряды, ал атом ядросының оң заряды бар екенін сіз бұрыннан білесіз.

ТОЛЫҒЫРАҚ »

ЭЛЕКТР ДЕГЕНІМІЗ НЕ?

...

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

ТОЛЫҒЫРАҚ »

КОМПАСТЫ КІМ ОЙЛАП ТАПТЫ?

...

Навигацияның дамуымен кеме жасау ғылымы жетілдірілуде - кибернетика...

ТОЛЫҒЫРАҚ »

ҚАЗІРГІ ЖАНУАРДЫҢ ҚАЙСЫСЫ ЕҢ КӨНЕ?

...

Қолтырауындар - жартылай суда өмір сүретін ірі жыртқыштар.

ТОЛЫҒЫРАҚ »