|
|||||
№4 зертханалық жұмыс Алгоритм ұғымын формальдандыру.Стр 1 из 9Следующая ⇒
№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 қ алай болады. Блок-схемасын сыз.
|
|||||
|