Реалізувати клас «Прямокутний паралелепіпед» із наступними атрибутами:
Довжина;
ширина;
висота.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює прямокутний паралелепіпед 1х1х1
- довжина;
- ширина;
- висота
утворює відповідний прямокутний паралелепіпед
- об’єкт класу “Прямокутний паралелепіпед”
утворює клон паралелепіпеда, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає об’єм паралелепіпеда, для якого даний метод викликано
-
повертає площу поверхні паралелепіпеда, для якого даний метод викликано
- об’єкт класу “Прямокутний паралелепіпед”
повертає логічне значення, в залежності від того, чи співпадає прямокутний паралелепіпед, для якого було викликано цей метод, з паралелепіпедом, переданим в якості параметру
- дійсне число
повертає прямокутний паралелепіпед, виміри якого збільшено в разів у порівнянні з паралелепіпедом, для якого даний метод викликано
- дійсне число
повертає прямокутний паралелепіпед, виміри якого пропорційно збільшено таким чином, що його об’єм в разів більший у порівнянні з об’ємом паралелепіпеда, для якого даний метод викликано
Реалізувати клас «Піраміда» із наступними атрибутами:
довжина ребра;
висота.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
- висота;
- довжина ребра
утворює відповідну правильну прямокутну піраміду
- висота;
- периметр основи піраміди
утворює відповідну правильну прямокутну піраміду
- об’єкт класу “Піраміда”
утворює клон піраміди, переданої в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає об’єм піраміди, для якої даний метод викликано
-
повертає площу поверхні піраміди, для якої даний метод викликано
-
повертає масив, що містить висоту, довжину ребра та довжину апофеми піраміди, для якої даний метод викликано
- об’єкт класу “Піраміда ”
повертає логічне значення, в залежності від того, чи співпадає піраміда, для якої було викликано метод, з пірамідою, переданою в якості параметру
- об’єкт класу “Піраміда”
повертає об’єм зрізаної піраміди, отриманої шляхом відтинання частини більшої піраміди меншою
Реалізувати клас «Вектор» із наступними атрибутами:
розмірність простору;
масив координат початку вектора;
масив координат кінця вектора.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
- розмірність N
утворює N-вимірний одиничний вектор з початком у точці відліку координат
- розмірність N
- масив координат кінця вектора
утворює N-вимірний вектор з початком у точці відліку координат
- розмірність N
- масив координат початку вектора
- масив координат кінця вектора
утворює N-вимірний вектор з відповідними координатами кінця та початку
- об’єкт класу “Вектор”
утворює клон вектора, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає довжину вектора, для якої даний метод викликано
-
повертає масив, що містить кути нахилу вектора відносно N координатних площин
- об’єкт класу “Вектор”
повертає суму двох векторів: переданого в якості параметру та вектора, для якого викликано метод
- об’єкт класу “Вектор”
повертає логічне значення в залежності від того, чи є переданий в якості параметру вектор колінеарним із вектором, для якого було викликано метод
- об’єкт класу “Вектор”
повертає логічне значення, в залежності від того, чи є переданий в якості параметру вектор ортогональним до вектора, для якого було викликано метод
Реалізувати клас «Трикутник» із наступними атрибутами:
масив довжин сторін.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює трикутник із випадковими довжинами сторін
- довжину ребра
утворює правильний трикутник із заданою довжиною сторони
- масив довжин сторін
утворює відповідний трикутник
- об’єкт класу “Трикутник”
утворює клон трикутника, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає площу трикутника, для якого даний метод викликано
-
повертає логічне значення в залежності від того, чи є трикутник, для якого викликано метод, прямокутним
-
повертає масив, що містить кути трикутника
- об’єкт класу “Трикутник”
повертає логічне значення, в залежності від того, чи співпадає трикутник, для якого було викликано метод, з трикутником, переданим в якості параметру
- об’єкт класу “Трикутник”
- дійсне число
повертає трикутник зі сторонами пропорційно збільшеними в разів відносно переданого в якості параметра
Реалізувати клас «Трапеція» із наступними атрибутами:
масив довжин основ трапеції;
масив довжин бічних сторін трапеції
масив кутів при основі трапеції.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює квадрат із довжиною сторони 1
- масив довжин основ трапеції
- масив довжин бічних сторін трапеції
- масив кутів при основі трапеції
утворює відповідну трапецію
- об’єкт класу “Трапеція”
утворює клон трапеції, переданої в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає висоту трапеції, для якої даний метод викликано
-
повертає масив, що містить кути трапеції
-
повертає логічне значення, в залежності від того, чи є трапеція, для якої було викликано метод, прямокутником
-
повертає масив, що містить довжини діагоналей трапеції
- об’єкт класу “Трапеція”
повертає логічне значення, в залежності від того, чи співпадає трапеція, для якої було викликано метод, з трапецією, переданою в якості параметру
Реалізувати клас «Круговий конус» із наступними атрибутами:
висота;
радіус основи;
площа поверхні;
об’єм.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює круговий конус одиничного радіусу з одиничною висотою
- висота
- радіус основи
утворює відповідний круговий конус
- об’єкт класу “Круговий конус”
утворює клон конусу, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає масив, що містить об’єм та площу поверхні конуса, для якого даний метод викликано
-
повертає кут конуса, для якого даний метод викликано
- об’єкт класу “Круговий конус”
повертає логічне значення, в залежності від того, чи співпадає конус, для якого викликано метод з конусом, переданим в якості параметру
- дійсне число а
- дійсне число b
повертає конус, радіус основи та висота якого збільшені відповідно в а та b разів відносно конусу, для якого даний метод викликано
- об’єкт класу “Круговий конус”
повертає об’єм зрізаного конуса, отриманого шляхом відтинання частини більшого конуса меншим
Реалізувати клас «Циліндр» із наступними атрибутами:
висота;
радіус основи;
площа поверхні;
об’єм.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює циліндр одиничного радіусу з одиничною висотою
- висота
- радіус основи
утворює відповідний циліндр
- об’єкт класу “Циліндр”
утворює клон циліндру, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає площу поверхні циліндра, для якого даний метод викликано
-
повертає об’єм циліндра, для якого даний метод викликано
- об’єкт класу “Циліндр”
повертає логічне значення, в залежності від того, чи співпадає циліндр, для якого викликано метод, з циліндром, переданим в якості параметру
- дійсне число а
повертає циліндр, висота якого рівна, а радіус основи збільшено відносно циліндру, для якого даний метод викликано, таким чином, щоб об’єм нового циліндру був більшим на а відносно початкового
- дійсне число а
- дійсне число b
повертає циліндр, радіус основи та висота якого збільшені відповідно в а та b разів відносно циліндру, для якого даний метод викликано
Реалізувати клас «Рядок» (без використання стандартного класу) із наступними атрибутами:
символьний рядок;
довжина рядка.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює порожній рядок
- рядок
утворює відповідний рядок
- довжина рядка
генерує випадковий символьний рядок заданої довжини
- об’єкт класу “Рядок”
утворює клон рядка, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає довжину рядка, для якого даний метод викликано
- символ
дописує символ в кінець рядка, для якої даний метод викликано
- символ
дописує символ в початок рядка, для якої даний метод викликано
- об’єкт класу “Рядок”
повертає логічне значення в залежності від того, чи співпадає рядок, для якого було викликано метод, з рядком, переданим в якості параметру
- об’єкт класу “Рядок”
повертає позицію першого входження переданого рядка в рядок, для якого даний метод викликано, або 0, якщо переданий рядок не є його частиною.
Реалізувати клас «Двійкове число» із наступними атрибутами:
масив розрядів числа;
десяткове значення числа.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює число 0
- десяткове число
утворює двійкове число, що є представленням десяткового числа, переданого в якості параметру
- двійкове число, представлене у вигляді рядка
утворює відповідне двійкове число
- двійкове число, представлене у вигляді масива розрядів
утворює відповідне двійкове число
- об’єкт класу “Двійкове число”
утворює клон двійкового числа, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає кількість розрядів двійкового числа, для якого даний метод викликано
-
повертає десяткове представлення двійкового числа, для якого даний метод викликано
-
інвертує двійкове число, для якого даний метод викликано
- об’єкт класу “Двійкове число”
повертає логічне значення, в залежності від того, чи співпадає двійкове число, для якого було викликано метод, з числом, переданим в якості параметру
- об’єкт класу “Двійкове число”
Повертає об’єкт класу «Двійкове число», який є сумою двійкового числа, переданого в якості параметру, та числа, для якого даний метод викликано
Реалізувати клас «Орієнтований граф» із наступними атрибутами:
кількість вершин;
матриця суміжності.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює граф, що складається з однієї вершини
- кількість вершин
утворює повний граф із заданою кількістю вершин
- кількість вершин
- кількість ребер
генерує випадковий орієнтований граф із заданою кількістю вершин та ребер
- кількість вершин
- матриця суміжності вершин
утворює відповідний граф
- об’єкт класу “Орієнтований граф”
утворює клон графа, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає кількість ребер у графі, для якого даний метод викликано
-
повертає логічне значення, в залежності від того, чи є граф, для якого викликано метод, повним
- масив ребер, що входять у вершину
- масив ребер, що виходять з вершини
додає до графа нову вершину із ребрами, переданими в якості параметра
-
повертає матрицю інцидентності графа, для якого було викликано метод
Реалізувати клас «Стек» із наступними атрибутами:
числовий масив елементів стека;
індекс «верхнього» елемента стека.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює порожній стек
- масив значень
утворює стек із відповідним набором елементів, останній елемент масива вибирається «верхнім»
- об’єкт класу “Стек”
утворює клон стека, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає кількість елементів у стеку
- число
додає елемент до стеку, для якого даний метод викликано
-
дістає зі стека верхній елемент, переміщуючи індекс на наступний
- об’єкт класу “Стек”
повертає логічне значення, в залежності від того, чи співпадає вміст стека, для якого було викликано метод, із вмістом стека, переданого в якості параметру
- об’єкт класу “Стек”
повертає новий стек, наповнений почергово елементами стека, для якого даний метод викликано, та переданого в якості параметра; обидва стеки при цьому стають порожніми.
Реалізувати клас «Черга» із наступними атрибутами:
числовий масив елементів черги;
індекс «першого» елемента черги;
індекс «останнього» абсциса центру.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює порожню чергу
- масив значень
утворює чергу із відповідним набором елементів, індекси черги ініціюються індексами першого та останнього елементів відповідно
- об’єкт класу “Черга”
утворює клон черги, переданої в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає довжину черги
- число
додає елемент в кінець черги, для якої даний метод викликано
-
дістає з черги перший елемент, переміщуючи індекс на наступний
- об’єкт класу “Черга”
повертає логічне значення, в залежності від того, чи співпадає вміст черги, для якої було викликано метод, із вмістом черги, переданої в якості параметру
- об’єкт класу “Черга”
повертає нову чергу, наповнену послідовно елементами черги, для якої даний метод викликано, та черги, переданої в якості параметра; обидві черги при цьому стають порожніми.
Реалізувати клас «Елемент бінарного дерева» із наступними атрибутами:
числове значення;
посилання на «лівий» наступний елемент;
посилання на «правий» наступний елемент (реалізація посилань – на вибір виконавця).
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює порожній елемент дерева
- число
утворює елемент дерева з відповідним значенням
- число
- 2 посилання на інші об’єкти класу “Елемент бінарного дерева”
утворює відповідний елемент дерева із заданими зв’язками
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає значення елемента, для якого даний метод викликано
-
повертає масив, що містить обидва елементи, на які посилається елемент дерева, для якого даний метод викликано
- об’єкт класу “Елемент бінарного дерева”
встановлює «ліве» посилання елемента, для якого даний метод викликано, на елемент-аргумент
- об’єкт класу “Елемент бінарного дерева”
встановлює «праве» посилання елемента, для якого даний метод викликано, на елемент-аргумент
Реалізувати клас «Множина» із наступними атрибутами:
множина чисел (організація даних – на вибір виконавця).
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює порожню числову множину
- числовий масив
утворює множину, що містить відповідні числа
- натуральне число
генерує випадкову числову заданої потужності
- об’єкт класу “Множина”
утворює клон множини, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає вміст множини, для якої даний метод викликано
- число
додає до множини число, передане в якості параметру
- число
видаляє з множини число, передане в якості параметру
- число
повертає логічне значення, в залежності від того, чи є передане число елементом множини, для якої викликано метод
- об’єкт класу “Множина”
повертає множину, яка є перетином множини, для якої викликано метод, та множини, переданої в якості параметру
- об’єкт класу “Множина”
повертає множину, яка є об’єднанням множини, для якої викликано метод, та множини, переданої в якості параметру
Реалізувати клас «Масив рядків» із наступними атрибутами:
масив рядків.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює порожній масив
- рядок
утворює масив, що складається з одного відповідного рядка
- масив рядків
утворює відповідний об’єкт
- об’єкт класу “Масив рядків”
утворює клон об’єкту, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає довжину масиву, для якого даний метод викликано
- рядок
додає в кінець масиву, для якого даний метод викликано, відповідний рядок
- рядок
виводить номер відповідного рядка у масиві, або 0, якщо такого рядка в масиві немає
- натуральне число
видаляє з масиву, для якого викликано метод, рядок із відповідним номером
-
сортує рядки масиву, для якого даний метод викликано, за алфавітом
-
повертає логічне значення в залежності від того, чи відсортовано даний масив
Реалізувати клас «Масив чисел» із наступними атрибутами:
масив дійсних чисел.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює порожній масив
- число
утворює масив заданої розмірності, ініціалізуючи його випадковими значеннями
- масив чисел
утворює відповідний об’єкт
- об’єкт класу “Масив чисел”
утворює клон об’єкту, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає довжину масиву, для якого даний метод викликано
- дійсне число
- натуральне число
вставляє передане дійсне число на вказану позицію у масиві, для якого даний метод викликано, зсуваючи при цьому наступні елементи масиву
- число
повертає номер переданого числа у масиві, або 0, якщо такого числа немає у масиві, для якого викликано метод
- об’єкт класу “Масив чисел”
видаляє всі елементи масиву, для якого викликано метод, які містяться у масиві, переданому в якості параметру
-
сортує масив, для якого даний метод викликано, за спаданням
Реалізувати клас «Довге число» із наступними атрибутами:
масив чисел, що представляють розряди десяткового числа довільної довжини.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює нуль – число з єдиним нульовим елементом масиву
- число
утворює відповідне довге число, переносячи число-аргумент в масив порозрядно
- об’єкт класу “Довге число”
утворює клон об’єкту, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає довжину числа, для якого даний метод викликано
- натуральне число і
повертає і-й розряд числа, для якого даний метод викликано
- натуральне число і
- число a, 0≤a≤9
встановлює і-й розряд числа, для якого даний метод викликано, рівним а
- об’єкт класу “Довге число”
повертає довге число, що представляє суму числа, для якого викликано метод, та числа, переданого в якості параметру (із переносом розрядів, за правилами арифметики)
- об’єкт класу “Довге число”
повертає довге число, що представляє різницю числа, для якого викликано метод, та числа, переданого в якості параметру (із переносом розрядів, за правилами арифметики)
Реалізувати клас «Елемент однонапрямленого зв’язаного списку» із наступними атрибутами:
числове значення;
посилання на наступний елемент (реалізація посилань – на вибір виконавця).
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює елемент з нульовим значенням
- число
утворює елемент списку з відповідним значенням
- число
- посилання на інший об’єкт класу “Елемент списку”
утворює відповідний елемент списку із заданим зв’язком
- об’єкт класу “Елемент списку”
утворює клон елемента, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає значення елемента, для якого даний метод викликано
-
повертає елемент на який посилається елемент списку, для якого даний метод викликано
- об’єкт класу “Елемент списку”
встановлює посилання елемента, для якого даний метод викликано, на елемент-аргумент, а посилання аргумента – на елемент, на який раніше посилався поточний елемент списку
- об’єкт класу “Елемент списку”
встановлює посилання елемента, переданого в якості параметру, на поточний елемент списку, а посилання елемента, для якого викликано метод, - на елемент, на який раніше посилався елемент-аргумент
Реалізувати клас «Елемент двозв’язного списку» із наступними атрибутами:
числове значення;
посилання на наступний елемент списку (А);
посилання на попередній елемент списку (В) (реалізація посилань – на вибір виконавця).
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює елемент з нульовим значенням
- число
утворює елемент списку з відповідним значенням
- число
- посилання на інший об’єкт класу “Елемент списку”
утворює відповідний елемент списку, встановлюючи посилання В на заданий елемент
- об’єкт класу “Елемент списку”
утворює клон елемента, переданого в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає значення елемента, для якого даний метод викликано
-
повертає елемент на який вказує посилання А елемента, для якого даний метод викликано
-
повертає елемент на який вказує посилання В елемента, для якого даний метод викликано
- об’єкт класу “Елемент списку”
вставляє поточний елемент після аргументу: встановлює посилання В на елемент-аргумент, а посилання А аргумента – на поточний елемент, посилання А поточного елемента – на колишній наступний після аргументу елемент, посилання В аргумента – на колишній попередній відносно поточного елемент
- об’єкт класу “Елемент списку”
вставляє поточний елемент перед аргументом: встановлює посилання А на елемент-аргумент, а посилання В аргумента – на поточний елемент, посилання В поточного елемента – на колишній попередній відносно аргументу елемент, посилання А аргумента – на колишній наступний після поточного елемент
Реалізувати клас «Таблиця» із наступними атрибутами:
масив об’єктів класу «рядок таблиці», кожен з яких має 2 числових атрибути з модифікатором доступу public.
Забезпечити створення екземплярів класу за допомогою наступних конструкторів:
-
Параметри
Призначення
-
утворює порожню таблицю
- 2 числових масиви однакової довжини n
утворює таблицю розмірності n, ініціалізуючи значення її рядків трійками чисел, взятих із трьох масивів-аргументів відповідно
- об’єкт класу “рядок таблиці”
- натуральне число
утворює таблицю, що складається з відповідної кількості однакових рядків, еквівалентних рядку-аргументу
- об’єкт класу “Таблиця”
утворює клон таблиці, переданої в якості параметра
Розробити наступні методи класу:
-
Параметри
Призначення
-
повертає розмірність таблиці, для якої даний метод викликано
- об’єкт класу “рядок таблиці”
додає переданий рядок в кінець таблиці
- число
видаляє рядок таблиці із переданим номером
- число
повертає масив номерів рядків таблиці, значення першого атрибута яких дорівнює числу, переданому в якості параметра
- число
повертає масив номерів рядків таблиці, значення другого атрибута яких дорівнює числу, переданому в якості параметра
- число
- об’єкт класу “рядок таблиці”
замінює рядок таблиці із вказаним номером на рядок, переданий в якості параметра
Порядок виконання роботи та зміст звіту
Розробити PHP-сценарій із реалізацією класу відповідно до варіанту індивідуального завдання.
Розробити набір тестів та забезпечити інтерфейс для перевірки правильності роботи методів класу із використанням форм для введення даних.
Підготовлену програму представити викладачеві для перевірки, продемонструвавши хід її роботи.
Підготувати звіт по лабораторній роботі. Зміст звіту:
титульний лист;
постановка задачі;
текст програми з коментарями;
хід роботи програми у вигляді відеокопій екрана;
висновки.
Контрольні питання
Наслідування, інкапсуляція та поліморфізм.
Синтаксис визначення класу.
Модифікатори видимості елементів класу.
Життєвий цикл об’єкта.
Що таке інтерфейси?
Що таке абстрактні класи?
