Модуль 1 / LR-1
.docЛабораторна робота № 1.
Тема: Прості програми. Розрахунок функції користувача.
Завдання:
Для наведених нижче задач
-
зробити математичну постановку;
-
скласти алгоритм програми;
-
скласти програму мовою С++ для обчислення;
-
проаналізувати результати роботи програми;
-
оформити протокол.
Деякі теоретичні повідомлення.
Програми складаються із синтаксичних конструкцій, які називаються командами (інші назви – оператори, вказівки, речення). Команди будуються з лексем – неподільних елементів мови: слів, чисел, символів операцій.
Слова поділяються на ключові слова (зарезервовані в мові ідентифікатори) й ідентифікатори. Ідентифікатор – це назва (ім’я), яка надається змінним, сталим, функціям. Слова можуть складатися з рядкових чи прописних літер англійського алфавіту, цифр, а також містити символ підкреслення.
Директиви препроцесора.
Препроцесор – це програма, яка опрацьовує директиву.
Директиви препроцесора – це команди компілятора відповідної мови програмування, які виконуються на початку компіляції програми. Директиви мови С++ починаються із символу #.
Деякі із директив:
#error – указує компілятору, що треба вивести відповідне повідомлення про помилку та перериває його роботу;
#includ – приєднує файл заголовків
#define – задає сталу, або описує макрос;
#undef – скасовує дію директиви #define
Суттєвою особливістю мови С++ є те, що програми складаються з функцій, які відіграють роль підпрограм в інших мовах. Головна функція, яка має бути у кожній програмі, - це функція вигляду:
main(void)
{
тіло функції з командою return 0;
}
де main() – заголовок функції. Ключове слово void означає, що функція не залежить від параметрів, його записувати не обов’язково.
Програма може мати коментар. Коментар – це фрагмент тексту програми, який слугує для пояснення призначення програми чи окремих команд і не впливає на виконання команд. Коментар описують так:
// текст коментарю (може бути або у кінці рядка, або єдиним у рядку),
або /* текст коментарю */ (можна записувати будь-де, не розриваючи лексем).
Загальна структура програми (найпростішої) має вигляд:
// коментар
#includ <назва бібліотечного файлу>
void main()
{
тіло функції
}
Команда присвоєння має вигляд:
<ім’я змінної>=<вираз> або
<ім’я змінної 1>= <ім’я змінної 2>=…=<вираз>
Дія команди: обчислюється вираз і його значення надається змінній або декільком змінним.
Команда введення даних.
Має вигляд: cin>> <змінна>.
Команда виведення даних.
Має вигляд: cout<< <вираз1><< <вираз2>…<< <виразN>.
Стандартні типи даних
Цілі типи
Назва типу |
Обсяг (байтів) |
Діапазон допустимих значень |
int |
2 або 4 |
-32 768 … 32 767 або -2 147 483 648 … 2 147 483 647 |
short int |
2 |
-32 768 … 32 767 |
unsigned short int |
2 або 4 |
0 … 65 535 або 0 … 4 294 967 295 |
long int |
4 |
-2 147 483 648 … 2 147 483 647 |
unsigned long int |
4 |
0 … 4 294 967 295 |
Дійсні типи
Назва типу |
Обсяг (байтів) |
Діапазон допустимих значень |
float |
4 |
+3,41-38 … +3,41+38 |
double |
8 |
+1,71-308 … +1,71+308 |
long double |
10 |
+3,41-4932 … +1,18+4932 |
Символьний тип (char)
Символьний тип – це множина символів кодової таблиціASCII. Символьна стала – це один символ (1 байт), узятий у лапки.
Логічний тип (bool)
Характеризується двома значеннями false (хибність) true (істина).Змінні цього типу займають 1 байт у пам’яті комп’ютера.
Задача 1.
Розрахувати функцію користувача та вивести отриманий результат. Вхідні дані задати самостійно.
№ варіанта – це номер студента в журналі. Якщо n > 26, то потрібно від n віднімати 26. Потрібні функції слід вибрати з наведеної нижче таблиці.
Таблиця 1
n |
Функція fn(x) |
n |
Функція fn(x) |
1 |
14 |
||
2 |
15 |
||
3 |
16 |
||
4 |
17 |
||
5 |
18 |
||
6 |
19 |
||
7 |
20 |
||
8 |
21 |
||
9 |
22 |
||
10 |
23 |
||
11 |
24 |
||
12 |
25 |
||
13 |
26 |
Задача 2.
Трикутник задано координатами вершин А(0; 0), В(і; i-1) та С(-і; і+1), де і – номер вашого варіанта (ввести з клавіатури). Координати точок розрахувати в програмі та вивести їх значення (наприклад: А(0; 0) В(5; 4) С(-5; 6)).
-
Обчислити висоту hа та бісектрису Wс.
-
Обчислити медіану та та бісектрису Wь
-
Обчислити бісектрису Wа та радіус вписаного кола r.
-
Обчислити висоту hа та медіану ть.
-
Обчислити медіану тb та бісектрису Wс.
-
Обчислити бісектрису Wа та радіус описаного кола R.
-
Обчислити висоту hь та бісектрису Wа.
-
Обчислити висоту hь та медіану тс.
-
Обчислити висоту hа та радіус вписаного кола r .
-
Обчислити медіану mс та бісектрису Wа.
-
Обчислити висоту hь та бісектрису Wс.
-
Обчислити медіану mс та радіус вписаного кола r.
-
Обчислити висоту та hь медіану та.
-
Обчислити медіану та та радіус описаного кола R.
-
Обчислити медіану та та бісектрису Wс.
-
Обчислити висоту hс та бісектрису Wа.
-
Обчислити медіану тb та радіус вписаного кола r.
-
Обчислити висоту hс та медіану mа.
-
Обчислити медіану mb та бісектрису Wа.
-
Обчислити медіану mc та радіус описаного кола R.
-
Обчислити висоту hс та бісектрису Wь.
-
Обчислити висоту hc та медіану тb.
-
Обчислити висоту hа та радіус описаного кола R.
-
Обчислити висоту hа та бісектрису Wь.
-
Обчислити висоту hа та медіану mc.
-
Обчислити медіану та та висоту hь.
Запитання
-
З чого складається алфавіт мови?
-
Що таке ключове слово? Наведіть приклади.
-
Що таке препроцесор?
-
Що таке директива препроцесора? Наведіть приклади.
-
Що таке стала та змінна?
-
Як оголосити змінну?
-
Яка загальна структура програми?
-
Перерахуйте стандартні типи даних?
-
Яке місце в пам’яті займають змінні чи сталі стандартних типів?
-
В яких форматах можна записувати дійсні числа?
-
Яку дію має команда присвоєння?
-
Перерахуйте арифметичні операції. Та вкажіть їх пріоритети.
-
Наведіть приклади стандартних математичних функцій.
-
Яка дія команд введення та виведення даних? Наведіть приклади символів керуючих послідовностей.
-
Середовище програмування С++.