You are on page 1of 33

Червоноградський гірничо-економічний фаховий коледж

Зошит

для виконання лабораторних робіт

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

ІІІ семестр

ст. групи _-ІПЗ-__

________________________________________

Викладач: Глобчак Ю.В.

Розглянуто і схвалено
на засіданні циклової комісії
Протокол № від
“____” ___________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. Напишіть програму, в якій оголосіть три змінні: a – дійсного типу, b , c –


цілочисельні. Обчисліть x, y і виведіть результат:
b (a−b)c
x=2a + ; y = .
c 3

Лістинг 1.1

#include <iostream>

using namespace std;

int main (int argc, char** argv)

return 0;

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

3
2. Напишіть програму для обчислення площі трикутника. Числа повинні
вводитися з клавіатури. Результати роботи програми вивести на екран.

Лістинг 1.2

#include <iostream>

using namespace std;

int main (int argc, char** argv)

return 0;

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

4
3. Створити програму для додавання двох цілих чисел. Значення доданків
подати у вигляді констант. Результати роботи програми вивести на екран.

Лістинг 1.3

#include <iostream>

using namespace std;

int main (int argc, char** argv)

return 0;

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

4. Введіть з клавіатури значення x, y. Зменшіть x на 1, використовуючи


оператор декремента. Виведіть результат. Збільшіть x на 10, а y збільшіть в x
разів і виведіть результат.

5
Лістинг 1.4

#include <iostream>

using namespace std;

int main (int argc, char** argv)

return 0;

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

5. В довільному двоцифровому числі знайти добуток його цифр. Результати


роботи програми вивести на екран.

Лістинг 1.5

6
#include <iostream>

using namespace std;

int main (int argc, char** argv)

return 0;

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

6. Обчислити середнє арифметичне трьох довільно вибраних комп’ютером


чисел. Результати роботи програми вивести на екран.

Лістинг 1.6

#include <iostream>

#include <cstdlib>

7
using namespace std;

int main (int argc, char** argv)

return 0;

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

7. Напишіть програму, яка міняє два значення місцями.

Лістинг 1.7

#include <iostream>

using namespace std;

int main (int argc, char** argv)


