2.6. Вирази
З констант, змінних, роздільників і знаків операцій можна конструювати вирази. Кожен вираз являє собою правило обчислення нового значення. Кожен вираз складається з одного або кількох операндів, символів операцій і обмежувачів. Якщо вираз формує ціле або дійсне число, то воно називається арифметичним. Два арифметичних вирази, об’єднані операцією порівняння, називаються відношенням. Якщо відношення має ненульове значення, то воно – істинне, в іншому випадку – неправдиве.
2.7. Ввід й вивід даних
У мові C/C++ немає вбудованих засобів вводу й виводу – він здійснюється за допомогою функцій, типів і об’єктів, які містяться у стандартних бібліотеках. Існує два основні способи: функції C і об’єкти C++.
Для вводу/виводу даних у стилі C використовуються функції, які описуються в бібліотечному файлі stdio.h.
printf (форматний рядок, список аргументів);
форматний рядок – рядок символів, взятих у лапки, який показує, як повинні бути надруковані аргументи. Наприклад:
printf (”Значення числа Пі рівно %f\n”, pi);
Форматний рядок може містити:
символи, що друкуються текстуально;
специфікації перетворення;
керуючі символи.
Кожному аргументу відповідає своя специфікація перетворення:
% d, %i– десяткове ціле число;
% f– число із плаваючою крапкою;
% e,%E– число із плаваючою крапкою в експонентній формі;
% u– десяткове число в беззнаковій формі;
% c– символ;
% s– рядок.
У форматний рядок також можуть входити керуючі символи:
\n – керуючий символ новий рядок;
\t – табуляція;
\a – звуковий сигнал і ін.
Також у форматному рядку можуть використовуватися модифікатори формату, які управляють шириною поля, яке виділяється для розміщення виведеного значення. Модифікатори – це числа, які вказують мінімальну кількість позицій для виводу значення й кількість позицій для виводу дробової частини числа:
% [-]m[.p]C, де
– – задає вирівнювання по лівому краю,
m– мінімальна ширина поля,
p – кількість цифр після коми для чисел із плаваючою крапкою й мінімальна кількість виведених цифр для цілих чисел (якщо цифр у числі менше, ніж значення р, то виводяться початкові нулі),
С –специфікація формату виводу.
printf("\nСпецифікації формату:\n%10.5d - ціле, \n \\ %10.5f - із плаваючою крапкою\\n %10.5e – \\ в експонентній формі\n%10s - рядок", 10, 10.0, 10.0, "10");
Буде виведено:
Специфікації формату:
00010 – ціле
10.00000 – із плаваючою крапкою
1.00000е+001 - в експонентній формі
10 – рядок.
scanf (форматний рядок, список аргументів);
у якості аргументів використовуються адреси змінних. Наприклад:
scanf(“ %d%f ”, &x,&y);
При використанні бібліотеки класів C++, використовується бібліотечний файл iostream.h, у якому визначені стандартні потоки вводу даних від клавіатури cin і виводу даних на екран cout, а також відповідні операції
<<– операція запису даних у потік;
>>– операція читання даних з потоку.
#include <iostream.h>;
…
cout << “\nВведіть кількість елементів: ”;
cin >> n;
Постановка задачі
Для задачі 1 визначити тип заданих виразів і знайти їхні значення.
Скласти систему тестів і обчислити отриманий вираз для кількох значень х, визначити, при яких х вираз не може бути обчислений.
Для задачі 2 записати вираз, що залежить від координат точки X1 і Y1 і приймає значення TRUE, якщо точка належить заштрихованій області, і FALSE, якщо не належить.
Скласти систему тестів і обчислити отриманий вираз для кількох точок, що належать і не належать заштрихованій області.
Для задачі 3 обчислити значення виразу, використовуючи різні дійсні типи даних (float і double).
Пояснити отримані результати.
Результати всіх обчислень вивести на друк.