Хелпикс

Главная

Контакты

Случайная статья





№4 зертханалық жұмыс Алгоритм ұғымын формальдандыру.



 

 

№4 зертханалық жұ мыс Алгоритм ұ ғ ымын формальдандыру.

Тармақ ты алгоритмдер. Шарттық оператор

Теориялық бө лім

 

Белгiлi бiр шартты тексеру нә тижесiне байланысты екi тү рлi iс-ә рекеттiң бiреуi ғ ана орындалатын жағ дайда шарттық оператор қ олданылады. Шарттық оператордың жазылу форматы:

Толық тү рi:             If < шарт> then < 1 оператор >

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

Шарттық оператор былай орындалады : Ең алдымен шарттағ ы логикалық ө рнектiң нә тижесi анық талады. Егер нә тиже ақ иқ ат болса < оператор1> орындалады, ал нә тиже жалғ ан болса < оператор2> орындалады.

 

Қ ысқ аша тү рi: Шарттық операторда шарт орындалмағ ан жағ дайда еш нә рсе орындау қ ажет болмаса, else тармағ ын жазбауғ а болады:

If < шарт> then < оператор>;

 

Тармақ ты алгоритмдердің орындалу реті блок-схемада анық кө рінеді. Блок-схема дегенiмiз алгоритмдi геометриялық фигуралар арқ ылы бейнелеу.

Мысал: экранғ а екi санның ү лкенiн шығ ару керек.  

Есептi шығ ару алгоритмiн блок-схемамен кө рнекi тү рде кө рсетуге болады.

 

 


                                      

 

program esep_1;

 var x, y, z: real;                {х, у-берiлген айнымалылар, z-нә тиже}

 begin

writeln (‘2 сан енгiз’);  

  readln (x, y);                {бос орынмен 2 сан енгiземiз}

          if x> y then z: =x  {егер x > y болса, онда нә тиже х болады}

          еlse z: =у;             {ә йтпесе нә тиже y болады }

  writeln (z);   readln;

 end.

Бағ дарламаның орындалу барысында 5 жә не 7 сандарын енгiземiз. Айнымалы х-ке 5, у-ке 7 меншiктеледi (х: =5, y: =7). 5> 7 шарты орындалмайды, нә тижесi жалғ ан, сондық тан else –ден кейiнгi оператор орындалады, ол оператор нә тижеге у-тi меншіктейді. Одан соң z-тің мә нi экранғ а шығ арылады. Экранғ а 7 жазылады.

Мысал: Енгiзiлген санның [-5; 5] аралығ ында жататындығ ын анық тау.

Енгiзетiн санды х деп белгiлеймiз, типi – real. Егер х саны ү шiн х> -5 жә не х< 5 шарттары бiр уақ ытта орындалатын болса, онда х саны [-5; 5] аралығ ына тиiстi болады

program aralyk;

var  x: integer;

  begin

writeln (‘х санын енгiз’);     readln (x);

  if (x> -5) and (x< 5)

       then writeln (‘аралық та жатады’)  

       еlse writeln (‘аралық та жатпайды’);  

  readln;

 end.   

 

 

Тапсырма: Енгізілген сан  терiс болса, оның таң басын қ арама-қ арсығ а ауыстыр. Есептi шешу ү шiн мына шарттық операторды қ олдан. If x< 0 then x: =-x;

Пайдаланылатын ә дебиет: [2], 14-25 беттер; [1], 91-98 беттер;

 

Қ абаттасқ ан шарттық оператор. Кейбiр есептердi шешу кезiнде, бiрнеше варианттарды қ арастыруғ а тура келедi. Бұ л жағ дайда, бiрнеше шарттық операторлар қ олданылады, яғ ни then, else қ ызметшi сө здерiнен кейiн, жаң а шарттық оператор жазылады.

Мысал: Бү тiн а, b, с сандары берiлген. Егер а£ b£ с болса, барлық сандарды ө з квадратымен ауыстыр, егер а> b> с болса,  ә рбiр санды ү шеуiнiң iшiндегi ең ү лкенiмен, басқ а жағ дайда, ә рбiр санның таң басын ө згерт.

Есептiң берiлгенi бойынша: егер а£ b £ с болса, онда a: =a2, b: =b2, c: =c2;

                                              егер а> b > с, онда с: =а, b: =а;     

                                              басқ а жағ дайда, a: =-а, b: =-b, c: =-с;

program esep_3;

var 

a, b, c: integer;

begin

writeln (‘a, b, с сандарын енгiз’);      readln (a, b, c );

   if (a< =b) and (b< =c)  then

                 begin

                      a: =sqr(a); b: =sqr(b); c: =sqr(c);

                 end

              else 

                    if (a> b) and (b> c)  then 

                           begin c: =a; b: =a; end

                            else begin a: =-a; b: =-b; c: =-c; end;

writeln (a: 5, b: 5, c: 5);     readln;

       end.

 

 

Есептi шешудiң блок-схемасы тө мендегiдей болады.

 

 


                           

         

                                                                    

 

                                             

                                                

 

                                           

                                                                                                                             

                                                                    

 

                                 

Тапсырма: Жоғ арыдағ ы мысалдағ ы шарттық операторды былай ө згертсек:

         if (a< =b) and (b< =c) then

        begin

   a: =sqr(a); b: =sqr(b); c: =sqr(c);

   if (a> b) and (b> c) then

       begin a: =c; b: =c; end;

   else begin a: =-a; b: =-b; c: =-c; end;

end.

бағ дарламаның орындалуы қ алай ө згередi? Есептiң берiлгенi қ алай болады. Блок-схемасын сыз.




  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.