
- •Лабораторна робота № 1.
- •4.4. Контрольні запитання
- •Лабораторна робота № 2 Тема: Програмування лінійних обчислювальних процесів.
- •5.2. Загальні положення.
- •0) Not, - ( унарний мінус ) операції інверсії
- •1) * , / , Dib, mod, and мультиплікативні операції
- •6.2.3. Умовний оператор if...Then...Else.
- •6.2.4. Складений оператор.
- •6.2.5. Оператор варіанта (вибору) саse...Of
- •6.2.6. Варіантні обчислення
- •6.6. Завдання
- •6.8. Контрольні питання
- •Лабораторна робота №5
6.8. Контрольні питання
-
Які обчислення називають варіантними)?
-
Які операції порівняння існують в Turbo Pascal 7.0?
-
Які логічні операції існують в мові Turbo Pascal 7.0?
-
Наведіть результати виконання логічних операцій між двома константами логічного типу для різних варіантів їх значень?
-
Наведіть пріоритети виконань всіх логічних та арифметичних операцій?
-
Яка структура умовного оператору?
-
Що таке складений оператор і навіщо він потрібен?
-
Що таке операторні дужки?
-
Яка структура оператора варіанта?
-
Які існують обмеження на використання оператора варіанта?
-
При яких умовах треба ставити крапку з комою перед службовим словом else в мовному операторі?
-
При яких умовах треба ставити крапку з комою перед службовим словом else в операторі варіанту?
Лабораторна робота №4
Тема: Циклічний обчислювальний процес.
7.1. Мета роботи. Закріплення правил побудови алгоритмів та розроблення програм з циклічними обчислювальними процесами на мові TURBO PASCAL 7.0
7.2. Короткі теоретичні відомості.
7.2.1. Оператор циклу if...then go to
цикл може бути організований з допомогою оператора переходу To Go, який переводить виконання програми в зарані зумовлену точку програмного блоку на спеціальну примітку. Примітки в ПАСКАЛІ повинні бути попередньо описані в секції описів після службового слова label. В якості приміток можуть бути використані правильно написані ідентифікатори або послідовність цифр в діапазоні від 0 до 9999. Наприклад:
label step 1, m 2, 0, 1, 253, mmm;
Вибір, чи слід виконувати ще один цикл і треба продовжувати програму далі здійснюється, як правило, в умовному операторі if...then.
Приклад. Написати програму для піднесення числа в довільний цілий з використанням оператора переходу.
program PoverGo;
var i,n: byte;
x,y: real;
label 1;
begin
WriteLn('Введіть x та n>1');
ReadLn(x,n);
I:=1; {початкові значення}
У:=x; {змінних в циклі}
1:y:=у*х;
i:=i+1; {тіло циклу}
ifin then goto1;
Writeln('x в степені',n,'=',y);
End.
7.2.2. Оператор циклу з параметром for...to (doun to)...do
5.3.2. Цикл із параметром використовується при написанні програм в тому випадку, коли точно відомо, чи можна розрахувати скільки разів можна виконати цикл. Його загальний вигляд:
for зміна, := початкове значення, to кінцеве значення, do оператор;
або
for зміна, : = початкове значення, dounto кінцеве значення, do оператор;
Під час виконання циклу For змінна (параметр циклу) на першому проході приймає початкове значення, яке в кожному наступному проході збільшується (to) або зменшується на (downto) на 1 до тих пір, поки вона менша чи рівна кінцевому значенню. Таким чином оператор, що складає тіло циклу For (в тому числі весь складений), виконується потрібне число разів.
Приклад. Написати програму для піднесення числа в довільний цілий ступінь з використанням оператора циклу з параметром.
Program
Pover For; Var
i, n: byte; X,y:
real; Bedin WriteLn
('Введіть x та n>1'); ReadLn(x,n); Y:=x; For
i:=1 to n-1 do y:=у*х;
Writeln
(' x
в ступені', n,'=
',y); End.
При використанні циклу For в практичному програмуванні слід дотримуватись ряду правил, які хоч і не є обов”язковими, але запобігають появі помилок в програмах:
-
не змінюйте параметр циклу For в тілі циклу;
-
не змінюйте ті змінні, що використовувались при підрахунках кінцевого значення циклу For в його тілі.
7.2.3. Оператор циклу з передумовою (while...do);
Цикл While... do має вигляд:
While умова> do< оператор>;
Де <умова > це порівняння, логічний вираз або зміна, що має тип boolean; <оператор> це простий чи складений оператор (тіло циклу), що повторюється при виконанні циклу;
Працює цикл While...do = true виконується <оператор >
Особливістю циклу While...do є те, що умова, яка визначає, чи буде виконуватись цикл, перевіряється перед виконанням циклу. Таким чином, якщо умова циклу одразу дорівнює false, то оператори, що складають тіло циклу, не будуть виконані жодного разу
Приклад. Написати програму для піднесення числа в довільний цілий ступінь із використанням оператора циклу з передумовою.
Program Pover While;
Var i, n: byte;
х, y: real;
begin
WriteLn('Введіть х та n>1');
ReadLn(x, n);
у: = x;
і: = 1;
While i<n do
Begin
У:=у*х; {тіло}
І:=і+1; {циклу}
еnd;
Writeln ('xAn='у);
End.
Особливостями циклу є те, що:
Цикл While...do завжди треба ідеалізувати – надати стартові значення тим змінним, які входять в умову циклу;
Цикл While...do майже завжди повинен мати в своєму складі параметр, зміна якого забезпечує вихід з циклу.
7.2.4. Оператор циклу з постумовою (repeat...until).
Цикл Repeat...Until має вигляд:
Repeat оператори Until умова, де оператори (тіло циклу), що розміщені між службовими словами Repeat... Until повторюється до тих пір, поки <умова> дорівнює False, як тільки <умова> приймає значення True цикл закінчується.
Як видно, цикл Repeat...Until за механізмом своєї дії дуже схожий на цикл While...do за тією відмінністю, що він завжди буде виконаний хоча б один раз, оскільки умова виходу з циклу стоїть після тіла циклу..
Приклад. Написати програму для піднесення числа в довільний цілий ступінь з використанням оператора циклу з постумовою.
Program PoverWhile var i,n byte x, y real begin WriteLn('Введіть х та n>1'); ReadLn(x,n)
|
|
7.3. Завдання.
7.3.1. Розробити три варіанти блок-схем обчислення виразу варіанти завдання: з параметром, з передумовою, з постумовою.
7.3.1. По блок-схемам розробити програми обчислення.
7.3.1.Обчислити вираз по трьох варіантах програм та порівняти рішення.
7.3.2. Зробити висновки по роботі.
7.4. Варіанти завдань:
Варіант |
Формула |
Задані змінні |
1. |
N!/2N |
N=15 |
2. |
p=(1-1/22)(1-1/32)...(1-1/n2) |
N=10 |
3. |
p=cos(1)+cos(2)+cos(3)+...+cos(n-1)+cos(n) |
N=15 |
4. |
p=1/(x+10)+1/(2x+9)+1/(3x+8)+...+1/(10x+1) |
X=10 |
5. |
p=1/cos1+2/cos2+...+N/cosN! |
N=8 |
6. |
p=1/sin1+1/(sin1+sin2)+...+1/(sin1+sin2+...+sinN) |
N=10 |
7. |
p=(a+1)(a+2)(a+3)...(a+n) |
N=10 a=0,5 |
8. |
p=1/a+/(a(a+1))+...1/(a(a+1)...(a+n)) |
N=10, a=1 |
9. |
p=1/a2+2/a4+...+N/a2n |
N=6 |
10. |
p= a(a-n)(a-2n)...(a-n2) |
N=10, a=4 |
11. |
p= sin(x+1)+sin(2x+2)+...+sin(nx+n) |
N=10,x=0,5 |
12. |
p= sin(1/x)+sin2(1/x2)+...+sinn (1/xn) |
N=10 |
13. |
p= cos(x2)+2cos(2x2)+...+Ncos(Nx2) |
N=10, x=0,5 |
14. |
p=x2n/3n |
N=6, x=1,2 |
15. |
p=1/2+2/3+3/4+...+(n/n+1) |
N=10 |
16. |
p=(1+2)/(2+3)+(2+3)/(3+4)+...+(n+n+1)/(n+1+n+2) |
N=10 |
17. |
p=(1+2)/x+(2+3)/2x+...+(n+n+1)/nx |
N=10 |
18. |
p=(1-1/22)(1-1/32)...(1-1/n2) |
N=10 |
19. |
p=12/(12+2)+22/(22+4)+...+n2/(n2+2n) |
N=10 |
20. |
p=((1+1)/(1+2))((2+1)/(2+2))...((n+1)/(n+2)) |
N=10 |
21. |
p=(2+1/1!)(2+1/2!)...(2+1/n!) |
N=10 |
22. |
p=(1+1/1!)(1-1/2!)...(1-1/n!) |
N=10 |
23. |
p=1/(2+1)2+2/(4+1)2+3/(6+1)2+...+n/(2n+1)2 |
N=10 |
24. |
p=1!/sin(1)2+2!/sin(2)2+...+n!/sin(n)2 |
N=10 |
25. |
p=1/2+3/4+5/6+...+(2n-1)/2n |
N=10 |