Лабораторні з ООП
200 UAHТреба виконати 3 лабораторні до 13.12.2021
Лаб. 1
Завдання
Структурою-парою прийнято називати структуру, яка складається з двох полів з іменами first і second.
Необхідно реалізувати власний тип даних за допомогою цієї структури [11].
Створити кілька об’єктів (ob1, ob2, ob3,…) такого структурного типу.
В усіх завданнях реалізувати:
уведення структурної змінної (функція input());
функцію check(), яка повинна забезпечувати перевірку введених функцією input() значень на коректність;
виведення на екран інформації про об'єкт (функція output());
продемонструвати результати роботи програми, викликавши всі функції з основної функції main().
При введенні помилкових значень параметрів слід вивести відповідне повідомлення і знов запропонувати ввести потрібні значення.
Глобальні змінні не використовувати.
Програму реалізувати у двох варіантах:
1) всі необхідні функції описати як звичайні зовнішні функції засобами мови С (якщо в умові написано "метод", то під методом розуміється звичайна функція);
2) функції, які оперують одним об’єктом, описати як функції-члени структури (мова С++); тіла функцій описати за межами структури, використовуючи оператор прив'язки; для введення/виведення інформації використовувати об'єкти cin, cout. (якщо в умові написано "метод", то під методом розуміється член-функція).
Зауваження: 1. для реалізації деяких власних структурних типів може виникнути необхідність у створенні ще одного допоміжного структурного типу, за допомогою якого будуть визначатися поля first і second.
Поле first – дійсне число, координата x точки на площині; поле second – дійсне число, координата y точки на площині. Реалізувати методи distance() – відстань від точки до початку координат, distanceTwo(ob1,ob2) – відстань між двома точками.
Лаб.2
Завдання
Перезавантажити функції для різних типів вхідних даних, або створити шаблони функцій, або перевизначити операції для означених користувачем типів (нові типи задавати у вигляді структур) [17].
Для тих варіантів завдань, де треба використовувати структурний тип, у описі типу використовувати лише члени дані. А всі необхідні оператори і функції визначити за межами структури.
Перезавантажити операцію “*” для множення двох комплексних чисел, множення дійсного (float, double) і комплексного числа, обчислення скалярного добутку двох векторів з елементами числових типів.
Лаб. 3
Завдання
У всіх завданнях описати класовий тип (у першій частині – це структура, у другій частині – клас з використанням цієї структури). Окрім вказаних у завданні функцій, для об’єкта заданого класового типу повинні бути також реалізовані наступні функції [11]:
ініціалізація об’єкта init(). Функція отримує необхідні параметри для заповнення ними об'єкта;
введення об’єкта з клавіатури input(). Функція вводить дані і заповнює ними об'єкт;
виведення об’єкта на екран output(). Функція виводить дані лише про об'єкт;
перетворення об’єкта в рядок toPChar(). Функція повинна повертати результат типу char*. Результат має представляти об'єкт, підготовлений для виведення на друк.
Підказки по реалізації функції toPChar(): функції itoa() i ftoa() переводять відповідно ціле і дійсне у рядок. Функція sprintf() друкує інформацію у рядок, який задається 1-м аргументом точно так, як функція printf() друкує інформацію на екран. Нединамічний рядок, описаний у функції, припиняє своє існування за межами функції. Динамічний рядок створюються у купі і продовжує існувати після завершення виконання функції, поки його не буде знищено за допомогою delete().
Усі завдання повинні бути реалізовані двома способами (завдання складається з 2 частин):
1) тип даних задається структурою з необхідними полями, а операції над об'єктом реалізуються як зовнішні неоператорні функції, які отримують об’єкти даного типу або посилання на такі об'єкти як аргументи;
2) тип даних задається класом. Член-даних класу – одна приватна змінна структурного типу, який описаний у п.1, члени-функції класу – відкриті неоператорні функції init(), input(), output(), toPChar() і функції доступу до приватної змінної setStruct(), getStruct() або до окремих полів приватної змінної setVar(), getVar().
Функції, зазначені в конкретному варіанті, визначити як звичайні сторонні функції (доступ для до приватної частини класу в цих функціях відбувається за допомогою функцій доступу).
Визначити тип TPoint для роботи з точками на площині. Координати точки – декартові. Обов’язково повинно бути реалізовано: переміщення точки по осі X, переміщення по осі Y, визначення відстані до початку координат, відстані між двома точками, перетворення в полярні координати, порівняння на збіг та неспівпадання двох точок.
-
767 20 0 Доброго вечора Олександр ! Уже виконала перше завдання
Наскільки зрозуміла по умовам ваш викладач ( з лекцій та можливо лабораторних) має ініціали С.Т.М. , тому можу запевнити вас це завдання вона одобрить
Також можу надіслати приклади до виконання 2 та 3 робіт , тому що нажаль не впевнена що встигну їх виконати
Актуальні фриланс-проєкти в категорії C та C++
Консультація та аудит поточного проєкту на Odoo 19 Community EditionШукаємо Odoo Developer — соло-розробника з досвідом розробки на Odoo 19 Community Edition, у тому числі за допомогою Claude Code. Нам потрібен спеціаліст, який має успішно реалізовані проєкти в Odoo та практичний досвід розробки з використанням Claude Code. Важливо: розглядаємо… C та C++, Javascript та Typescript ∙ 1 день 9 годин тому ∙ 5 ставок |
Створення або доопрацювання прошивки та логіки під три автономні LoRa-станції на базі ESP32.
5000 UAH
створення або доопрацювання прошивки та логіки під три автономні LoRa-станції на базі ESP32. Пристрої повинні піднімати Wi-Fi точку доступу, віддавати локальний сайт через браузер (HTTP), приймати текст та зображення в радіусі 5-10 км (плюс-мінус), зберігати дані (бажано на… C та C++, C# ∙ 1 день 11 годин тому ∙ 3 ставки |
Розробка ПЗ для Arduino (RF-модулі 3–7.5 ГГц, автоматичне сканування частот)Потрібно розробити систему на Arduino для автоматичного пошуку активного аналогового відеосигналу та автоматичного налаштування передавача на виявлену частоту.Планується використання трьох окремих приймально-передавальних модулів: 3000–4200 МГц; 4900–6000 МГц; 6100–7500… C та C++, Вбудовані системи та мікроконтролери ∙ 2 дні 10 годин тому ∙ 4 ставки |
Чорна Україна (RP-проект на базі MTA)
51 638 UAH
|
Інженер інфраструктури резидентних проксіМи будуємо мережу резидентних проксі з нуля — повністю власну, без сторонніх постачальників. Нам потрібен один винятковий мережевий інженер, щоб побудувати всю технічну основу. Що ви будете будувати: - Android фоновий SDK, який маршрутизує проксі-трафік через пристрої… C та C++, DevOps ∙ 8 днів 6 годин тому ∙ 13 ставок |