
МЕТОДИЧКА_С++_Ч1
.pdfasin - арксинус - arcsin x:
double asin(double x);
atan - арктангенс - arctg x:
double atan(double x);
atan2 - арктангенс - arctg x/y:
double atan2(double x, double у);
exp - експонента :
double exp(double x);
log - натуральний логарифм - ln x:
double log(double x);
log10 - десятковий логарифм - log10x:
double log10(double x);
pow – повертає значення xy , тобто x у степені y
double pow(double x,double y);
pow10-повертає значення 10p
double pow10(int p);
Послідовність виконання роботи:
1.Уважно ознайомтеся з теоретичним матеріалом щодо виконання практичної роботи.
2.Вивчити:
-запис змінних, стандартних функцій;
-правила запису арифметичних виразів;
3.Розробити алгоритм рішення у відповідності з завданням
4.Скласти програму рішення задачі.
5.Підготувати тестовий варіант вихідних даних і обчислити за допомогою калькулятора значення обчислюємих в програмі величин.
6.Оформити звіт по практичній роботі. Звіт повинен містити: тему, мету,
постановку задачі, алгоритм програми, текст програми і результати роботи програми.
21

Завдання до практичної роботи
Скласти програму, яка підраховує і виводить значення z1 і z2 за формулами,
які приведені у Вашому варіанті індивідуального завдання (Таблиця 3.1). Визначити області допустимих значень параметрів формул і задати довільні значення з цих областей. Параметри, які мають імена: n і m - цілі, решта параметрів - з плаваючою крапкою. Значення параметрів з іменами x і у повинні вводитися з клавіатури,
значення останніх - задаватися як початкові значення при оголошенні відповідних змінних. Допускається (і навіть бажано) спростити/ розкласти формули для того,
щоб забезпечити мінімізацію об'єму обчислень .
Таблиця 3. 1.Варіанти індивідуальних завдань.
Варіанту№ |
Варіанту№ |
|
Розрахункові формули |
z1 |
ax |
|
|
|
|
|
b |
|
|
lg(yx c) |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
1 |
|
|
|
|
|
|
|
y |
|
|
y2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
c2 b2tgax 2 |
|||||||||||||||||||||||||||||||
z2 |
|
|
|
|
|
|
|
|
|
|
|
|
ln |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
2ab |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
c2 b2tgax 2 |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
z1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
ln |
a x |
|
||||||||||
|
|
(a b)(b x) |
|
(a b)2 |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
b x |
|||||||||||||||||||||||||||||||||||||||||||||
3 |
|
1 |
|
|
|
|
|
|
|
|
ax |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
4 |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
z2 |
|
|
|
|
|
|
|
lntg |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
sin ax |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
|
|
|||||||||||||||||
z1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n 2 |
|
|
|
|
|
|
|
|
|
|
n 1 |
||||||||||||||||||||
|
|
a |
|
|
|
|
|
(n 2)x |
|
|
|
|
(n 1)x |
|
||||||||||||||||||||||||||||||||||||||||||
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
2x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
2 |
|
|
|
|
|
6 |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
z2 |
|
|
|
|
|
|
2 |
|
|
sin ax |
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
a |
|
|
|
|
|
a |
|
a |
cosax |
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
1 |
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
3 |
|||||||||||||||
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|||||||||||||||
z1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3bx 3b |
|
|
ln x |
|
|
|
|
|||||||||||||||||||||||||||||||||
a |
|
4 |
|
|
|
|
|
|
|
|
x |
|
|
|||||||||||||||||||||||||||||||||||||||||||
7 |
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|||
z2 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
tg |
ax |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
1 sin ax |
|
|
a |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
1 |
|
|
|
|
|
|
y |
|
|
|
|
|
|
a |
2 |
x |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
z1 |
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
b |
|
ln |
x |
2y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|||||||||||||||||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
ax |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
ax |
|
|
|
|
|
|
|
||||||||||||||||||||
z2 |
|
tg |
|
lntg |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
a |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Розрахункові формули
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
y yx a |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
z1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ln |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
c ax b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ax c |
|
|
|
|
||||||||||||||||||||||||||||||||||||||
z2 |
|
|
|
sin ax |
|
|
|
|
1 |
|
lntg |
ax |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
2acos2 x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
2a |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
z1 |
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
2 |
ln |
a x |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
(a b)2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(a b)3 |
b x |
|||||||||||||||||||||||||||||||||||
|
|
|
a x |
1 x |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
z2 |
1 |
|
cosax |
|
|
|
lntg |
|
ax |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
2 ax |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
2a sin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|||||||||||||||||||||||||||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2b |
|
|
|
|
|
|
|
|
|
b |
2 |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
z1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
3 ln x |
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2x |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
z2 |
|
|
|
|
cosax |
|
|
|
|
|
1 |
|
|
|
lntg |
ax |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
2asin 2 ax |
2a |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
1 |
|
|
|
|
|
|
y |
|
|
|
|
|
|
ax |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
z1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
ln |
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
z2 |
x |
|
tg |
ax |
|
|
2 |
|
|
|
lnsin |
|
ax |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
a |
|
|
2 |
|
|
|
|
|
|
|
a2 |
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
y |
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 ln |
|
|
|
|
|
||||||||||||||||||||||||||||||
z1 a |
|
y |
x |
|
b |
|
x |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
b |
|
|
|
|
|
|
|
ab |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
z2 |
1 |
ctg |
ax |
|
|
|
|
1 |
ctg3 |
|
ax |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
2a |
|
|
2 |
|
|
|
|
|
|
|
|
6a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Продовження таблиці 3.1.
Варіанту№ |
Варіанту№ |
|
Розрахункові формули |
|
|
|
|
1 |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
2ax |
|
|
|
|
y2 |
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
z1 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
a ln |
|
|
|
|
|
|
|
|
|
|
y |
|
|
2x |
2 |
|
|
|
|||||||||||||||||||||||||||||||||||||||||
11 |
|
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|||||||||||||||||
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
3sin |
|
2 |
|
|
ax 1 |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
z2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
2 |
|
|
|
|
|
2a |
|
|
|
|
|
|
|
sin2 ax 1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
z1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
2(n 1)xn 1 |
|
|
|
2nxn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
z2 |
|
|
|
|
tg2ax |
|
lncosax |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
2a |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
z1 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
ln |
|
x3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
3a3 y |
|
|
3a6 |
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
15 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
16 |
||||||||||
z2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
a |
|
(n 1)cos |
n 1 |
ax |
|
|
(n 1)cos |
n 3 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ax |
||||||||||||||||||||||||||||||||||||||||
z1 |
1 |
|
|
|
|
|
|
ln |
a x |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
6a3 |
|
|
|
|
|
|
|
|
2a3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
17 |
|
|
|
|
|
|
|
|
|
|
|
a x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|||||||||||||||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
tgax b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
z2 |
|
|
|
|
ln |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
ab |
tgax b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2a2 |
|
|
|
|
|
|
|
|
|
|
|
|
2a |
3 |
|
|
|
|
|
|
|
|
|
|||||||||||||||||
z1 |
|
|
|
|
|
x |
|
|
|
|
|
|
x |
|
|
|
|
|
y |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
3b2 |
|
|
|
|
|
|
|
b4 |
|
|
|
|
|
|
|
|
|
|
|
|
b3 |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|||||||||||||||||||||||
|
|
|
|
sinn 1 ax cosm 1 ax |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||
z2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a(n m) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x a |
|
|
|
|
|
|
|
a2 |
|
|
|
|
|
|
|||||||||||||||||||||||||
z1 |
|
|
|
|
|
|
|
|
|
|
ln |
|
|
|
|
|
2x |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
21 |
|
|
|
2a 2 x a 2x a2 |
|
|
|
|
22 |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
z2 |
|
|
|
|
tg2ax c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
2a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
z1 |
|
|
|
|
|
ln |
|
|
|
|
|
x |
|
|
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
b |
|
|
|
|
|
x |
|
|
|
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
23 |
|
|
|
|
sin2 |
ax |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
||||||||||||||||||
z2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lncosax |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
2 |
|
|
|
|
|
x |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
2 |
|
|
|
|
|||||||||||||||||||
z1 |
|
|
|
|
|
|
|
|
|
|
2b |
|
|
|
|
x |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
a |
3 |
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|||||||||||||||||||||||||||||||||||||||||
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
z2 2cos |
x y |
sin |
x y |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Розрахункові формули
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
y |
|
|
|
a2 x |
|
|
|
|
|
3ay |
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
z1 |
|
|
|
|
|
4 |
3a ln |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
b |
|
|
x |
|
|
|
|
|
x |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ax |
|
|
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
2btg |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
z2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
a |
|
|
|
b2 |
c2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
z1 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
y2 |
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ln |
|
|
|
|
|
||||||||||||
|
|
4a |
|
2 x2 |
|
|
2a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
4 x 2a6 |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
z2 |
x |
|
|
|
|
|
1 |
|
|
|
|
ln sin ax cosax |
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
2a |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
z1 |
|
1 |
|
|
|
ln |
a2 |
ax x2 |
|
|
1 |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
6a |
|
|
|
|
|
|
|
(a x)2 |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
a 3 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
z2 |
1 |
|
|
ln(b ccosax) |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
ac |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
z1 |
|
|
|
|
|
1 |
|
|
|
|
ln |
|
a2 x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
4a |
3 |
|
|
a |
2 x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
z2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cosn 1 ax |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
a(m 1)sinm 1 ax |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3b2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
z1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
a2 y |
|
|
|
|
|
|
|
|
|
|
|
|
a4 y |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
ax |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
z2 |
|
|
|
|
|
|
|
lntg |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sin ax |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
z1 |
|
|
|
|
2(3ax 2b) |
|
x3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15a2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
z2 cosax |
|
|
|
sin3 |
ax |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
cos2 ax |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
2 |
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
7b |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
z1 |
|
|
|
|
|
|
x5 |
x7 |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
35a2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
z2 |
|
|
|
|
|
|
|
sin ax |
|
|
|
|
|
|
1 |
lntg |
ax |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
2cos2 ax |
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
1 |
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
z1 |
|
ln(ax b) |
ln(yx |
d) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
c |
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
z2 |
|
|
|
|
|
1 |
|
|
|
|
|
ln |
|
|
|
|
|
|
|
c2 |
b2 tgax 2 |
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
2ab |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
c2 |
b2 tgax 2 |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23

