Professional Documents
Culture Documents
зошит для лаб ОП - 1 - 2021
зошит для лаб ОП - 1 - 2021
Зошит
ІІІ семестр
________________________________________
Розглянуто і схвалено
на засіданні циклової комісії
Протокол № від
“____” ___________2021 р.
Голова циклової комісії
____________І.В.Пожидаєва
2021
1
Лабораторна робота № 1
Тема: Створення першої програми. Програмна реалізація
алгоритмів лінійної структури
Мета: Навчитися створювати програми на С++
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{ cout << "Hello, world!" << endl;
return 0;
}
Опис синтаксису
Директива #include використовується для підключення інших файлів в код.
Стрічка #include <iostream>, для використання буде замінена змістом
файлу «iostream.h», який знаходиться у стандартній бібліотеці і відповідає за введення
та виведення даних на екран.
Зміст стрічки — using namespace std; вказує на те, що ми використали
по замовчуванню простір імен з назвою «std».Все те, що знаходиться між фігурними
дужками функції int main() {} буде автоматично виконуватися після запуску програми.
Стрічка cout << "Hello, world!" << endl; говорить програмі вивести повідомлення
з текстом «Hello, world» на екран. Оператор cout призначено для виведення тексту
на екран. Після нього ставляться двічі символ «<» (<<). Далі йде текст, який повинен
виводитися. Він розміщується у подвійних лапках. Оператор endl переводить курсор
на стрічку нижче.
Якщо в процесі виконання відбудеться «щось не те», то буде видано код
завершення (помилки), відмінний від нуля. Якщо ж робота програми завершилась без
помилок, то код завершення буде рівним нулю. Команда return 0 необхідна для того,
аби передати операційній системі повідомлення про вдале завершення програми.
В кінці кожної команди ставиться крапка з комою.
Компіляція і запуск
Тепер скомпілюйте та запустіть програму. Тим, хто використовує MS Visual Studio,
потрібно натиснути «Ctrl+F5». Користувачам DEV C++ потрібно для компіляції
натиснути “F9”, а для виконання “F10” або скористатися відповідними опціями
верхнього меню.
Якщо програма «зібралась» з першого разу, то дуже добре. Якщо компілятор
говорить про помилки, ви щось зробили неправильно. Прочитайте текст повідомлення
про помилку і спопробуйте виправити її.
Завдання
2
Відкрийте меню «Файл → Создать → Проект». Оберіть «Console
Application», натисніть кнопку «Ок». Дайте назву проекту (lab1) та збережіть його.
Лістинг 1.1
#include <iostream>
return 0;
3
2. Напишіть програму для обчислення площі трикутника. Числа повинні
вводитися з клавіатури. Результати роботи програми вивести на екран.
Лістинг 1.2
#include <iostream>
return 0;
4
3. Створити програму для додавання двох цілих чисел. Значення доданків
подати у вигляді констант. Результати роботи програми вивести на екран.
Лістинг 1.3
#include <iostream>
return 0;
5
Лістинг 1.4
#include <iostream>
return 0;
Лістинг 1.5
6
#include <iostream>
return 0;
Лістинг 1.6
#include <iostream>
#include <cstdlib>
7
using namespace std;
return 0;
Лістинг 1.7
#include <iostream>
return 0;
Висновок: ____________________________________________________________
Лабораторна робота № 2
Тема: Програмування розгалужених алгоритмів. Використання
тернарної умовної операції ?:
Мета: Навчитися програмувати розгалужені алгоритми
9
if(вираз) настанова;
else
настанова;
У цьому записі під елементом настанова розуміємо одну настанову мови
програмування C++. Частина else необов'язкова. Замість елемента настанова може
бути використаний блок настанов.
Якщо елемент вираз, який є умовним виразом, під час обчислення дасть значення
ІСТИНА, то буде виконана if-настанова; інакше – else-настанова (якщо така існує).
Обидві настанови ніколи одночасно не виконуються.
У мові С++ є одна тернарна операція, яка має три операнди, це – умовна
операція, котра має такий формат:
< умова >? < oперанд1> : < oперанд2>;
Якщо умова має ненульове значення, результатом буде значення oперанда1,
інакше – значення oперанда2. Зауважимо, що обчислюється лише один з операндів, а
не обидва.
Наприклад: j = (i < 0) ? (–i) : (i);
В результаті j набуде абсолютного значення i, оскільки, якщо i є менше за нуль,
то j присвоїться –i, а якщо i є більше чи дорівнює нулю, то j присвоїться i. Для
визначення більшого з двох чисел – x та y – слід записати оператор:
max = (x > y) ? x : y;
Завдання
1. Напишіть програму, яка вводить два цілих числа a і b. Поділіть a на b і
виведіть результат. Врахуйте, що ділити на 0 не можна: якщо знаменник 0 –
введіть інше число і виведіть результат ділення.
Лістинг 2.1
#include <iostream>
10
return 0;
Лістинг 2.2
#include <iostream>
11
return 0;
3. Створити програму для визначення віку людини. Якщо вік людини рівний 0
вивести слово "немовля", якщо менше 7 років – вивести "малюк", від 7 до 17
– "школяр", 18..23 – "студент", 24..55 – "робітник", 56..120 – пенсіонер.
Лістинг 2.3
#include <iostream>
12
return 0;
Лістинг 2.4
#include <iostream>
13
return 0;
Лістинг 2.5
#include <iostream>
#include <cstdlib>
14
return 0;
{
0 , якщо x <0
y= x , якщо 0 ≤ x <10 , .
2
x , якщо x ≥10
Лістинг 2.6
#include <iostream>
return 0;
15
}
Висновок: ____________________________________________________________
Лабораторна робота № 3
Тема: Використання настанови багатовибірного розгалуження
та оператора безумовного переходу goto
Мета: Навчитися використовувати настанову багатовибірного
розгалуження та оператор безумовного переходу
16
Мітка являє собою ідентифікатор з розташованим за ним символом двокрапки
(:). Мітками позначають який-небудь оператор, на який надалі повинен бути здійснен
безумовний перехід. Безумовна передача керування на мітку проводиться за
допомогою оператора goto.
Оператор goto може здійснювати перехід (адресуватися) до міток, обов'язково
розташованих в одному з ним тілі функції. Синтаксис оператора goto:
goto мітка;
мітка : оператор;
Даний оператор - дуже потужний і небезпечний засіб керування поведінкою
програми. Використовувати його потрібно вкрай обережно, тому що, наприклад,
"стрибок" усередину циклу (обхід кодів ініціалізації) може привести до важко
локалізуємих помилок. За допомогою операторів if і goto можна реалізувати будь-який
алгоритм, але читати й проводити налагодження коду перенасиченого операторами
переходу й мітками надзвичайно важко. Тому в цей час використання оператора
переходу вважається поганим стилем програмування.
Завдання
1. Даний номер місяця (1 – січень, 2 – лютий, …). Вивести назву відповідної
пори року («зима», «весна» і т.д.), використовуючи оператор багатовибірного
розгалуження.
Лістинг 3.1
#include <iostream>
17
return 0;
2. Написати програму, яка додає, віднімає, множить і ділить два числа, введених
з клавіатури.
Лістинг 3.2
#include <iostream>
#include <cstdlib>
18
return 0;
Лістинг 3.3
#include <iostream>
19
return 0;
Лістинг 3.4
#include <iostream>
20
return 0;
Лістинг 3.5
#include <iostream>
21
return 0;
Лістинг 3.6
#include <iostream>
#include <cstdlib>
22
return 0;
Висновок: ____________________________________________________________
Лабораторна робота № 4
Тема: Програмування циклічних алгоритмів
Мета: Навчитися програмувати циклічні алгоритми
Завдання
1. Створити програму для визначення суми парних чисел, які складаються з двох
цифр.
Лістинг 4.1
#include <iostream>
24
return 0;
Лістинг 4.2
#include <iostream>
25
return 0;
Лістинг 4.3
#include <iostream>
26
return 0;
Лістинг 4.4
#include <iostream>
27
return 0;
Висновок: ____________________________________________________________
Лабораторна робота № 5
Тема: Використання настанов while, do-while
Мета: Навчитися використовувати настанови while, do-while
28
У цьому записі під елементом настанова розуміють або одиночну настанову, або
блок настанов. Роботою циклу керує елемент вираз, який є будь-яким допустимим С+
+-виразом. Елемент настанова здійснюється доти, доки умовний вираз повертає
значення ІСТИНА. Як тільки цей вираз стає помилковим, то керування передається
настанові, яка знаходиться за цим циклом.
На відміну від циклів for і while, у яких умова перевіряється під час входу, цикл
do-while перевіряє умову при виході з циклу. Це означає, що цикл do-while завжди
здійснюється хоч би один раз. Його загальний формат має такий вигляд:
do
{
настанови;
}
while(вираз);
Лістинг 5.1
#include <iostream>
29
Результати виконання програми:
Лістинг 5.2
#include <iostream>
Лістинг 5.3
#include <iostream>
Лістинг 5.4
31
#include <iostream>
return 0;
Висновок: ____________________________________________________________
32
На робочому столі ПК НЕОБХІДНО зберігати зроблену
лабораторну роботу в папці з назвою своєї групи. Кожна
програма повинна називатися відповідно до номера лістингу у
лабораторній роботі.
33