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

Obschy_kurs / Mathcad / Programmirovanie / Program_Lvp_Rvp_Cvp

.pdf
Скачиваний:
9
Добавлен:
21.02.2016
Размер:
870.51 Кб
Скачать

Продовження табл. 13

№ ва-

Умова задачі

ріанта

 

Ввести два довільні числа y і z. Якщо введені числа дорівнюють один од-

8ному, то змінній p присвоїти одиницю, інакше вивести повідомлення: «числа не рівні»

9*

Ввести ціле число n. Змінній f присвоїти значення 1, якщо число n кратне

трьом, інакше змінній f присвоїти значення 0

 

Ввести два числа x і у. Визначити, чи належить точка з координатами x і у

10внутрішньої області кола x2 +y2 <50. Залежно від результату перевірки вивести одне з повідомлень: «точка усередині кола» або «точка поза колом або лежить на колі»

11Ввести два нерівні числа x і z. Змінній N присвоїти значення більшого з чисел, а змінній M – меншого

Ввести два числа b і с. Якщо числа рівні, то вивести про це повідомлення,

12інакше обчислити c2 +b

13Ввести два нерівні числа x і у. Менше з них розділити на більше

14Ввести число z нерівне нулю. Залежно від значення введеного числа вивести одне з повідомлень: «Число додатне», «Число від'ємне»

15Ввести довільне число а. Присвоїти змінній Р одиницю, якщо число а менше або дорівнює 25, інакше вивести повідомлення: «а більше 25»

16

Ввести довільне число а. Якщо воно від'ємне, то обчислити

а

, інакше

обчислити a2

 

17Ввести два нерівні числа х і z. Менше з них замінити більшим

18Обчислити площу кола з радіусом R. Якщо значення площі буде більше 25, то вивести повідомлення «велике коло», інакше «мале коло».

19Ввести два числа. Вивести відповідне повідомлення: «Числа рівні» або «Числа нерівні».

20Ввести два нерівні числа. Обчислити квадрат меншого з них.

21Ввести два цілі числа. Якщо числа є взаємно протилежними, то вивести відповідні повідомлення, інакше обчислити їх суму

Ввести довільні чотири числа а, b, c, d. Якщо число а більше суми чисел b,

22c, d, то вивести відповідні повідомлення, інакше обчислити середнє арифметичне всіх чотирьох чисел

23Ввести два числа. Обчислити їх різницю, якщо числа нерівні, інакше вивести повідомлення: «Числа рівні»

24Ввести два числа. Обчислити їх різницю та вивести одне з повідомлень: «Різниця менше 0», «Різниця не менше 0»

Обчислити площу квадрата із стороною a та площу прямокутника зі сто-

25ронами b і c. Залежно від результатів обчислення вивести одне з повідомлень: «Площа прямокутника більше площі квадрата» або «Площа прямокутника менше або дорівнює площі квадрата»

26Ввести два нерівні числа. Вивести повідомлення, яке число є найбільшим: перше чи друге

31

Закінчення табл. 13

№ ва-

 

 

Умова задачі

ріанта

 

 

 

 

 

 

Ввести масу, що припадає на вісь колісної пари qо. Якщо qо6 , то вивес-

 

ти повідомлення «Неправильно введена маса», інакше обчислити основний

27

питомий

опір руху навантажених вантажних вагонів колії 1067 мм2

 

wо" =0,7+

7+0,3V +0,0075V 2

 

 

qо

 

 

 

Ввести швидкість поїзда V. Якщо вона більше нуля, то обчислити основ-

28

ний питомий опір руху порожніх вантажних вагонів колії 1067 мм2

 

w0" =1,35+0,07V +0,00045V 2 , інакше вивести повідомлення «Неправиль-

но введена швидкість»

Визначити кількість вільних місць в одному купейному вагоні поїзда за ві-

29домою кількістю проданих квитків. Якщо всі квитки продані, то вивести повідомлення: «У вагоні немає вільних місць» (у одному купейному вагоні 36 місць)

Ввести дійсну силу натягнення на одну гальмівну колодку к. Якщо к=1,6, обчислити розрахункову силу натягнення на гальмівні композиційні коло-