Приклад виконання роботи:
Скласти програму, яка підраховує і виводить значення z1 і z2 за формулами.
Визначити області допустимих значень параметрів формул і задати довільні значення з цих областей. Параметри, які мають імена: n і m - цілі, решта параметрів -
з плаваючою крапкою. Значення параметрів з іменами x і у повинні вводитися з клавіатури, значення останніх - задаватися як початкові значення при оголошенні відповідних змінних. Допускається (і навіть бажано) спростити/ розкласти формули для того, щоб забезпечити мінімізацію об'єму обчислень .
1 |
b |
|
d |
|
z2 |
1 |
ln |
|
c2 |
b2 tgax 2 |
|||
z1 |
|
|
|
ln(ax b) |
|
ln(yx d) |
|
|
|
|
|
||
c |
|
y |
2ab |
|
|
|
|
||||||
|
a |
|
|
|
|
|
c2 |
b2 tgax 2 |
1. Розробка алгоритму рішення.
Основний алгоритм
Алгоритм рішення задачі - лінійний і складається з:
введення значень x і у;
обчислення значення z1;
обчислення значення z2;
виведення значень z1 і z2.
2.Оптимізація алгоритму
Перед безпосереднім програмуванням алгоритму проаналізуємо, як в ньому можна змінити об'єм обчислень.
Вираз ах зустрічається один раз в першій формулі і двічі - в другій. Отже,
можна один раз провести множення a*x, а потім використовувати цей результат.
У другій формулі двічі зустрічається множення квадратного кореня на тангенс - це обчислення можна так само зробити один раз.
Вираз c 2- b 2 можна розкласти на (c+b)(c-b). До розкладання у виразі були дві операції множення (піднесення до ступеню 2) і одна - складання. Після розкладання
- два складання і одне множення, що вигідніше для обчислень.
24

