- •Міністерство освіти і науки україни
- •Лабораторна робота № 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»
- •Розробка функції для вирішення головної задачі
- •Обробка послідовності випадкових чисел
- •Вимоги до звіту
- •Контрольні питання
- •Рекомендована література
Макроси з параметрами
Макроси з параметрами дають змогу здійснювати макропідстановки, подібні до викликів функцій. Формальні параметри, вказані в списку #define, під час препроцесування замінюються фактичними виразами, заданими у звертанні до макросу. Використання макросів замість функцій має дві переваги. По-перше, макрос вбудовується в тіло програми на етапі препроцесування, отже під час виконання програми не витрачається час на виклик функції. По-друге, аргументи, що вказуються у звертанні до макросів, можуть мати довільний тип.
Синтаксис макросу з параметрами такий:
#define ім’я_макросу(список_ параметрів) вираз_для_заміни
У виразі для заміни кожен з параметрів і весь вираз слід брати у дужки.
Як приклад, наведемо макрос для піднесення числа а до ступеня b:
#define POW(a,b) ( exp( (b) * log(a) ) )
Звернення до цього макросу у програмі може виглядати так:
cout << POW(3 + x , 4.5)<< “\n”
Реализація проекту «function»
У цій лабораторній роботі слід самостійно створимо проект, який забезпечить розрахунки за деякою формулою. Розрахункову формулу слід вибрати з таблиці 3.1 відповідно до останньої цифри номера залікової книжки.
Таблиця 3.1 – Завдання для проекту | |
Варіант |
Формула |
0 | |
1 | |
2 | |
3 | |
4 | |
| |
Продовження таблиці 3.1 | |
Варіант |
Формула |
5 | |
6 | |
7 | |
8 | |
9 |
Нижче розглядається приклад створення проекту, схожого з тим, який слід розробити. Різниця полягає тільки в розрахунковій формулі і іменах вихідних даних. У цьомупроектістворимо програму для розрахунків за формулою 3.1.
(3.1)
Для обчислень за формулою створимо декілька варіантів функції, які будемо викликати з функції main().Окрім того будемо використовувати макрос, наведений у попередньому пункті,для піднесення синусу до ступеня 3 та добування кореню ступеня b.Для спрощення перевірки отриманих результатів попередньо у функції будемо обчислювати вираз ах, а також числівник і знаменник.
Підключення допоміжних файлів
На рисунку 3.1 наведено перелік файлів, які необхідно включити до програми, щоб забезпечити її нормальне функціонування.
Рисунок 3.1 – Директиви #include програмного файлу
Файл iostream забезпечує реалізацію обміну інформацією з консоллю.
Файл cmathзабезпечує доступ до математичних функцій.
Створення макросу з параметрами
Для піднесення синусу до 3-го ступеня та добутку кореня створимо макрос з параметрами, представлений на рисунку 3.2.
Рисунок 3.2 – Визначення макросу з параметрами
Створення прототипів функцій
На рисунку 3.3 наведено перелік функцій, які будуть використовуватися у файлі програми. У програмі ми створимо три варіанти функції для обчислення за формулою 3.1.
Рисунок 3.3 – Прототипи функцій програмного файлу
Функція f1() приймає три параметри і повертає значення, обчислене за формулою 3.1.
Функція f2() на відміну від попередньої нічого не повертає, але у якості четвертого параметру приймає посилання на змінну у, до якої і передає результат обчислення за формулою 3.1.
Функція f3() виконує те саме, що і функція f2(), але окрім того виводить на консоль проміжні значення розрахунків, що дозволяє простіше перевірити результати обчислень.