30дки кр =1,22к4кк++2020 , інакше вивести повідомлення «Неправильне вхідне

к»

Примітка: кратність числа x числу у можна визначити вбудованою функцією mod(x, у), яка повертає залишок від ділення x на у. Аргументи повинні бути дійсними. Результат має один знак з x. Наприклад, mod(14, 7)= 0 означає, що число 14 кратне числу 7, оскільки залишок від ділення 14 на 7 дорівнює нулю; mod(10, 7)= 3 означає, що число 10 некратне числу 7, оскільки залишок від ділення 10 на 7 дорівнює трьом.

ЗАВДАННЯ № 3. Рівень складності – середній.

Скласти функцію користувача, яка залежно від заданого користувачем значення x обчислює значення за однією із заданих формул y1, y2, або y3. Для спрощення складання програмного блоку рекомендується замість y1, y2 і y3 використовувати одне і те саме ім’я, наприклад у. Виведення результатів оформити у вигляді матриці, яка повинна містити:

значення x, що вводиться;

результат обчислення;

номер формули, використовуваної для обчислення;

у разі введення значення x, що не належить жодному із заданих інтервалів, передбачити виведення повідомлень «x поза діапазоном» і «формули немає».

Зауваження. У разі виклику функції значення х слід брати з різних діапазонів, щоб перевірити роботу всіх гілок програми.

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблиця 14

 

 

 

 

 

 

 

 

 

 

 

 

 

Варіанти завдання № 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

№ ва-

 

 

 

 

Функція y1

 

 

 

Функція y2

 

 

Функція y3

ріанта

та інтервал зміни х

 

 

 

та інтервал зміни х

 

 

та інтервал зміни х

1

y x 1

 

 

 

 

 

 

y2 =(sin x) / x

y

 

=1/ lg(x2 1)

1

 

 

 

 

 

 

 

 

 

 

 

 

0<x10

3

<x1000

 

10<x0

 

 

 

 

 

 

10

2

y1 =sin(πx / 21)

 

y2

=exp(3 x+3)

y3

=lg2( x +1)

 

3<x1

 

 

 

 

 

 

1<x3

x

>3

3

y1 =tg(πx)exp x

 

y2

=2cos2 (3 πx)

y3

=12lg x

 

−π<x0

 

 

 

 

 

 

0<x≤π

x

 

 

 

 

 

 

 

 

arctg x

 

 

 

y

 

=4cos2(πx)2

y

 

=exp(lg(x2 +1))

 

 

 

 

 

 

 

 

 

 

 

 

4

y =(π/ 2)

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

3

 

1

 

 

 

 

 

 

 

 

 

 

 

 

0<x2

x<2

 

−π<x0

 

 

 

 

 

 

5

y1 =3

 

arctg x

 

 

 

y2

= 1exp(x)

y3

=(tg x) / lg(x+1) .

 

 

 

 

x0

 

 

 

 

 

 

0<x1,2

1,2<x≤π/ 2

6

y =3 tg2 x

 

y2 =lg2 (x2 +2)

y3

=1exp(x2 / 2)

1

 

 

 

 

 

 

 

 

 

 

 

 

0<x≤π

π<x2π

 

−π/ 2<x0

 

7

y =cos(3 x2 +2)

 

y2 =lg2 ( x +1)

y3

=exp(x+1)

1

 

 

 

 

 

 

 

 

 

 

 

 

0<x10

x>10

 

100<x0

 

8

y1 =tg(0,1πx 3)

 

y2

=exp(x1)

y3

=2log2 (4x)

 

0<x≤π

 

 

 

 

 

 

π<x2π

x

>2π

9

y1 =tg(x+1)

 

y2 =x / lg(x+1)

y

 

=sin(2π3 x +1)

2<x0

 

 

 

 

 

 

0<x10

3

<x20

 

 

 

 

 

 

 

10

10

y =3 tg2 x

 

y2 =lg(2x +256)

y3

=arctg x

1

 

 

 

 

 

 

 

 

 

 

 

 

π/ 2x10

x>10

 

−π/ 2<x/ 2

 

 

y =

 

