Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота 1-5 (1 чт. СА-10).doc
Скачиваний:
4
Добавлен:
03.11.2018
Размер:
443.39 Кб
Скачать

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

  1. Які обчислення називають варіантними)?

  2. Які операції порівняння існують в Turbo Pascal 7.0?

  3. Які логічні операції існують в мові Turbo Pascal 7.0?

  4. Наведіть результати виконання логічних операцій між двома константами логічного типу для різних варіантів їх значень?

  5. Наведіть пріоритети виконань всіх логічних та арифметичних операцій?

  6. Яка структура умовного оператору?

  7. Що таке складений оператор і навіщо він потрібен?

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

  9. Яка структура оператора варіанта?

  10. Які існують обмеження на використання оператора варіанта?

  11. При яких умовах треба ставити крапку з комою перед службовим словом else в мовному операторі?

  12. При яких умовах треба ставити крапку з комою перед службовим словом 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; {тіло циклу}

ifin 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