8
{

return 0;

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

Висновок: ____________________________________________________________

Лабораторна робота № 2
Тема: Програмування розгалужених алгоритмів. Використання
тернарної умовної операції ?:
Мета: Навчитися програмувати розгалужені алгоритми

Короткі теоретичні відомості


Повний формат запису настанови if є таким:

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>

using namespace std;

int main (int argc, char** argv)

10
return 0;

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

2. Створити програму для визначення парності/непарності числа. Число


повинне вводитися з клавіатури, результат – виводитися на екран.

Лістинг 2.2

#include <iostream>

using namespace std;

int main (int argc, char** argv)

11
return 0;

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

3. Створити програму для визначення віку людини. Якщо вік людини рівний 0
вивести слово "немовля", якщо менше 7 років – вивести "малюк", від 7 до 17
– "школяр", 18..23 – "студент", 24..55 – "робітник", 56..120 – пенсіонер.

Лістинг 2.3

#include <iostream>

using namespace std;

int main (int argc, char** argv)

12
return 0;

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

4. Напишіть програму, яка знаходить найменше число, використовуючи


тернарну операцію.

Лістинг 2.4

#include <iostream>

using namespace std;

int main (int argc, char** argv)

13
return 0;

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

5. Використайте тернарну операцію для пошуку найбільшого із трьох чисел..

Лістинг 2.5

#include <iostream>

#include <cstdlib>

using namespace std;

int main (int argc, char** argv)

14
return 0;

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

6. Написати програму для знаходження значення y:

{
0 , якщо x <0
y= x , якщо 0 ≤ x <10 , .
2
x , якщо x ≥10

Лістинг 2.6

#include <iostream>

using namespace std;

int main (int argc, char** argv)

return 0;

15
}

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

Висновок: ____________________________________________________________

Лабораторна робота № 3
Тема: Використання настанови багатовибірного розгалуження
та оператора безумовного переходу goto
Мета: Навчитися використовувати настанову багатовибірного
розгалуження та оператор безумовного переходу

Короткі теоретичні відомості

Настанова багатовибірного розгалуження switch працює таким чином: значення


виразу послідовно порівнюється з константами із заданого переліку. Внаслідок
виявлення збігу для однієї з умов порівняння здійснюється послідовність настанов,
пов'язана з цією умовою. Загальний формат запису настанови switch є таким:
switch (вираз)
{
case константа1:
послідовність настанов
break;
case константа2:
послідовність настанов
break;
case константа3:
послідовність настанов
break;
...
default:
послідовність настанов
}

16
Мітка являє собою ідентифікатор з розташованим за ним символом двокрапки
(:). Мітками позначають який-небудь оператор, на який надалі повинен бути здійснен
безумовний перехід. Безумовна передача керування на мітку проводиться за
допомогою оператора goto.
Оператор goto може здійснювати перехід (адресуватися) до міток, обов'язково
розташованих в одному з ним тілі функції. Синтаксис оператора goto:
goto мітка;
мітка : оператор;
Даний оператор - дуже потужний і небезпечний засіб керування поведінкою
програми. Використовувати його потрібно вкрай обережно, тому що, наприклад,
"стрибок" усередину циклу (обхід кодів ініціалізації) може привести до важко
локалізуємих помилок. За допомогою операторів if і goto можна реалізувати будь-який
алгоритм, але читати й проводити налагодження коду перенасиченого операторами
переходу й мітками надзвичайно важко. Тому в цей час використання оператора
переходу вважається поганим стилем програмування.

Завдання
1. Даний номер місяця (1 – січень, 2 – лютий, …). Вивести назву відповідної
пори року («зима», «весна» і т.д.), використовуючи оператор багатовибірного
розгалуження.

Лістинг 3.1

#include <iostream>

using namespace std;

int main (int argc, char** argv)

17
return 0;

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

2. Написати програму, яка додає, віднімає, множить і ділить два числа, введених
з клавіатури.

Лістинг 3.2

#include <iostream>

#include <cstdlib>

using namespace std;

int main (int argc, char** argv)

18
return 0;

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

3. Дано значення n=1..7, що є номером тижня. За значенням n визначити,


вихідний цей день чи робочий.

Лістинг 3.3

#include <iostream>

using namespace std;

int main (int argc, char** argv)

19
return 0;

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

4. Дано ціле число n=1..3. За значенням змінної n обчислити значення


відповідної функції:
1) -2x2-4; 2) 5x+2; 3) 15-3x

Лістинг 3.4

#include <iostream>

using namespace std;

int main (int argc, char** argv)

20
return 0;

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

5. Створіть програму для знаходження площі трикутника, використовуючи


оператор безумовного оператора.

Лістинг 3.5

#include <iostream>

using namespace std;

int main (int argc, char** argv)

21
return 0;

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

6. Створіть програму для обчислення a x 2 +bx +c=0 . Якщо дискримінант<0, то


використовуючи оператор безумовного переходу, повернутися до введення
інших значень.

Лістинг 3.6

#include <iostream>

#include <cstdlib>

using namespace std;

int main (int argc, char** argv)

22
return 0;

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

Висновок: ____________________________________________________________

Лабораторна робота № 4
Тема: Програмування циклічних алгоритмів
Мета: Навчитися програмувати циклічні алгоритми

Короткі теоретичні відомості


Цикл for повторює вказану настанову задану кількість разів. Настанова for у мові
програмування C++ діє практично так само, як настанова for, визначена в таких мовах
програмування, як Java С#, Pascal і Visual Basic. Її простий формат є таким:

for(ініціалізація; умова; інкремент) настанова;

У цьому записі елемент ініціалізація є настанова присвоєння, яка встановлює


керівній змінній циклу початкове значення. Ця змінна діє як лічильник, який керує
роботою циклу. Елемент умова є виразом, у якому тестується значення керівної
змінної циклу. Результат цього тестування визначає, виконається цикл for ще раз чи ні.
Елемент інкремент – вираз, який визначає, як змінюється значення керівної змінної
23
циклу після кожної ітерації. Цикл for виконуватиметься доти, доки обчислення
елемента умова дає істинний результат. Як тільки умова стане помилковою, виконання
програми продовжиться з настанови, що знаходиться наступною за циклом for.
Якщо цикл for призначений для багатократного виконання не однієї настанови, а
програмного блоку, то його загальний формат має такий вигляд:

for(ініціалізація; вираз; інкремент)


{
послідовність настанов
}

Елемент ініціалізація зазвичай є настановою присвоєння, яка встановлює керівній


змінній циклу початкове значення, що дорівнює нулю. Ця змінна діє як лічильник,
який керує роботою циклу. Елемент вираз є умовним виразом, у якому тестується
значення керівної змінної циклу. Результат цього тестування визначає, виконається
цикл for ще раз чи ні. Елемент інкремент – вираз, який визначає, як змінюється
значення керівної змінної циклу після кожної ітерації. Зверніть увагу на те, що всі ці
елементи циклу for повинні відділятися крапкою з комою. Цикл for виконуватиметься
доти, доки обчислення елемента вираз дає істинний результат. Як тільки цей умовний
вираз стане помилковим, цикл завершиться, а виконання програми продовжиться з
настанови, що є наступною за циклом for.

Завдання

1. Створити програму для визначення суми парних чисел, які складаються з двох
цифр.

Лістинг 4.1

#include <iostream>

using namespace std;

int main (int argc, char** argv)

24
return 0;

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

2.Протабулювати функцію y=x 3 +√ x−1 на проміжку [10,12] з кроком 0.2

Лістинг 4.2

#include <iostream>

using namespace std;

int main (int argc, char** argv)

25
return 0;

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

3.Вивести таблицю чисел від 1 до 10, їхні квадрати та куби.

Лістинг 4.3

#include <iostream>

using namespace std;

int main (int argc, char** argv)

26
return 0;

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

4. Намалювати прямокутний трикутник із символів ^. Висоту вибирає


користувач.

Лістинг 4.4

#include <iostream>

using namespace std;

int main (int argc, char** argv)

27
return 0;

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

Висновок: ____________________________________________________________

Лабораторна робота № 5
Тема: Використання настанов while, do-while
Мета: Навчитися використовувати настанови while, do-while

Короткі теоретичні відомості


Загальна форма організації циклу while має такий вигляд:
while(вираз) настанова;

28
У цьому записі під елементом настанова розуміють або одиночну настанову, або
блок настанов. Роботою циклу керує елемент вираз, який є будь-яким допустимим С+
+-виразом. Елемент настанова здійснюється доти, доки умовний вираз повертає
значення ІСТИНА. Як тільки цей вираз стає помилковим, то керування передається
настанові, яка знаходиться за цим циклом.
На відміну від циклів for і while, у яких умова перевіряється під час входу, цикл
do-while перевіряє умову при виході з циклу. Це означає, що цикл do-while завжди
здійснюється хоч би один раз. Його загальний формат має такий вигляд:
do
{
настанови;
}
while(вираз);

Хоча фігурні дужки є необов'язковими, якщо елемент настанови складається


тільки з однієї настанови, то вони часто використовують для поліпшення
читабельності конструкції do-while, не допускаючи тим самим плутанини з циклом
while. Цикл do-while здійснюється доти, доки залишається істинним елемент вираз,
який є умовним виразом.
Завдання

1. Напишіть програму, яка виводить рядок, що складається з крапок,


використовуючи настанову while. Кількість виведених крапок дорівнює
значенню, яке вводить користувач.

Лістинг 5.1

#include <iostream>

using namespace std;

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

2. Напишіть програму, в якій цикл do-while здійснюється доти, доки користувач не


введе число 100.

Лістинг 5.2

#include <iostream>

using namespace std;

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


30
3. Напишіть програму, яка вгадує задане число, використовуючи цикл do-while

Лістинг 5.3

#include <iostream>

using namespace std;

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

4. Намалювати прямокутний трикутник із символів ^. Висоту вибирає


користувач, використовуючи настанову while.

Лістинг 5.4
31
#include <iostream>

using namespace std;

int main (int argc, char** argv)

return 0;

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

Висновок: ____________________________________________________________
32
На робочому столі ПК НЕОБХІДНО зберігати зроблену
лабораторну роботу в папці з назвою своєї групи. Кожна
програма повинна називатися відповідно до номера лістингу у
лабораторній роботі.

33

You might also like