Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет_1 часть_укр.doc
Скачиваний:
2
Добавлен:
09.11.2019
Размер:
1.41 Mб
Скачать

2. Лабораторна робота 1. «Обчислення арифметичних виразів» (2 год.)

Мета роботи: Одержання навичок роботи з арифметичними типами даних і операціями, складання простих програм.

2.1. Теоретичні відомості

При обчисленні арифметичних виразів необхідно враховувати тип змінних-операндів, що беруть участь в операціях. Нижче дані правила дії над операндами різних типів.

2.2.1. Приведення типів

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

int a1;

float c2=a1/99.;

при обчисленні c2 тип першого операнду a1 приводиться до float, тобто до типу другого операнду – дійсної константи 99.

В операціях присвоювання тип результату (правої частини) приводиться до типу лівого операнду. Наприклад, при виконанні фрагмента:

double a1=2.2, b1=3;

int mult=a1*b1;

змінна mult одержить значення 6, але точне значення повинне бути 6.6.

Результатом виконання операторів:

int m=4, n=5;

double div=m/n;

буде значення div=0, оскільки цілочисельне ділення цілих змінних m і n дасть 0. Щоб одержати правильне значення для змінної div у даному прикладі необхідно виконати явне приведення типів, що записується як вираз

(тип)

перед тієї змінної, котру потрібно явно привести до зазначеного типу. Тому для змінних m і n цілого типу правильним буде запис:

double div = (double)m/n;

Тоді змінна m, до якої застосована операція приведення, розглядається як дійсна величина типу double. Так що ділення здійснюється вже не з цілими, а з дійсними числами, і дає правильний результат: 0.75.

2.2. Постановка задачі

  1. Обчислити значення виразу (див. розд. «Варіанти») при заданому a і різних b. Значення b змінювати при кожному запуску програми. Виконати обчислення при різних дійсних типах даних (float і double). У програмі для обчислення виразу використати проміжні змінні.

  2. Спростити заданий вираз шляхом алгебраїчних перетворень і обчислити точне значення виразу.

  3. Порівняти й пояснити результати, отримані згідно п.1 і п.2.

2.3. Варіанти

Завдання

1

, при а=1000, b=10-4, 10-5, 10-6

2

, при а=1000, b=10-4, 10-5, 10-6

3

, при а=1000, b=10-3, 10-5, 10-7

4

, при а=1000, b=10-12, 10-14, 10-16

5

, при а=1000, b=10-3, 10-5, 10-7

6

, при а=1000, b=10-12, 10-14, 10-16

7

, при а=1000, b=10-12, 10-14, 10-16

8

, при а=1000, b=10-2, 10-3, 10-4

9

, при а=1000, b=10-5, 10-7, 10-9

10

, при а=1000, b=10-2, 10-3, 10-4

11

, при а=1000, b=10-5, 10-7, 10-9

12

, при а=1000, b=10-4, 10-5, 10-6

13

, при а=1000, b=10-4, 10-5, 10-6

14

, при а=1000, b=10-3, 10-5, 10-7

15

, при а=1000, b=10-12, 10-14, 10-16

16

, при а=1000, b=10-3, 10-5, 10-7

17

, при а=1000, b=10-12, 10-14, 10-16

18

, при а=1000, b=10-12, 10-14, 10-16

19

, при а=1000, b=10-2, 10-3, 10-4

20

, при а=1000, b=10-5, 10-7, 10-9

21

, при а=1000, b=10-2, 10-3, 10-4

22

, при а=1000, b=10-5, 10-7, 10-9

23

, при а=1000, b=10-3, 10-5, 10-7

24

, при а=1000, b=10-12, 10-14, 10-16

25

, при а=1000, b=10-3, 10-5, 10-7