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

Лабораторна робота № 3 циклічний процес

Завдання: Написати програми розрахунку функції, використовуючи операторів циклу WHILE, REPEAT і FOR. Для кожного конкретного завдання з таблиці 3 визначити ефективність кожного оператора циклу.

Цикл це послідовність операторів, яка може виконуватися більше одного разу. Для реалізації циклів в Паскалі передбачено три різні інструкції. WHILE і REPEAT використовуються, якщо число повторень (ітерацій) заздалегідь не відомі, але відомі умови завершення циклу. Інструкція FOR застосовується, коли число ітерацій відоме.

3.1 Оператор WHILE

При виконанні оператора WHILE повторюється група операторів до тих пір, поки визначене в операторі WHILE булева умова істинно. Як тільки умова циклу не задовольняється, управління передається інструкції, наступній за WHILE. Якщо умова не виконується до початку виконання циклу, тіло циклу пропускається.

Загальна форма запису:

WHILE булева умова DO оператор;

Приклад підрахунку суми додатніх чисел:

program sum;

var a, sch, sum:integer;

begin

sum:=0;sch:=0;

while a>0 do

begin

read(a);

sum:=sum+a;

sch:=sch+1;

end;

writeln('сума',sch,' чисел рівна',sum);

end.

3.2 Оператор REPEAT

Між інструкціями REPEAT і WHILE існує три істотні відмінності:

  • У інструкції REPEAT перевірка умови виходу відбувається в кінці, а не на початку циклу, так що тіло циклу виконується хоч би один раз.

  • У інструкції REPEAT умова виходу задовольняється, якщо вираз істинний, а в інструкції WHILE - якщо помилково.

  • Між ключовими словами REPEAT. UNTIL можна помістити декілька інструкцій, а в інструкції WHILE тіло циклу повинне містити тільки одну інструкцію.

Загальна форма запису:

REPEAT

список операторів;

UNTIL умова;

Приклад підрахунку суми додатніх чисел:

program sum;

var a, sch, sum:integer;

begin

sum:=0;sch:=0;

repeat

read(a);

sum:=sum+a;

sch:=sch+1;

until a>0;

writeln(' сума',sch', чисел рівна',sum);

end.

3.3 Оператор FOR

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

Загальна форма запису 1:

FOR керуюча змінна:=початкове значення

TO кінцеве значення DO оператор;

Загальна форма запису 2:

FOR керуюча змінна:= початкове значення

DOWNTO кінцеве значення DO оператор;

Керуюча змінна, набуває значень починаючи з першого (їм є вираз після символу :=) і, закінчуючи останнім (їм є вираз після TO і DOWNTO). Значення керуючої змінної, міняються з кроком +1, якщо використовується ключове слово TO, або з кроком -1, якщо використовується ключове слово DOWNTO.

Інструкція після ключового слова DO виконується один раз для кожного нового значення змінної, що управляє. Цикл завершується досягнувши керуючої змінної свого кінцевого значення.

Приклад підрахунку суми 10 чисел:

program sum;

var a,i,sch,sum:integer;

begin

sum:=0;sch:=0;

for i:=1 to 10 do

begin

read(a);

sum:=sum+a;

sch:=sch+1;

end;

writeln(' сума',sch', чисел рівна',sum);

end.

Таблиця 3 - Варіанти завдань для лабораторної роботи № 3

Вид функції

Початкові дані

A

B

Xн

Xк

N

1

0.9

1.85

10.2

12.4

12

2

4.86

9.35

6.2

10.6

11

3

11.6

2.4

1.4

6.9

12

4

3.14

5.39

18.4

25.6

10

5

5.25

7.39

4.25

5.46

6

6

6.3

0.86

1.25

8.75

6

7

1.28

0.03

12.6

34.6

12

8

0.25

11.6

0.2

1.2

11

9

0.6

1.24

6.44

3.24

9

10

0.44

2.28

6.5

7.3

9

11

3.2

0.45

0.6

1.5

10

12

7.32

0.15

13.3

14.5

9

13

2

1.35

0.2

1

9

14

1.41

10.45

0.2

1.4

7

15

7.38

0.3

9

27

10

16

0.49

1.28

1.56

2.96

8

17

89

1.3

7.35

5.15

12

18

1.16

1.28

0.45

0.15

11

19

17.2

24.6

2

20

10

20

0.4

10.8

1.25

2.25

11

21

1.28

0.03

12.6

8.6

9

22

0.25

0.68

2.12

1.44

13

23

6.44

5

0.35

0.49

15

24

0.45

0.6

1.5

7.5

7

25

4.1

0.95

-0.63

0.63

11

26

4.25

2.6

0.3

1.2

10

27

7.5

26.6

4.2

0.7

8

28

1.28

16.3

0.54

1.34

9

29

0.98

12.8

2.1

3.6

16

30

23.4

19.6

12.1

19.6

6