x3 1

 

 

 

 

 

 

 

 

y2 =sin(2πx 1)

y

 

= lg(x2 2)

 

 

 

 

 

 

 

 

 

 

11

1

 

 

 

 

 

 

 

 

 

 

 

 

0<x100

3

 

 

 

 

 

 

 

100<x

100<x0

 

12

y =3 x2 +1

 

y2

=2tg2 (x1)

y3

=2log2(x+1)

x10

 

 

 

 

 

 

0<x/ 2

π/ 2x

13

y =sin(3 x2 )

 

y2

=1+lg x+10

y3

=1exp(x)

x10

 

 

 

 

 

 

0<x3

3<x<7

14

y1 =1exp(x)

 

y2

=1+3 2x+1

y3

=1lg2 (2x+1)

 

x0

 

 

 

 

 

 

0<x10

x

>10

15

y =arctg3 x

 

y

 

=(x+1)arctg π

y

 

=(x+1)lg π

1000<x0

 

0<x10

x

>10

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

3

 

16

y1 =tg(x1)

 

y

 

=3 x2 +2

y3

=log2 (ex +2)

0<x<1

 

 

 

 

 

 

12 xe

e<x<10, e=2,7183

33

Закінчення табл. 14

№ ва-

 

 

 

 

Функція y1

 

 

 

Функція y2

 

Функція y3

ріанта

та інтервал зміни х

 

 

та інтервал зміни х

 

та інтервал зміни х

17

y =cos 3 x2 +1

y2

x +1

 

 

y3

=lg(πx +1)

1

 

 

 

 

 

 

 

 

 

 

 

0<x≤π

 

 

π<x2π

 

1000<x0

 

 

18

y =e2x2 1

y2

=sin(x5 1)

y3

=lg(1024x2)

1

 

 

 

1

 

 

 

 

 

1<x5

 

 

5<x<25

 

5<x

 

 

 

 

 

 

 

19

y1 =

 

x7

 

 

 

 

y2

=tg(2πx)2

y3

=log2 (1024x2)

 

 

 

 

 

 

 

 

 

 

 

 

 

x7

 

 

 

 

 

 

 

 

 

7<x10

 

 

10

<x19

20

y =5

 

(3x)2

y

2

=ex2 / 2

 

 

y3 =lg2 (x3 3)

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3<x<1024

 

1000<x0

0<x3

 

 

21

y1 =(x2 +1)1/ 3

y2

=x / tg(x+1)

y3

=lg2(x+1)

1024<x0

0<x0.5

 

 

0.5<x<64

22

y =exp(x2 / 2)

y2

=tg(x+1)

 

y

=sin(xπ)/ lg2 x

2<x0

 

 

0<x1

 

 

1<x≤π

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

23

y =x3/ 4 +8

y2

=arctg(2πx+1)

y

=2 / lg2 x

1

 

 

 

 

 

 

 

 

 

 

 

8<x256

 

 

3

 

 

0<x8

 

 

 

 

 

 

 

 

x>256

24

y1 =1exp(x1)

y2

= arctg 3 x2 9

y3

=8/ log2 (2x)

 

8<x≤π

 

 

π<x8

 

 

x>8

 

 

 

 

 

 

 

 

 

 

 

 

sin x

y2 =2/ lg(x

3

+4)

y =4/(x+8)

25

y1 =(2x)

 

x3>8

 

2<x0

 

 

0<x8

 

 

 

 

 

y1

2x

 

 

y2

=x / lg(x+1)

y

=sin(2π3 x +1)

26

 

 

 

 

1

0<x10

 

 

3

<x20

9<x0

 

 

 

 

10

27

y1 =tg(πx)exp x

y2

=lg2 (x2 +2)

y3

=13lg x

−π<x0

 

 

0<x≤π

 

 

x

 

y =

3

 

tg

2

 

 

x

y2

=x / lg(x+1)

y

=exp(x+1)

28

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

1

 

 

 

<x0

0<x10

 

 

x>10

 

−π/ 2

 

 

29

y1 =

 

x

2

1

 

y2

=e

x2 / 2

 

 

y3

=1exp(x)

 

 

 

 

 

 

 

 

 

 

