Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодАлгКП.doc
Скачиваний:
109
Добавлен:
18.02.2016
Размер:
2.27 Mб
Скачать

Практикалық жұмыс №4

Тақырыбы: Тармақталу операторлары

Жұмыс мақсаты: Тармақталу алгоритмдерін бағдарламалауда қолданылатын Turbo Pascal операторлары қызметімен танысу, оларды қолдану дағдысын қалыптастыру.

Жұмыстың орындалу тəртібі:

  1. Теориялық мəліметтермен танысу.

  2. Жеке нұсқада тапсырмалар орындау.

  3. Бақылау сұрақтарына жауап беру.

  4. Орындалған жұмыс туралы жазбаша есеп беру. Есепте жұмыс тақырыбы, мақсаты, тапсырманың математикалық үлгісі, алгоритмнің блок – схемасы, листингі болуы қажет.

4.1 Негізгі түсініктер

4.1.1 Шартты оператор

Шартты оператор программадағы шарт логикалық өрнек ретінде берілгенде тармақталу əрекетін атқару үшін қолданылады. Оның жазылуы:

IF <логикалық өрнек> THEN <1-ші оператор>

[ELSE <2-ші оператор>];

<келесі оператор>;

Оператордың орындалу ережесі: егер логикалық өрнек нəтижесі АҚИҚАТ (TRUE) болса, онда <1-ші оператор> орындалады, одан кейін <келесі оператор> орындалады; егер – ЖАЛҒАН (FALSE) болса, онда <2-ші оператор> орындалады да, содан кейін барып <келесі оператор> орындалады. 1-ші жəне 2-ші операторлар жəй немесе құрама оператор болуы мүмкін. Егер оператордың ELSE-ден басталатын бөлігі жоқ болса, онда логикалық өрнек нəтижесі ЖАЛҒАН (FALSE) болған жағдайда, бірден <келесі оператор> орындалады. Шартты операторлар қабаттасып келіп, ELSE сөзі бірнеше рет кездесетін болса, оның əрқайсысы өзінің алдындағы IF операторында жазылған шартқа байланысты атқарылады. Шартты оператордың қабаттасқан түрінің сатылары санын өте көбейтпеген дұрыс, өйткені мұндайда программа көрнектілігі жоғалып, қате кетуі жиіленеді.

Шартты оператор қандай да бір шартты тексеріп, оның нәтижесіне байланысты белгілі бір әрекетті орындауда жүзеге асырады.

Оның жазылу үлгісі:

  1. IF шарт THEN 1- оператор ELSE 2- оператор

  2. IF шарт THEN оператор

1 жағдай шартты оператордың жазылуының толық түрі, 2- жағдай қысқа түрі деп аталады.

Кейде then, else қызметші сөздерінен кейін емес, бірнеше оператор енгізілуі мүмкін. Паскальда осы сияқты 1 серияда орындалатын операторлар тізбегі бір оператор түрінде қарастырылады да, оны құрама оператор деп атайды. Құрамы оператор begin, end оператор жақшаға алынады.

Егер шарттың саны біреуден артық болса, онда ол құрама деп аталады. Құрама шарттар арасына and (және), or (немесе), not (емес) қызметші сөздер жазылады және жәй шарттар жақшаға () алынып жазылады.

0<x≤5 шартты Паскальда былайша жазылады: (x>0) and (x<=5)

1-мысал. х аргументі үшін у есептеу

y=

Program esep 1;

Var x,y:real;

Begin

Writeln(‘x=?’);

Readln (x);

If (x>=(-3)) and (x<=3) then y:=sqr(x)*x

Else y:=-6;

Writeln (‘y=’,y:4:0);

Readln;

End.

2-мысал. Үш алманың үлкенін анықтау. Алмаларды a,b,c, үш айнымалымен белгілейміз. Алғаш олардың екеуін, яғни а және b алманы салыстырып, үлкенін үшінші с алмамен салыстырамыз. Сөйтіп, үлкен алманы анықтауға болады. Алмалардың өлшемін пернетақтадан енгіземіз.

Program esep2;

Var a,b,c, max: integer;

Begin

Writeln(‘Үш алманың өлшемін енгіз’);

Readln(a,b,c);

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

If c>max then max:=c;

Writeln(‘Үш алманың үлкені =’, min);

Readln;

End.

4.1.2 Логикалық қатынас және өрнек

Turbo Pascal –да шартты ұйымдастыруға арнайы логикалық қатынас таңбалары және логикалық өрнектер қолданылады. Программада берілген шартты жазу бір немесе бірнеше логикалық қатынастардан тұратын, өрнек арқылы жазылады. Логикалық қатынас операциялары екі операторларды бір-бірімен салыстыруды және оның қайсысы ақиқат (true) және жалған (false) екендігін анықтайды. Логикалық қатынас амалдарының жазылуы кестеде берілген.

Кесте 4.1.

Негізгі қатынас амалдары

