- •Міністерство освіти і науки україни
- •Лабораторна робота № 1. Знайомство з інтегрованим середовищем розробки (іср) “qt-creator”
- •Короткі відомості про іср “qt-creator”
- •Головне меню середовища
- •Панель режимів робіт
- •Панель доступу до результатів опрацювання проекту
- •Створення проекту
- •Панель редагування програм
- •Автоматичне вирівнювання тексту програми
- •Коментарі дотексту програми
- •Повернення у режим редагування
- •Функція main()
- •Ще один приклад простої програми
- •Збереження проекту
- •Етапи виконання програми
- •Типи даних
- •Арифметичні типи даних
- •Основні арифметичні типи
- •Модифіковані арифметичні типи
- •Граничні значення даних цілочислових типів даних
- •Переліки
- •Цілочислові константи
- •Символьні константи
- •Константи дійсних типів
- •Описи змінних
- •Макроконстанти
- •Операція розміру sizeof
- •Арифметичні операції
- •Операції присвоєння Проста операція присвоєння
- •Комбіновані присвоєння
- •Унарні присвоєння
- •Узгодження типів
- •Арифметичні перетворення
- •Перетворення типів в операціях присвоєння
- •Явне перетворення типів
- •Бібліотека математичних функцій cmath
- •Використання об’єкту cin для введення даних
- •Форматування арифметичних даних під час виведення
- •Зміна кольорів консолі та керування курсором
- •Завдання на лабораторну роботу
- •Правила написання функцій
- •Виклик функції
- •Прототип функції
- •Прототипи бібліотечних функцій
- •Способи передачі параметрів у функції
- •Передача параметрів за значенням
- •Передача параметрів через посилання
- •Області оголошення та доступу до імен
- •Глобальні та локальні змінні
- •Глобальна чи локальна змінна?
- •Специфікатор statsc
- •Макроси з параметрами
- •Реализація проекту «function»
- •Підключення допоміжних файлів
- •Створення макросу з параметрами
- •Створення прототипів функцій
- •Функція main() програмного файлу
- •Функція f1(), що повертає значення
- •Операції над даними логічного типу
- •Логічні вирази
- •Алгоритми з розгалуженнями
- •Програмування розгалужень Оператор розгалуження if…else
- •Умовна операція
- •Оператор виборуswith
- •Оператор переходу goto
- •Функція main() програмного файлу
- •Рекомендована література
- •Лабораторна робота № 5. Побудова циклів з операторми „while” і „do...While”
- •Короткі теоретичні відомості
- •Циклічні алгоритми
- •Оператор while
- •Оператор do…while
- •Переривання циклу
- •Ітераційні алгоритми
- •Приклад ітераційного алгоритму для обчислення кубічного кореня
- •Алгоритми обчислення сум нескінченних рядів
- •Створення проекту «while_do»
- •Початковий інтерфейс проекту
- •Допоміжні файли
- •Прототипи функцій
- •Функція main() програмного файлу
- •Функція обробки номеру варіанта
- •Функції для обчислення кубічного кореня
- •Функції для обчислення синуса
- •Особливості використання циклу for
- •Випадкові числа
- •Табулювання функцій
- •Завдання на лабораторну роботу
- •Приклад Створенняпроекту«циклfor»
- •Розробка функції для вирішення головної задачі
- •Обробка послідовності випадкових чисел
- •Вимоги до звіту
- •Контрольні питання
- •Рекомендована література
Програмування розгалужень Оператор розгалуження if…else
Операторif...elseдозволяєвибрати один з двохможливих варіантіввиконання програми.Синтаксисзаписуцьогооператорапредставленийнарисунку 4.3.
Рисунок 4.5– Синтаксис оператора if … else
Виконується цей оператор наступним чином:
обчислюється значення умови (умова - вираз, результат якого приводиться до логічного типу);
якщо результат приймає значення “true”, то виконується <оператор 1>;
якщо результат приймає значення “false”, то виконується <оператор 2>, що розташований за словом else.
Як приклад використання цього оператора можна привести програмну реалізацію схеми алгоритму зображеного на рисунку 4.4.
void test_koef(float a, float b, float c) {
if (a==0)
// Звернення до функції рішення лінійного
lin_riv(b,c);
else
// Звернення до функції рішення квадратного рівняння
kv_riv(a,b,c);
}
Рисунок 4.4 – Програмна реалізація алгоритму аналізу коефіцієнтів квадратного рівняння
Якщо замість одного оператора потрібно виконати декілька, їх слід об’єднати у блок за допомогою фігурних дужок. У цьому випадку крапка з комою після закриваючої дужки не ставиться.
У деяких випадках, при невиконанні умови, що перевіряється, робити нічого не треба, тобто <оператор 2> не потрібен. У цьому випадку оператор if можна застосовувати в скороченій формі. Синтаксис скороченої форми має вигляд, представлений на рисунку 4.5.
Рисунок 4.5– Скорочена форма оператора if
Оператор if, як повний так і скорочений, може бути вкладений у інший оператор if.При цьому слід пам’ятати, що кожна else-частина пов’язується з найближчим if.Якщо ж else-частина відноситься до одного з попередніх if, то слід застосовувати фігурні дужки. Приклад використання вкладених операторів if наведено на рисунку 4.6.
Стандарт мови С гарантує можливість 15 рівнів вкладення для оператора if.Проте не слід цим зловживати. Вкладені оператори if виглядають зазвичай досить заплутано і часто є причиною виникнення логічних помилок.
Рисунок 4.6– Приклад використання вкладених операторів if
Більш зручними і наочними є ланцюжки повних операторів if, в яких після кожного слова else (за винятком останнього) знову йде повний оператор if, рисунок 4.7. Такі ланцюжки зручно використовувати при вирішенні багатоваріантних задач. Вони досить легко аналізуються, за структурою подібні до розглянутого нижче оператору swith, і їх можна застосовувати, на відміну від нього, для перевірки будь-яких умов.
Рисунок 4.7– Приклад ланцюжка повних операторів if
Умовна операція
Цю операцію називають ще теренарною операцією. Вона виконується над трьома операндами і записується так, як показано на рисунку 4.8.
Рисунок 4.8 – Синтаксис теренарного оператора
Тут умова - це вираз, результат якого приводиться до логічного типу. Якщо результат обчислення умови приймає значення “true”, то результатом операції буде значення виразу 1. Якщо результат обчислення умови приймає значення “false”, то результатом операції буде значення виразу 2. На рисунку 4.9 наведено приклад використання вкладеного теренарного оператора у функції для розрахунку стипендії.
.
Рисунок 4.9– Приклад використання теренарного оператора