3. Обмеження на значення параметрів
Аргумент функції, яку обчислює логарифм, не може бути 0 або менше. Звідси
витікають вимоги до значень: |
a * x + b > 0; |
y * x + d > 0 |
Аргумент функції добування квадратного кореня не може бути менше 0, |
||
звідси: c 2-b 2 >= 0 |
|
|
У знаменнику виразу не може бути 0, звідси: |
a≠0; b≠0; c≠0; y≠0 крім того: |
с2 b2 tgax 2
4. Визначення змінних програми
Для вирішення завдання нам знадобляться змінні для представлення кожного параметра формул - а, b, с, d, x, у і результатів - z1, z2. Крім того, доведеться ввести додаткову змінну ах для зберігання проміжного результату, необхідного для оптимізації. Тип всіх змінних - double.
5. Розробка тексту програми
Програма на С |
Програма на С++ |
|
||
#include <stdio.h> |
#include <iostream.h> |
|||
#include <conio.h> |
#include <math.h> |
|||
#include <math.h> |
int main(void){ |
|
||
int main(void) { |
|
// параметри, які вводяться |
||
/* параметри, які вводяться */ |
double x,y; |
|
|
|
double x,y; |
|
// параметри, які задаються в |
||
/* параметри, які задаються в |
програмі |
|
b=1.3; |
|
програмі */ |
b=1.3; |
double a=12.5, |
||
double a=12.5, |
double c=14.1, |
d=2.7; |
||
double c=14.1, |
d=2.7; |
double z1, z2; |
/* результати */ |
|
double z1, z2; |
/* результати */ |
double ax; |
/* робоча змінна */ |
|
double ax; |
/* робоча змінна */ |
cout<<"ENTER x, y \n"; |
||
printf("Enter x, y >"); |
cin>>x;//введення x |
|||
scanf("%lf %lf",&x,&y); |
cin>>y;//введення y |
|||
ax=a*x; |
|
ax=a*x; |
|
|
z1=(b*log(ax+b)/a+d*log(y*x+d)/y)/c; |
z1=(b*log(ax+b)/a+d*log(y*x+d)/y)/c; |
|||
ax=sqrt((c-b)*(c+b))*tan(ax); |
ax=sqrt((c-b)*(c+b))*tan(ax); |
|||
z2=log((ax+b)/(ax-b))/2/a/b; |
z2=log((ax+b)/(ax-b))/2/a/b; |
|||
printf("z1 = %lg\n",z1); |
cout<<"z1 = "<<z1<<endl; |
|||
printf("z2 = %lg\n",z2); |
cout<<"z2 = "<<z2<<endl; |
|||
getch();//чекання натиснення будь- |
cin.get();//чекання натиснення будь- |
|||
якої клавіши |
|
якої клавіши |
|
|
return 0;} |
|
return 0;} |
|
|
25
Звіт
1.Тема практичної роботи.
2.Мета практичної роботи.
3.Умови завдання.
4.Намалюваний алгоритм у вигляді блок-схеми програми.
5.Текст програми.
6.Відповіді на контрольні питання.
7.Висновки.
Контрольні питання
1.Що таке алгоритм з лінійною структурою? Дайте визначення.
2.Які оператори потрібні для запису такої структури алгоритму?
3.Які основні типи даних існують в мові С++?
4.Як визначаються змінні в мові С++?
5.В якому бібліотечному файлі знаходяться математичні функції?
6.Перерахуйте основні математичні функції.
26
Практична робота № 4
Тема: Програмування алгоритмів розгалудженої структури
в мові С++.
Мета роботи: Отримання практичних навичків розробки, програму вання обчислювального процесу розгалудженої структури, отримання навиків по відлагодженню і тестуванню програми .
Теоретичні відомості
Для організації розгалуджень в програмах використовуються оператори вибору:
умовний оператор (if…else) і перемикач (switch). Кожен з них служить для вибора шляху виконання програми.
Синтаксис умовного оператора:
if (вираз) оператор_1
else оператор_2;
Вираз повинен бути скалярним і може мати арифметичний тип або тип вказівника. Якщо вираз не дорівнює нулю, то умова вважається істиною і виконується оператор_1. У протилежному випадку виконується оператор_2.
У виразі можуть застосовуватися операції відношень і логічні операції. Розглянемо їх.
У Сі використовується той же набір операцій відношень, що і в Паскалі. Слід лише звернути увагу на відмінність в записі операцій «дорівнює» і «не дорівнює».
<меньше
<= меньше або дорівнює
>більше
>= більше або дорівнює
==дорівнює
!= не дорівнює.
Результатом операції відношень є ціле число: якщо відношення істинне — то 1,
якщо помилково — то 0.
Приклади відношень:
а<0, 101>=105, 'а'=='А' 'а'! = 'А'
27

