Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

OT_METOD_KP_Ch1_2_0_0b

.pdf
Скачиваний:
22
Добавлен:
17.03.2016
Размер:
522.15 Кб
Скачать

Приклад використання оператора CASE:

var a,b:integer;

begin readln(a); case a of

1: b:=5;

2..10: b:=4; { діапазон констант} -5,0,100: {перелік констант}

begin {потрібно виконати більш ніж один оператор, } b:=a;{тому використовуємо складений оператор} a:=0;

end

else {Гілка ELSE} a:=a*abs(a); b:=a-4;

end; {Кінець оператора CASE}

Слід зазначити, що використання операторних дужок в гілці ELSE не обов’язкове.

Приклад розв’язку задачі (тільки програма):

Вирішити задачу двома способами в межах однієї програми:

З використанням оператора IF та логічних операцій

З використанням оператора Case. Селектор вибору має цілий тип даних та набуває свого значення під час розв’язку задачі за допомогою оператора IF.

43

|

,

0,

1

0

| ,

 

0,

program example_ifcase; var

x,y:real;

selector:integer; BEGIN

write(‘input x: ‘); readln(x); write(‘input y: ‘); readln(y); if (x>0) and (y<1) then begin

writeln(‘IF: ‘:6, 2*x+y:0:5); selector:=1;

end else

if (x>0) and (y<-4) and (y<=0) then begin

