You are on page 1of 11

Лабораторна робота №2 (методичні вказівки)

з дисципліни «Алгоритмізація та програмування»


Тема: "Математичні обчислення на мові С ++"

МЕТА РОБОТИ

Вивчити теоретично базові типи даних мови С ++ і реалізувати консольний


додаток лінійної структури для введення / виведення і обробки змінних базових
типів з використанням вбудованих операцій та бібліотечних функцій на мові
програмування C ++ в середовищі Visual Studio.

ПОСТАНОВКА ЗАДАЧІ

Завдання 1. Обчислити математичний вираз зі змінними дійсного типу,


використовуючи стандартну бібліотеку cmath. Число π має бути визначено як
константа дійсного типу. Вирази представлені в табл.1.
Завдання 2. Вирішити задачу з цілочисельними змінними. Всі вхідні і
вихідні дані в задачах цієї групи є цілими числами. Всі числа, для яких вказано
кількість цифр (двозначне число, тризначне число і т. д.), вважаються
додатними. Завдання представлені в табл.2.
Завдання 3. Вирішити завдання з логічними змінними. У всіх завданнях
даної групи потрібно вивести логічне значення True, якщо наведене
висловлювання для запропонованих вхідних даних є істинним, і значення False
в іншому випадку. Всі числа, для яких вказано кількість цифр (двозначне число,
тризначне число і т. д.), вважаються цілими додатними. Завдання представлені
в табл.3.

!! Всі завдання повинні бути реалізовані в одному консольному додатку.


Для структурування слід виводити в консоль відповідний текст, наприклад:
"Завдання 1. Математичні обчислення".
!!! Код повинен містити КОМЕНТАРІ !!!
2
Приклад коду для вирішення варіанту 1 завдань 1-3:
#include <iostream>
#include <cmath>// підключення бібліотеки математичних функцій
using namespace std;

int main ()
{

// y = ... (tab.N1)
cout <<"\n Math.1. \n";
const double pi = 3.141592; // визначення дійсної константи

double x, num, denom, y; // оголошення дійсних змінних


//введення данних
cout <<"\n Real argument x =";
cin >> x;
// підрахунок
num = pow (log (x * x + cos (37 * pi / 180)), 2); // чисельник
denom = pow (sin (x * x), 2) + sqrt (fabs (1 - 2 * cos (x) - pow (sin (x * x), 2))); // знаменник
y = num / denom;
// виведення результату
cout <<"\n Function y =" << y << endl;

// Integer1. Дано відстань L в сантиметрах.


// Використовуючи операцію ділення,
// визначити кількість повних метрів в ньому
// (1 метр = 100 см).

cout <<"Integer1." << endl;


int L, res; // оголошення цілих змінних
//введення данних
cout << endl <<"L (sm) ="; cin >> L;
// підрахунок
res = L / 100;
// виведення результату
cout <<"L (m) =" << res << endl;

// Boolean1. Дано ціле число A.


// Перевірити істинність висловлювання: «Число A є додатнім».
cout <<"\n Boolean1. \n";
int A;
//введення данних
cout <<"\n A =";
cin >> A;
// підрахунок
bool is_pos = A > 0; // визначення ЛОГІЧНОЇ змінної
// виведення результату
cout << "A is positive:" << is_pos << endl;

system ("Pause"); // затримка консольного вікна


return 0;
}
3
Таблиця 1 – Математичні вирази
4
Продовження табл.1
5
Продовження табл.1
6
Продовження табл.1
7
Закінчення табл.1