Операция

Аталуы

Өрнек

Нәтиже

=

<>

>

<

>=

<=

in

Тең

Тең емес

Үлкен

Кіші

Үлкен немесе тең

Кіші немесе тең

Құрамына ену

A=B

A<>B

A>B

A<B

A>=B

A<=B

A in B

True, A тең болса В-ға

True, A тең болса В-ға

True, A үлкен болса В-дан

True, A кіші болса В-дан

True, A үлкен н/е тең В-ға

True, A кіші н/е тең В-ға

True, A В-ның құрамына енеді

Егер, шарт қарапайым болса оны бір ғана қатынас таңбасымен өрнектей аламыз.Мысалы: р=у<6, у-тің мәні 6 санынан кіші н/е тең болса, р логикалық айнымалы мәні ақиқат (true), ал шарт орындалмаса жалған (false). Ал, күрделі шартты жазуда арнайы логикалық амалдарды пайдаланып логикалық өрнек құрастырамыз. Логикалық өрнек қаншалықты күрделі болғанымен шартты тексергенде нәтижесі логикалық тип- Boolean болады.

Логикалық амалдар:

Not-емес

And-және

Or-немесе

Xor- немесеге кері

Логикалық өрнектерді жазуға мысалдар:

Берілуі программа мәтінінде жазылуы

0<х<8 (x>0) and (x<8)

-1>у<1 (y>=(-1)) and (y<=1)

а=b немесе b=c (a=b) or (b=c)

ЖЕКЕ ТАПСЫРМАЛАР НҰСҚАЛАРЫ

А) Берілген Х аргументі үшін Ү функциясының мəндерін есептеу бағдарламасын жазыңыз: y = f(x) функциясының мәнін есептейтін программа құру керек. Есептердің нұсқалары кестеде көрсетілген:

Нұсқасы

Функция y = f(x)

Енгізілетін кірістік деректер

X

1

7,4

2

4,3

3

10,9

4

-10

5

9,2

6

25

7

-19,8

8

3,1415

9

0

 10

 4

11

-15,5

12

7,6

13

40

14

12

15

1,5

16

3

17

2

18

3,1415

19

23

20

2

21

5,7

22

20,5

23

-2,5

24

-3

25

2,4

26

11,5

27

3,4

28

6,9

29

4,5

30

13

Б) Тапсырмаларды шартты операторды қолдану арқылы орындаңыз.

  1. Бес танысыңыздың атын сұрап, оған сәйкес фамилиясын шығаратын программа құрыңыз.

  2. Енгізілген адам жасына байланысты оны 4 топқа: мектепке дейінгі, оқушы, қызметкер, зейнеткер бөлетін программа құрыңыз.

  3. Үш санның үлкенін табатын программа құрыңыз.

  4. Екі қатарлы сан берілген. Оның цифрларының қосындысы екі қатарлы сан бола ма анықтаңыз.

  5. Екі қатарлы сан берілген. Оның цифрларының қосындысы 3-ке бөліне ме.

  6. Үш қатарлы сан берілген. Цифрларының қайсысы үлкен екендігін анықтаңыз.

  7. Үш қатарлы сан берілген. Цифрлары бірдей ме анықтаңыз.

  8. Үш қатарлы сан берілген. Цифрларының бірдейлері бар ма анықтаңыз.

  9. a,b,c сандарының ішіндегі теріс сандар санын анықтаңыз.

  10. a,b,c сандарының ішіндегі оң сандар санын анықтаңыз.

  11. a,b,c сандарының ішіндегі бүтін сандар санын анықтаңыз.

  12. а<100 келесі қасиеттерге ие, натурал сан бола ма екен тексеріңіз:

а) а mod 3 = 1;

б) а mod 4 = 2;

в) а mod 5 = 3;

г) а mod 6 = 4;

  1. Квадрат теңдеудің түбірлерін табу программасын құрыңыз.

  2. А1(х1,у1), А2(х2,у2) , А3(х3,у3), А4(х4,у4) нүктелері берілген. Бұл нүктелер паралеллограмм төбелері бола ала ма ?

Бақылау сұрақтары

  1. Тармақталу алгоритмі, оның блок схемасы.

  2. Шартсыз көшу операторының жазылуы, орындалуы.

  3. Шартты көшу операторының жазылуы, орындалуы.

  4. Шартты операторының жазылу нұсқалары.

  5. Логикалық қатынас және өрнек.

  6. Шартты операторлардың формалары және олардың жазылу үлгілері қандай?

  7. Құрама шарт деген не, олар қалай жазылады ?

  8. Құрама оператор деген не және олардың жазылуы қандай?

  9. Егер шарт орындалмаса және программада else сөзі болмаса басқару қайда жіберіледі?

  10. Шарттың нәтижесі қандай мәндер болады?

  11. Квадрат теңдеу шешудегі шарттар қандай?

Ұсынылатын әдебиеттер: 1, 4, 8