Результатом другого і третього стосунків буде 0 — брехня; результат четвертого відношення дорівнює 1 — істина; результат першого відношення залежить від значення змінної а.
Три основні логічні операції в мові Сі записуються інакше, ніж в Паскалі.
!операція заперечення (НІ)
&&кон'юнкція, логічне множення (І)
||диз'юнкція, логічне додавання (АБО).
Правила їх виконання визначаються таблицею істинності (таблиця 4.1).
Таблиця 4.1 Таблиця істиності.
A |
B |
Not A |
A And B |
A Or B |
A Xor B |
|
|
|
|
|
|
True |
True |
False |
True |
True |
False |
|
|
|
|
|
|
True |
False |
False |
False |
True |
True |
|
|
|
|
|
|
False |
False |
True |
False |
False |
False |
|
|
|
|
|
|
False |
True |
True |
False |
True |
True |
|
|
|
|
|
|
Наприклад, логічний вираз, відповідний системі нерівностей 0 < х < 1 в
програмі на Сі запишеться у вигляді наступного логічного виразу:
Звернете увагу , що тут не знадобилися круглі дужки для виділення операцій відношення. На відміну від Паскаля, де операції відношень мають найнижчий пріоритет, в Сі операції відношень старше кон'юнкції і диз’юнкції. По убуванню пріоритету логічні операції і операції відношень розташовані в наступному порядку:
!
> < >= <=
== !=
&&
||
В якості операторів неможна використовувати опис і визначення. Однак тут можуть бути складні оператори і блоки:
if (х > 0) { х = -х; f(x * 2); }
else {int i = 2; x *= i; f(x);}
28
У свою чергу, оператор_1 і оператор_2 можуть бути умовними, що дозволяє організовувати ланцюжок перевірок умов будь-якої глибини вкладеності.
У цих ланцюжках кожен з умовних операторів (після умови, що перевіряється, і
після else) може бути як повним умовним, так і мати скорочену форму запису.
При цьому можуть виникати помилки неоднозначного зіставлення if і else.
Синтаксис мови припускає, що при вкладеннях умовних ітераторів кожне else
відповідає найближчому до нього передуванню if. Як приклад невірного тлумачення цього розглянемо такий приклад:
if (х == 1)
if (у== l) cout<< "х дорівнює 1 і у рівне 1";
else cout <<"x не дорівнює 1";
При х, рівному 1, і у, рівному 1, абсолютно справедливо друкується фраза "х
рівне 1 і у рівне 1". Проте фраза "х не рівне 1" може бути надрукована тільки при х,
рівному 1, і при у, не рівному 1, оскільки else відноситься до найближчого if.
Зовнішній умовний оператор, де Перевіряється х==1, є скороченим і як оператора_1
включає повного умовного оператора, в якому перевіряється умова y==1. Таким чином, перевірка цієї умови виконується тільки при x, рівному 1! Просте правильне вирішення цього мікрозавдання можна отримати, застосувавши фігурні дужки,
тобто побудувавши складений оператор. Потрібно фігурними дужками обмежити зону дії внутрішнього умовного оператора, зробивши його неповним. Тим самим зовнішній оператор перетвориться на повного умовного:
if (х==1)
{ if (y==1) cout << "х дорівнює 1 і у рівне 1";}
else cout << "х не дорівнює 1";
Тепер else відноситься до першого if, і вибір виконується вірно.
Перемикач (оператор прийняття рішень) виконує дії, ґрунтуючись на порівнянні значень зі списком констант символів або цілих чисел. При виявленні збігу виконується оператор або оператори, асоційовані з даним значенням.
Синтаксис перемикача такий:
switch (вираз){
case константа_1: послідовність операторів; break;
29
case константа_2: послідовність операторів; break;
. . .
case константа_n: послідовність операторів; break;
default: послідовність операторів; }
Оператор default виконується, якщо не знайдено відповідності. default
необов’язковий і, якщо його немає то у випадку відсутності збігів нічого не відбувається. Коли виявляється збіг, оператори, асоційовані з відповідним case,
виконуються доти, поки не зустрінеться оператор break. У випадку default
(або останнього case, або відсутності default), оператор switch закінчує свою роботу при виявленні кінця.
Треба знати про три важливих момента оператора switch :
1.switch відрізняється від if тим, що він може виконувати тільки операції перевірки строгої рівності, в той час як if може обчислювати логічні вирази і відношення.
2.не може бути двох констант в одному операторі switch, що мають однакові значення. Звичайно ж, оператор switch, що містить в собі другий оператор switch, може містити аналогічні константи.
3.якщо в операторі switch використовуються символьні константи, вони автоматично перетворюються до цілочислових значень.
Приклад програми з перемикачем:
//назва непарних цілих цифр, не менших заданої
#include <iostream.h> #include <conio.h> void main () {
char ic;
cout << "\n Vvedit desytkovu cifru: "; cin >> ic;
cout <<'\n'; switch (ic)
{
case '0': case '1': cout << "one, "; case '2': case '3': cout << "three, "; case '4': case '5': cout << "five, "; case '6': case '7': cout << "seven, "; case '8': case '9': cout << "nine. ";
30