3<x<7

100<x0

0<x3

 

 

 

 

 

 

 

30

y1 =

3

 

x

2

+1

y2 =2/ lg(x

2

+4)

y3

=8/ log2 (2x)

 

 

 

 

 

 

x>8

 

x0

 

 

 

 

 

 

 

 

 

0<x8

 

 

ЗАВДАННЯ № 4. Рівень складності – складний.

Обчислити значення виразу відповідно до заданого варіанта табл. 15. Тут МІН, МАКС – знаходження програмним шляхом мінімального і максимального з виразів, перерахованих у дужках. Для перевірки обчислити заданий вираз із використанням вбудованих функцій у середовищі MathCad min() и max().

34

Таблиця 15

Варіанти завдання № 4

№ ва-

 

 

Вираз

ріанта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

А=

 

МІН(с f ,d) +5

 

МАКС(c, d f 2)

 

 

 

 

 

 

 

 

 

 

 

2

B =

МАКС(x + y, y z)

 

 

МІН( y + z, x)

 

 

 

 

 

 

 

 

 

 

 

3

H =

 

МІН(x z, y)

 

 

МАКС(x, z) + z

 

 

 

 

 

 

 

 

 

4

V =

МАКС(x a,b) + МІН(a,b + x)

 

 

2а

 

 

 

 

 

 

 

 

 

5

F =

МІН(x + y, y + z)

+ x y

 

 

 

 

 

МАКС(x, y z)

 

 

 

 

 

6

W =

 

МІН(x, a b)

 

 

МАКС(a +b, x)

 

 

 

 

 

 

7

P =

МІН(x y, y z) МАКС(x + y, z)

3

 

 

 

 

 

 

 

 

 

 

8С = МІН(x, b x) + 2 МАКС(a x,b)

9Q = МАКС(x y, z) МІН(3y, x)

 

 

 

4z + x

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

МІН(5x, y +

z

)

 

 

 

 

 

 

 

 

 

 

 

 

F =

5

 

 

+ x

3

 

 

МАКС(x, y 3)

 

 

 

 

 

 

 

 

 

 

11

Z =

МІН(x +b, y) x

 

 

МАКС(x2 , y b)

 

 

 

 

12

N =

МАКС(x z, y)

 

 

МІН(x + y + z, x y z)

 

 

 

 

 

 

 

 

 

13

A =

 

МАКС(c3 ,d) +7

 

 

 

МІН(d +c,a2 )

 

 

 

 

14B =5 МІН(a,b c) МАКС(a c,b)

15R = МІН(c d,n) + МАКС(с,n d)

№ ва-

 

 

 

 

 

 

Вираз

 

 

 

 

 

 

 

 

 

 

 

ріанта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16

Z =

 

МАКС(3a, x) МІН(a x, y)

 

 

 

 

 

x + y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17

P =

 

МАКС(x, y z)

 

+ МІН(x y, z)

 

 

 

x y z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18

Q =

 

