Тема: Turbo Pascal. Циклічні програми з регулярною зміною аргументу.
Мета: Формування умінь створення циклічних програм з регулярною зміною аргументу алгоритмічною мовою високого рівня Pascal.
Теоретичні відомості
Цикл - це процес виконання деякого набору команд певну кількість разів. Розрізняють цикли, де кількість повторень відома заздалегідь, і цикли, де кількість повторень заздалегідь невідома, але її можна визначити під час виконання циклу. Тому цикли є:
- з параметром, що реалізується оператором
For і:=1 to n do <тіло циклу>.
В цьому операторі задається кількість циклів від 1 до n. Параметр циклу і повинен бути тільки цілого типу. Такі цикли називаються циклами за лічильником;
- з передумовою, що реалізується оператором
While <умова> do <тіло циклу>;
- з післяумовою, що реалізується оператором
Repeat <тіло циклу> Until <умова>.
Тіло циклу являє собою послідовність операторів, які виконуються в циклі. Тіло циклу може складатись з одного оператора або послідовності операторів, обмежених операторними дужками begin … end.
|
|
При складанні циклічної програм необхідно:
- скласти графічний алгоритм, використавши оператор циклу або оператор циклу з передумовою чи післяумовою;
- провести ідентифікацію змінних;
- скласти програми з використанням оператора циклу і оператора з передумовою чи післяумовою;
- розв’язати задачу на ЕОМ в діалоговому режимі;
- провести аналіз результатів.
Якщо за умовою задачі не заданий один з параметрів циклу (початкове, кінцеве значення параметра або крок зміни), то його необхідно визначити, користуючись залежністю
,
де N - кількість циклів; хп, хк - початкове і кінцеве значення параметра циклу;
- крок зміни параметра циклу.
Хід роботи
2.1 Постановка задачі
Скласти графічний алгоритм і програму обчислень таблиці значень функції
.
Значення сталої величини: a=8,9.
Аргумент змінюється від початкового значення 350 з постійним кроком 500, кількість інтервалів параметра n =6.
Графічний алгоритм і програми скласти з використанням оператора циклу та оператора з передумовою чи після умовою.
2.2 Розв’язок задачі
Переведемо початкове значення аргументу та крок зміни аргументу з градусів в радіанну міру
; .
Визначимо кінцеве значення аргументу :
,
звідки
2.3 Графічний алгоритм
Графічний алгоритм з використанням оператора циклу з параметром показаний на рис. 7.1, з використанням оператора циклу з передумовою - на рис. 7.2.
2.4 Таблиця ідентифікації змінних
Змінна | a | і | ||
Ідентифікатор | A | А1 | Y | і |
2.5 Програма мовою Pascal та результати обчислень
|
|
Program C1{цикли1};
Const
a=8.6;
Var
y,a1:real;
i:integer;
Begin
a1:=0.61;
writeln('Результати обчислень: ');
for i:=1 to 6 do begin
y:=a*sqr(a1+pi/10)/(ln(a)-cos(a1/3));
writeln('a1=',a1:6:3,' y=',y:6:3);
a1:=a1+0.87;
еnd;
end.
ні
так
Рисунок 7.1–Графічний алгоритм Рисунок 7.2–Графічний алгоритм
Результати обчислень:
a1=0.610 y= 6.265
a1=1.480 y=21.781
a1=2.350 y=42.295
a1=3.220 y=64.146
a1=4.090 y=85.729
a1=4.960 y=107.073
Program C2{цикли2};
Const
a=8.6;
Var
y,a1:real;
Begin
a1:=0.61;
writeln('Результати обчислень: ');
while a1<=4.96 do begin
y:=a*sqr(a1+pi/10)/(ln(a)-cos(a1/3));
writeln('a1=',a1:6:3,' y=',y:6:3);
a1:=a1+0.87;
еnd;
end.
Результати обчислень:
a1=0.610 y= 6.265
a1=1.480 y=21.781
a1=2.350 y=42.295
a1=3.220 y=64.146
a1=4.090 y=85.729
a1=4.960 y=107.073
3 Контрольні запитання
1. Які дані необхідні для організації циклу?
2. Що таке цикл?
3. В яких межах змінюється параметр циклу в наведених програмах?
4. Яка різниця в алгоритмах циклів, побудованих за допомогою оператора циклу і за допомогою умовних операторів?
5. Який оператор в наведених програмах контролює умову виходу з циклу?
6. Дайте зрівняльну характеристику програм з використанням оператора з передумовою і оператора циклу з параметром?
7. З яких етапів складається цикл?
8. Яка різниця між циклом з передумовою та циклом з післяумовою?
Варіанти завдань наведені в таблиці 7.1.
Таблиця 7.1 –Варіанти завдань
№ ва- рі- ан-ту | Функція | Константи | Аргумент | Початкове зна-чення пара-метра циклу | Кінцеве значен- ня параметра циклу | Крок зміни па-раметра циклу | Кількість інтервалів | |
a | b | |||||||
21,4 | 1,95 | x | 4,6 | - | 1,5 | |||
121,2 | 3,8 | q | 1,4 | 1,85 | - | |||
8,3 | 1,43 | p | - | -4,74 | 0,15 | |||
1,6 | 2,09 | m | - | 1,5 | ||||
0,83 | - | x | 1,15 | - | 0,35 | |||
3,85 | 1,8 | | - | 150 | 70 | |||
1,6 | 14,3 | t | 2,75 | 5,0 | - | |||
- | 6,215 | 400 | 540 | - | ||||
2,43 | - | y | 1,62 | - | 0,15 |
Продовження таблиці 7.1
1,85 | 2,63 | -3,45 | - | -1,6 | ||||
- | 3,85 | d | -2,3 | 0,01 | - | |||
2,65 | 1,48 | x | 0,75 | 0,012 | - | |||
3,2 | - | y | -4,8 | 0,1 | - | |||
- | 8,45 | z | - | 0,24 | 3,2 | |||
-16,3 | - | x | -16,3 | - | -9,3 | |||
-8,6 | 3,28 | d | 3,6 | - | 4,0 | |||
1,42 | 0,85 | z | 1,6 | 0,35 | - | |||
3,2 | - | f | -4,8 | 0,1 | - | |||
8,9 | - | - | ||||||
1,2 | - | z | 2,6 | - | 3,8 | |||
- | 6,15 | x | - | 0,2 | 1,65 | |||
3,26 | - | x | - | 0,18 | 3,41 |
Продовження таблиці 7.1
1,85 | 6,21 | g | 3,1 | - | ||||
4,55 | 7,53 | x | 4,8 | 0,25 | - | |||
6,92 | - | f | 0,6 | - | 1,4 |