writeln(‘IF: ‘:6, y-abs(x-1); selector:=2;

end else

writeln(‘IF: ‘:6, ‘no solution’);

case selector of

1:writeln(‘CASE: ’:6, 2*x+y:0:5);

2:writeln(‘CASE: ’:6, y-abs(x-1); else

writeln(‘CASE: ’:6, ‘no solution’);

end;

END.

Контрольні питання

10.Які оператори розгалуження ви знаєте?

11.Дайте опис оператора IF.

12.Дайте опис оператора CASE.

13.Яка різниця між оператором IF та CASE?

14.Намалюйте узагальнену блок-схему оператора IF.

15.Намалюйте узагальнену блок-схему оператора CASE.

44

16.Які типи даних може приймати вираз-селектор в операторі CASE? 17.Як задати перелік констант вибору в операторі CASE?

18.Як задати проміжок констант вибору в операторі CASE? 19.Чи має оператор CASE конструкцію «в інших випадках»?

20.Яким ключовим словом обов’язково повинен закінчуватись опис оператора CASE?

21.Чи ставиться в операторі IF крапка з комою («;») перед ключовим словом «ELSE»?

22.Чи можна не використовувати конструкцію «в інших випадках» в операторі IF?

23.Що таке операторні дужки?

24.До заданої програми намалювати блок-схему. Програму надає викладач.

25.До заданої блок-схеми написати програму. Блок-схему надає викладач.

26.Написати програму. Умову і вимоги до задачі надає викладач.

45

Комп’ютерний практикум №5

Прості цикли. Цикл For.

Мета

Засвоїти поняття циклу. Отримати досвід використання циклічної конструкції «for» для вирішення задач.

Робоче завдання

Навчитись використовувати цикли на мові Turbo Pascal для вирішення задач. Дослідити роботу циклів для різних умов виходу з циклу. Вивчити роботу операторів Break та Continue.

Хід роботи

Розв’язати задачу за допомогою циклу «for».

Варіанти завдань

Арифметичні вирази

Забороняється використання функцій «ln» та «exp».

 

 

Завдання

Обмеження

Перевірочна функція

 

 

 

1

 

 

 

 

 

 

Ряди

 

 

1

 

 

 

1 !

 

 

 

 

,

 

sin

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

2

1

 

 

 

 

 

!

 

1

,

1

1

3

1

 

 

 

 

1

!

 

 

 

,

 

cosx

 

 

 

 

 

2

 

 

 

 

4

1

 

 

 

 

!

 

 

 

 

 

,

 

 

5

 

 

 

 

 

 

 

 

 

 

1

,

1

ln 1

 

 

1

 

 

 

 

 

 

6

 

 

 

1

 

 

 

1

,

1

 

 

 

 

2

 

 

 

 

 

 

7

4

2

!

1

 

1

,

1

arcsin

 

!

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

46

 

 

 

 

 

 

 

Завдання

 

 

 

Обмеження

Перевірочна функція

8

 

1

 

1

1

 

 

 

 

 

1

,

1

ln 1

9

 

 

 

 

 

 

 

 

 

 

,

 

,

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

1

 

1

 

!

 

 

 

 

 

 

Вирази

 

 

10

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

2

 

1

 

 

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

1

!

 

 

 

 

 

2

 

 

 

,

 

 

14

 

2 1 !

 

 

 

 

 

 

15

1

 

!

 

 

 

 

 

,

 

 

 

2

 

 

 

 

 

 

 

16

 

2

1 !

 

 

 

 

 

 

 

 

 

 

2

 

1 !

 

 

 

 

 

 

 

 

 

17

 

!

 

 

 

 

 

 

 

 

 

 

 

,

 

 

18

 

2

 

1

 

 

 

1

 

,

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

19

 

 

 

 

 

 

1

 

 

 

 

 

!

 

 

,

 

 

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

1 !

2

 

1 !

 

 

 

 

 

21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

22

1

 

 

 

 

! 2

1 !

 

,

 

 

23

1

 

 

 

 

1

 

1 !

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

47

 

 

 

Завдання

Обмеження

Перевірочна функція

24

2

1 !

!

2 1

,

,

 

25

7

1

 

,

 

 

Стислі теоретичні відомості

Цикл — різновид керуючої конструкції у високорівневих мовах програмування, призначена для організації багаторазового виконання набору інструкцій. Також циклом може називатися будь-яка багатократно виконувана послідовність команд, організована будь-яким чином. Цикл багаторазово повторює набір інструкцій, доки не будете виконана умова виходу з циклу. Одне повторення набору інструкцій (тіло циклу) також ще називають ітерацією. Приклади циклічних подій з навколишнього світу: зміна дня і ночі, зміна пір року, залізничний рух тощо.

Розрізняють два види циклів: з передумовою і після умовою. В циклах з передумовою умова виходу з циклу розташовується перед тілом циклу, тобто спочатку перевіряється умова, а тільки потім виконується тіло циклу. В циклах з після умовою умова виходу з циклу розташовується в кінці циклу, після тіла циклу. Отже цикл з передумовою може взагалі не виконуватись, а цикл с після умовою буде виконаний хоча б один раз.

В Turbo Pascal є три види циклів: FOR, WHILE, REPEAT. Як різновид четвертого виду циклічної конструкції можна розглядати оператор розгалуження (IF, CASE) та оператор безумовного переходу GOTO, але такий підхід не рекомендується використовувати.

Цикл FOR

Цикл FOR – це цикл з передумовою. Також його ще називають цикл з лічильником або з параметром. Загальний формат циклу:

48

for <параметр_циклу>:=<початкова_межа> to <кінцева_межа> do <оператор>;

або

for <параметр_циклу>:=<початкова_межа> to <кінцева_межа> do begin

<блок_операторів>; end;

або

for <параметр_циклу>:=<початкова_межа> downto <кінцева_межа> do <оператор>;

або

for <параметр_циклу>:=<початкова_межа> downto <кінцева_межа> do begin

<блок_операторів>; end;

<параметр_циклу> - змінна порядкового типу. В тілі циклу не рекомендується змінювати значення <параметр_циклу>, оскільки дана циклічна конструкція автоматично змінює <параметр_циклу> після виконання тіла циклу. У випадку, якщо в умові циклу використовується ключове слово «to» береться наступне значення по порядку в типі даних ( функція «succ»), якщо використовується «downto», то береться попереднє значення в типі даних (функція «pred»). Наприклад якщо параметр циклу змінна типу «integer», то для «to» буде виконуватись операція +1, а для

«downto» -1.

<початкова_межа> та <кінцева_межа> - можуть бути змінними, виразами або константами. Якщо кінцева межа рівна початковій межі, то цикл буде виконано один раз.

На рис. 4.1 зображено узагальнену алгоритм блок-схему циклу FOR, де <пц> - параметр циклу, <пм> – початкова межа, <км> – кінцева межа.

49

<пц>:=<пм>

<пц>≠succ(<км>) -

+

<тіло_циклу>

<пц>:=succ(<пц>)

Рисунок 4.1- Узагальнена блок-схема циклу FOR

Цикл FOR рекомендується використовувати тоді, колі заздалегідь відома кількість повторень циклу.

Continue

Оператор «continue» достроково завершує виконання поточної ітерації циклу і переходить до наступної ітерації. Всі оператори в тілі циклу, що йдуть після оператора «continue» виконуватись не будуть. Переривається виконання ітерації тільки того циклу, в тілі якого знаходиться оператор

«continue».

Break

Оператор «break» достроково завершує виконання циклу. Всі оператори, що йдуть в тілі циклу після оператора «break» виконуватись не будуть. Переривається виконання тільки того циклу, в тілі якого знаходиться оператор «break». Якщо потрібно достроково завершити виконання декількох вкладених циклів можливе використання оператора безумовного переходу

«goto».

50

Контрольні питання

1.Що таке цикл?

2.Які цикли є в Turbo Pascal?

3.Дайте опис циклу FOR.

4.Намалюйте узагальнену блок-схему циклу FOR.

5.Що таке цикл з передумово?

6.Який тип даних повинна мати змінна циклу FOR? Наведіть приклади

7.Як потрібно записати цикл FOR, щоб змінна циклу збільшувалась на

1.

8.Як потрібно записати цикл FOR, щоб змінна циклу збільшувалась на

-1.

9.Що таке ітерація циклу?

10.Назвіть оператор дострокового виходу з циклу. Опишіть його роботу.

11.Назвіть оператор дострокового завершення ітерації циклу. Опишіть його роботу.

12.Написати програму. Умову і вимоги до задачі надає викладач.

51

ДОДАТОК 1

Елементарні алгебраїчні функції

Деякі властивості тригонометричних функцій

1

cos

1

1

sin

1

1

sin

cos cos

sin 1

1 sec cos

1

cosec

1

 

 

1

 

 

sin

2

cos

sin

2

cos

52

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]