d МІН(d,a)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МАКС(c d,

 

a

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19

U = МАКС(a,b) +

МІН(a,b c)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

T =

 

МАКС(x3 y, z)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x y z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МІН x

+ y + z,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21

S =

МАКС(x y, y) МІН(x + y, z)

 

 

 

 

 

 

10 y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22

L =

 

МІН(z, y + 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МАКС(x y, z) y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

J = МІН(a2 b, x3 ) МАКС(a x,b + x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

D =

 

МІН(x a,a b)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2МАКС(x,a +b)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25

I =

МАКС(x, z) МІН( y, x 2)

 

 

 

 

 

 

 

 

 

 

 

x + y4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

26

T =

 

МІН(x + y, z)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МАКС(x3 + z2 ) +5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

27

I =10

МАКС(x z, y z 8)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МІН(x +

y

, z)

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x + y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

28

P =

МАКС(x

y

, z) +

3

МІН z,

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

29

J =

МІН(b x + 2,c) + МАКС(c b, x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30

C = МАКС(a + n,m) 3МІН(m n, a)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

35

Лабораторна робота № 3

ПРОГРАМУВАННЯ ЗАДАЧ ЦИКЛІЧНОЇ СТРУКТУРИ

Мета роботи:

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

2.Вивчити оператор циклу for.

3.Освоїти прийоми переходу від схеми алгоритму до програми.

1.Порядок виконання роботи

1.Ознайомитися з методичними вказівками до лабораторної роботи.

2.У зошиті для лабораторних робіт підготувати задачу для розв’язання на комп'ютері (математична постановка, схема алгоритму та її опис, текст програми, контрольні приклади виконання програми).

3.Завантажити MathCad, набрати текст програми та налагодити її, отримати результати виконання програми.

4.Проаналізувати результати.

5.Роздрукувати текст програми і результати (лістинг).

6.Оформити звіт.

2.Короткі теоретичні відомості

2.1.Алгоритм циклічної структури

Алгоритм, у якому передбачено неодноразове виконання однієї і тієї самої послідовності дій при різних значеннях деяких змінних, називається цик-

лом.

Змінна, що програмно змінюється при кожному новому повторенні обчислень, називається змінною циклу.

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

Усередовищі MathCad використовуються два види циклів:

цикл «з параметром»;

цикл «з передумовою»;

Циклічні базові структури наведені на рис. 8.

У даній лабораторній роботі розглядається тільки цикл «з параметром», у якому для змінної циклу заздалегідь відомі межі її зміни та крок. Позначимо:

х– змінна циклу, хп – початкове значення, хк – кінцеве значення, х – крок

їїзміни. При цьому будемо вважати, що: хп<хк, а х>0. Кількість повторень

 

 

х

х

 

 

циклу «з параметром» обчислюється за формулою

N =

к

п

 

+1, де ц.ч –

х

 

 

ц.ч

 

ціла частина.

36

а

б

Ні

Умова

Так

Тіло циклу

Рис. 8. Циклічні базові структури: а – цикл «з параметром»; б – цикл «з передумовою»

Цикл «з параметром» складається зазвичай з одних і тих самих кроків, які розташовані в певному порядку. Розгорнута схема алгоритму такого циклу із змінною х в загальному вигляді наведена на рис. 9. Тут перевірка умови здійснюється до виконання тіла циклу. Якщо при першій же перевірці умова виявиться хибною, то тіло циклу жодного разу не буде виконуватися.

х = хп

 

х ≤ хк

Ні

Так

 

Тіло циклу

 

х = х + ∆х

I крок

Підготовка циклу: присвоєння змінній циклу х

початкового значення х

 

 

п

 

 

Управління циклом: порівняння поточного значення

 

змінної циклу х з кінцевим значенням

хк; якщо

II крок

умова ххк набуває значення ІСТИНА,

то управ-

 

ління передається на початок тіла циклу, інакше

 

відбувається вихід з циклу

 

III крок

Тіло циклу

 

IV крок

Модифікація змінної циклу: обчислюється наступне

значення змінної циклу х з урахуванням кроку х

Рис. 9. Розгорнута схема алгоритму циклу «з параметром»

На рис. 10 в загальному вигляді поданий скорочений варіант схеми алгоритму циклу «з параметром», у якому в блоці «модифікація» для змінної циклу х задаються її параметри, тобто хп, хк , х. У цьому блоці передбачаєть-

ся виконання I, II і IV кроків циклу (див. рис. 9) для змінної х із заданими параметрами.

37

Підготовка, управління, модифікація: указу- I, II, IV кроки ється, за якою змінною організовується цикл і

закон її зміни

 

III крок

Тіло циклу

 

Рис. 10. Скорочена схема циклу «з параметром»

2.2.Оператор циклу for

Укожній мові програмування міститься ряд операторів, призначених для опису циклічних обчислювальних процесів. У середовищі MathCad використовується два оператори циклу: for і while. У даній лабораторній роботі розглядається тільки оператор циклу for.

Оператор for використовується для реалізації циклу «з параметром». Шаблон для запису оператора for створюється за допомогою кнопки на

панелі програмування і містить три маркери введення (рис. 11, а, в).

Правило заповнення шаблону:

праворуч від ключового слова for записується ім'я змінної циклу, а після символу приналежності ( ) – її значення.

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

 

а

 

 

б

 

 

 

 

 

в

 

 

 

 

for

 

 

 

Ім'я

 

Значення

 

 

 

 

 

 

for

 

 

 

 

 

 

 

 

змінної циклу

 

 

 

 

 

 

for

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тіло циклу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 11. Загальний вигляд оператора for

Зауваження. У даній лабораторній роботі змінна циклу задається у вигляді ранжируваної змінної. Приклад заповнення оператора for з ранжируваною змінною циклу х на-

ведений на рис.12.

for x xn, xn+∆x .. xk

Тіло циклу

Рис. 12. Приклад заповнення оператора for

Правило виконання оператора for:

1.Змінній циклу присвоюється початкове значення.

2.Поточне значення змінної циклу порівнюється з кінцевим значенням.

38

Rпоч до
Rкін

Якщо воно не перевищує кінцевого значення, то перехід до п. 3, інакше цикл завершується і виконання програми переходить до оператора, розташованого

втакому рядку після оператора for.

3.Виконується тіло циклу.

4.Поточне значення змінної циклу змінюється на крок і перехід до п. 2.

3. Приклади розв’язання задач

Приклад № 1

Умова задачі. Обчислити довжину кола і площу круга при значеннях радіуса R, який змінюється від з кроком R . Результати сформува-

ти у вигляді матриці з трьома стовпцями. У перший стовпець вивести значення радіуса. У другий і третій стовпці вивести значення довжини кола і площі круга, відповідні радіусу.

Підготовка задачі

I.Математична постановка завдання

1.Прийняті позначення:

R – радіус круга (змінна циклу), Rn – початкове значення, Rk – кінцеве значення, R – крок зміни радіуса, L – довжина кола, S – площа круга, mR – матриця результатів, i – номер рядка матриці mR для формування результатів. Початкове значення i залежить від значення системної змінної ORIGIN. Якщо ORIGIN дорівнює нулю, тоді нумерація рядків і стовпчиків починається з нуля.

2.Дано: Rn, Rk, R .

3.Основні залежності:

L=2πR ; (1)

mRi,0 ="Радіус";

(4)

mRi,0 =R ;

(7)

S R2 ;

(2)

mR

="Довжина";

(5)

mR

=L ;

(8)

 

 

i,1

 

 

i,1

 

 

i=i+1;

(3)

mRi,2 ="Площа" ;

(6)

mRi,2 =S ;

(9)

4. Обмеження:

Залежності(1)–(3), (7)–(9) виконуютьсядлязначень R [Rn, Rk] зкроком R . Залежності (4)–(6) виконуються для значення i=0.

5.Знайти: L і S.

II. Схема алгоритму

Уцьому прикладі розглянуто спосіб формування матриці результатів за допомогою поступового заповнення її рядків. Для позначення номера (індекса) рядка матриці використовується змінна i. Перед заголовком циклу цій змінній присвоюється початкове значення (залежно від значення системної змінної ORIGIN). У тілі циклу перед черговим заповненням рядка матриці її значення збільшується на одиницю.

39

Схема алгоритму і її опис наведені в табл. 16.

Таблиця 16

Схема алгоритму і її опис

Схема алгоритму

Опис схеми алгоритму

 

Блок 1.

Вхід в програму-функцію з трьома

 

 

 

формальними параметрами Rпоч,

 

 

Rкін, R

 

Блок 2. Присвоєння змінній i початкового

 

 

 

значення нуль

 

 

 

 

 

Блок 3.

У першому рядку матриці mR з ін-

 

 

дексом i = 0 формуються заголовки

 

 

стовпців

Блок 4. Заголовок циклу for. Змінна циклу – R (ранжирувана). Якщо умова RRk набуває значення ІСТИНА, то перехід до блоку 5, інакше ( R>Rk ) перехід до блоку 8

Блок 5. Тіло циклу. Обчислення L і S

Блок 6. Збільшення індексу рядка матриці на одиницю

Блок 7. Заповнення матриці результатів mR і перехід до блоку 4

Блок 8. Вихід. Завершення роботи програ- ми-функції. Повернення масиву даних mR

40