.
8
Таблиця 2 – Цілочисельні операції
Integer1. Дано відстань L в сантиметрах. Використовуючи операцію
цілочисельного ділення, знайти кількість повних метрів в ньому (1
метр = 100 см).
Integer2. Дана маса M в кілограмах. Використовуючи операцію цілочисельного
ділення, знайти кількість повних тон в ній (1 тонна = 1000 кг).
Integer3. Дан розмір файлу в байтах. Використовуючи операцію цілочисельного
ділення, знайти кількість повних кілобайт, які займає даний файл (1
кілобайт = 1024 байти).
Integer4. Дано цілі додатні числа A і B (A> B). На відрізку довжиною A
розміщено максимально можлива кількість відрізків довжиною B (без
накладання). Використовуючи операцію цілочисельного ділення,
знайти кількість відрізків B, розміщених на відрізку A.
Integer5. Дано цілі додатні числа A і B (A> B). На відрізку довжиною A
розміщено максимально можлива кількість відрізків довжиною B (без
накладання). Використовуючи операцію взяття залишку від ділення,
знайти довжину незайнятої частини відрізка A.
Integer6. Дано двозначне число. Вивести спочатку його ліву цифру (десятки), а
потім - його праву цифру (одиниці). Для знаходження десятків
використовувати операцію цілочисельного ділення, для знаходження
одиниць - операцію взяття залишку від ділення.
Integer7. Дано двозначне число. Знайти суму і добуток його цифр.
Integer8. Дано двозначне число. Вивести число, отримане при перестановці
цифр вихідного числа.
Integer9. Дано тризначне число. Використовуючи одну операцію
цілочисельного ділення, вивести першу цифру даного числа (сотні).
Integer10. Дано тризначне число. Вивести спочатку його останню цифру
(одиниці), а потім - його середню цифру (десятки).
Integer11. Дано тризначне число. Знайти суму і добуток його цифр.
Integer12. Дано тризначне число. Вивести число, отримане при прочитанні
вихідного числа справа наліво.
Integer13. Дано тризначне число. У ньому закреслили першу зліва цифру і
приписали її справа. Вивести отримане число.
Integer14. Дано тризначне число. У ньому закреслили першу праворуч цифру і
приписали її зліва. Вивести отримане число.
Integer15. Дано тризначне число. Вивести число, отримане при перестановці
цифр сотень і десятків вихідного числа (наприклад, 123 перейде в
213).
Integer16. Дано тризначне число. Вивести число, отримане при перестановці
цифр десятків і одиниць вихідного числа (наприклад, 123 перейде в
132).
Integer17. Дано ціле число, більше 999. Використовуючи одну операцію
цілочисельного ділення і одну операцію взяття залишку від ділення,
знайти цифру, відповідну розряду сотень в записі цього числа.
9
Закінчення таблиці 2.
Integer18. Дано ціле число, більше 999. Використовуючи одну операцію
цілочисельного ділення і одну операцію взяття залишку від ділення,
знайти цифру, відповідну розряду тисяч в записі цього числа.
Integer19. З початку доби минуло N секунд (N - ціле). Знайти кількість повних
хвилин, що минули з початку доби.
Integer20. З початку доби минуло N секунд (N - ціле). Знайти кількість повних
годин, що минули з початку доби.
Integer21. З початку доби минуло N секунд (N - ціле). Знайти кількість секунд,
що пройшли з початку останньої хвилини.
Integer22. З початку доби минуло N секунд (N - ціле). Знайти кількість секунд,
що пройшли з початку останньої години.
Integer23. З початку доби минуло N секунд (N - ціле). Знайти кількість повних
хвилин, що минули з початку останньої години.
Integer24. Дні тижня пронумеровані наступним чином: 0 - неділя, 1 - понеділок,
2 - вівторок, ..., 6 - субота. Дано ціле число K, що лежить в діапазоні 1-
365. Визначити номер дня тижня для K-го дня року, якщо відомо, що
цього року 1 січня було понеділком.
Integer25. Дні тижня пронумеровані наступним чином: 0 - неділя, 1 - понеділок,
2 - вівторок, ..., 6 - субота. Дано ціле число K, що лежить в діапазоні 1-
365. Визначити номер дня тижня для K-го дня року, якщо відомо, що
цього року 1 січня було четвергом.
Integer26. Дні тижня пронумеровані наступним чином: 1 - понеділок, 2 -
вівторок, ..., 6 - субота, 7 - неділя. Дано ціле число K, що лежить в
діапазоні 1-365. Визначити номер дня тижня для K-го дня року, якщо
відомо, що цього року 1 січня було вівторком.
Integer27. Дні тижня пронумеровані наступним чином: 1 - понеділок, 2 -
вівторок, ..., 6 - субота, 7 - неділя. Дано ціле число K, що лежить в
діапазоні 1-365. Визначити номер дня тижня для K-го дня року, якщо
відомо, що цього року 1 січня було суботою.
Integer28. Дні тижня пронумеровані наступним чином: 1 - понеділок, 2 -
вівторок, ..., 6 - субота, 7 - неділя. Дано ціле число K, що лежить в
діапазоні 1-365, і ціле число N, яке лежить в діапазоні 1-7. Визначити
номер дня тижня для K-го дня року, якщо відомо, що цього року 1
січня було днем тижня з номером N.
Integer29. Дано цілі додатні числа A, B, C. На прямокутнику розміру A × B
розміщено максимально можлива кількість квадратів зі стороною C
(без накладання). Знайти кількість квадратів, розміщених на
прямокутнику, а також площу незайнятої частини прямокутника.
Integer30. Дано номер деякого року (ціле додатне число). Визначити відповідний
йому номер століття, враховуючи, що, наприклад, що початком 20
століття був 1901 рік.
10
Таблиця 3 – Логічні вирази
Boolean1. Дано ціле число A. Перевірити істинність висловлювання: «Число A є
додатним».
Boolean2. Дано ціле число A. Перевірити істинність висловлювання: «Число A є
непарних».
Boolean3. Дано ціле число A. Перевірити істинність висловлювання: «Число A є
парним».
Boolean4. Дано два цілих числа: A, B. Перевірити істинність висловлювання:
«Справедливі нерівності A> 2 і B ≤ 3».
Boolean5. Дано два цілих числа: A, B. Перевірити істинність висловлювання:
«Справедливі нерівності A ≥ 0 або B <-2».
Boolean6. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання:
«Справедливо подвійне нерівність A <B <C».
Boolean7. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Число
B знаходиться між числами A і C».
Boolean8. Дано два цілих числа: A, B. Перевірити істинність висловлювання: «Кожне з
чисел A і B непарне».
Boolean9. Дано два цілих числа: A, B. Перевірити істинність висловлювання: «Хоча б
одне з чисел A і B непарне».
Boolean10. Дано два цілих числа: A, B. Перевірити істинність висловлювання: «Рівне
одне з чисел A і B непарне».
Boolean11. Дано два цілих числа: A, B. Перевірити істинність висловлювання: «Числа A і
B мають однакову парність».
Boolean12. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Кожне
з чисел A, B, C додатне».
Boolean13. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Хоча б
одне з чисел A, B, C додатне».
Boolean14. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Рівне
одне з чисел A, B, C додатне».
Boolean15. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Рівно
два з чисел A, B, C є додатними».
Boolean16. Дано ціле додатне число. Перевірити істинність висловлювання: «Дане число
є парним двозначним».
Boolean17. Дано ціле додатне число. Перевірити істинність висловлювання: «Дане число
є непарним тризначним».
Boolean18. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Серед
трьох даних цілих чисел є хоча б одна пара співпадаючих».
Boolean19. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Серед
трьох даних цілих чисел є хоча б одна пара взаємно протилежних».
Boolean20. Дано тризначне число. Перевірити істинність висловлювання: «Все цифри
даного числа різні».
Boolean21. Дано тризначне число. Перевірити істинність висловлювання: «Цифри даного
числа утворюють зростаючу послідовність».
Boolean22. Дано тризначне число. Перевірити істинність висловлювання: «Цифри даного
числа утворюють зростаючу або спадаючу послідовність».
Boolean23. Дано чотиризначне число. Перевірити істинність висловлювання: «Дане число
читається однаково зліва направо і справа наліво».
Boolean24. Дано числа A, B, C (число A не дорівнює 0). Розглянувши дискримінант
D = B2 - 4AC, перевірити істинність висловлювання: «Квадратне рівняння
Ax2 + Bx + C = 0 має дійсні корені».
11
Закінчення табл. 3.
Boolean25. Дано числа x, y. Перевірити істинність висловлювання: «Точка з
координатами (x, y) лежить в другій координатної чверті».
Boolean26. Дано числа x, y. Перевірити істинність висловлювання: «Точка з
координатами (x, y) лежить в четвертій координатної чверті».
Boolean27. Дано числа x, y. Перевірити істинність висловлювання: «Точка з
координатами (x, y) лежить в другій або третій координатній чверті».
Boolean28. Дано числа x, y. Перевірити істинність висловлювання: «Точка з
координатами (x, y) лежить в першій або третій координатній чверті».
Boolean29. Дано числа x, y, x1, y1, x2, y2. Перевірити істинність висловлювання: «Точка з
координатами (x, y) лежить усередині прямокутника, ліва верхня вершина
якого має координати (x1, y1), права нижня - (x2, y2), а сторони паралельні
координатним осях».
Boolean30. Дано цілі числа a, b, c, що є сторонами деякого трикутника. Перевірити
істинність висловлювання: «Трикутник з сторонами a, b, c є рівностороннім».
Boolean31. Дано цілі числа a, b, c, що є сторонами деякого трикутника. Перевірити
істинність висловлювання: «Трикутник з сторонами a, b, c є рівнобедреним».
Boolean32. Дано цілі числа a, b, c, що є сторонами деякого трикутника. Перевірити
істинність висловлювання: «Трикутник з сторонами a, b, c є прямокутним».
Boolean33. Дано цілі числа a, b, c. Перевірити істинність висловлювання: «Існує
трикутник зі сторонами a, b, c».
Boolean34. Дано координати поля шахівниці x, y (цілі числа, що лежать в діапазоні 1-8). З
огляду на, що ліве нижнє поле дошки (1, 1) є чорним, перевірити істинність
висловлювання: «Дане поле є білим».
Boolean35. Дано координати двох різних полів шахової дошки x1, y1, x2, y2 (цілі числа,
що лежать в діапазоні 1-8). Перевірити істинність висловлювання: «Дані поля
мають однаковий колір».
Boolean36. Дано координати двох різних полів шахової дошки x1, y1, x2, y2 (цілі числа,
що лежать в діапазоні 1-8). Перевірити істинність висловлювання: «Ладья за
один хід може перейти з одного поля на інше».
Boolean37. Дано координати двох різних полів шахової дошки x1, y1, x2, y2 (цілі числа,
що лежать в діапазоні 1-8). Перевірити істинність висловлювання: «Король за
один хід може перейти з одного поля на інше».
Boolean38. Дано координати двох різних полів шахової дошки x1, y1, x2, y2 (цілі числа,
що лежать в діапазоні 1-8). Перевірити істинність висловлювання: «Слон за
один хід може перейти з одного поля на інше».
Boolean39. Дано координати двох різних полів шахової дошки x1, y1, x2, y2 (цілі числа,
що лежать в діапазоні 1-8). Перевірити істинність висловлювання: «Ферзь за
один хід може перейти з одного поля на інше».
Boolean40. Дано координати двох різних полів шахової дошки x1, y1, x2, y2 (цілі числа,
що лежать в діапазоні 1-8). Перевірити істинність висловлювання: «Кінь за
один хід може перейти з одного поля на інше».

You might also like