Лабораторні з ООП
5 USDТреба виконати 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 робіт , тому що нажаль не впевнена що встигну їх виконати
Current freelance projects in the category C & C++
Consultation and audit of the current project on Odoo 19 Community EditionWe are looking for an Odoo Developer — a solo developer with experience in Odoo 19 Community Edition, including using Claude Code. We need a specialist who has successfully implemented projects in Odoo and practical experience in development using Claude Code. Important: we only… C & C++, Javascript and Typescript ∙ 1 day 5 hours back ∙ 5 proposals |
Creation or refinement of firmware and logic for three autonomous LoRa stations based on ESP32.
113 USD
Creation or refinement of firmware and logic for three autonomous LoRa stations based on ESP32. The devices must set up a Wi-Fi access point, serve a local site via a browser (HTTP), receive text and images within a radius of 5-10 km (plus or minus), store data (preferably on… C & C++, C# ∙ 1 day 8 hours back ∙ 3 proposals |
Software development for Arduino (RF modules 3–7.5 GHz, automatic frequency scanning)It is necessary to develop a system on Arduino for the automatic search of active analog video signals and the automatic tuning of the transmitter to the detected frequency.It is planned to use three separate transceiver modules: 3000–4200 MHz; 4900–6000 MHz; 6100–7500… C & C++, Embedded Systems & Microcontrollers ∙ 2 days 6 hours back ∙ 4 proposals |
Black Ukraine (RP-project on base MTA)
1164 USD
|
Residential Proxy Infrastructure EngineerWe're building a residential proxy network from scratch — fully owned, no third-party suppliers. We need one exceptional network engineer to build the entire technical foundation. What you'll build: - Android background SDK that routes proxy traffic through user devices… C & C++, DevOps ∙ 8 days 2 hours back ∙ 13 proposals |