русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лабораторна робота 3


Дата добавления: 2015-07-09; просмотров: 859; Нарушение авторских прав


Тема: динамічні класові типи

 

Варіант 1

Створити клас для роботи з одновимірними динамічними масивами значень типу unsigned int. Передбачити функції - компоненти класу для виконання таких операцій:

- динамічного присвоєння;
- поелементного складання та віднімання;
- об’єднання двох масивів у один (конкатенація);
- упорядкування масиву по збільшенню та по зменшенню;

- консольне введення та виведення масиву.

 

Варіант 2

Створити динамічний клас для роботи з рядками символів. Максимальна довжина послідовності - 65535. Передбачити функції для виконання таких операцій:

- ініціалізація з ASCIZ-рядка (тобто з рядка, що завершується нуль-байтом);

- введення з клавіатури і з файлу;

- виведення на екран та у файл;

- повернення кількості символів;

- конкатенація рядків;

- пошук підрядка;

- пошук і заміна підрядка.

 

Варіант 3

Створити динамічний класовий тип для роботи з рядками символів. Максимальна довжина рядка - 65535 символів. Вважати, що кожен рядок завершується нуль-символом. Передбачити операції створення, знищення, ініціалізації об’єкту, а також операції динамічного присвоєння та конкатенації. Операції створення, знищення та ініціалізації реалізувати за допомогою конструкторів та деструкторів, решту операцій - за допомогою компонентних функцій.

Варіант 4

Створити клас для роботи з множинами цілих чисел. Максимальна кількість елементів множини - 65534, інтервал значень елементів множини відповідає типу int. Передбачити функції для виконання таких операцій:

- ініціалізація за допомогою масиву цілого типу;

- введення з клавіатури і з файлу;

- виведення на екран та у файл;

- об’єднання множин;

- віднімання множин;

- переріз множин;

- перевірка відношення включення;

- перевірка еквівалентності;

- перевірка належності даного числа до множини.



 

Варіант 5

Створити класи List та Element для роботи із структурою типу "однозв’язний список". Клас List повинен відповідати списку у цілому, а клас Element - елементу списка. Інформаційний компонент елементу списка - рядок символів (можна застосувати бібліотечний тип string). У зазначених класах передбачити функції для виконання таких операцій:

List :: putinbeg - створити новий елемент списку у його
початку;

List :: getoutbeg - добути і вилучити перший елемент списку;

List :: putinend - створити новий елемент списку у його кінці;

List :: getoutend - добути і вилучити останній елемент списку;

Element :: print - вивести на екран рядок - інформаційний
компонент елементу списка;

List :: print - вивести на екран інформаційні компоненти
всіх елементів списка.

 

Варіант 6

Створити клас Astack - стек, що базується на масиві покажчиків фіксованого розміру. Передбачити, щоб стек мав можливість вміщувати значення типу, що відповідає бібліотечному класу string.
Передбачити функції для виконання таких операцій:

push - занести у стек значення типу Тype;

pop - добути і вилучити значення із вершини стека;

print - вивести усі значення стека на екран;

num - повернути кількість значень, що знаходяться у стеку.

 

Варіант 7 Створити клас Aqueue - структура типу черга, що базується на масиві покажчиків фіксованого розміру. Передбачити, щоб черга мала можливість вміщувати значення типу, що відповідає бібліотечному

класу string.
Передбачити функції - члени класу для виконання таких операцій:

add - занести у чергу надане значення;

pop - добути і вилучити значення із черги;

print - вивести усі значення із черги на екран;

num - повернути кількість значень, що знаходяться у черзі;

isempty - повернути значення true (тип bool), якщо черга пуста.

 

Варіант 8

Створити клас Lstack - стек, що базується на структурі зв’язного списку. Передбачити, щоб стек мав можливість вміщувати значення, що відповідають бібліотечному класу string. Передбачити функції - члени класу для виконання таких операцій:

push - занести у стек надане значення;

pop - добути і вилучити значення із вершини стека;

print - вивести усі значення стека на екран;

num - повернути кількість значень, що знаходяться у стеку;

isempty - повернути значення true (тип bool), якщо черга пуста.

Вказівки.

Передбачити обробку виключної ситуації: добування значення із порожнього стека.

 

Варіант 9

Створити клас Lqueue - структура типу "черга", що базується на структурі зв’язного списку. Тип значення, що зберігаються у черзі, обрати самостійно. Передбачити функції для виконання таких операцій:

add - занести у кінець черги значення типу Тype;

pop - добути і вилучити значення із початку черги;

print - вивести усі значення, що знаходяться у черзі, на екран;

num - кількість значень, що знаходяться у черзі;

isempty - повернути значення true (тип bool), якщо черга пуста.

Вказівки.

Передбачити обробку виключної ситуації: добування значення із порожньої черги.

 

Варіант 10

Створити клас Set для роботи із структурами типу "Множина". Тип елементу структури обрати самостійно.

Множина є набір елементів, кожен з яких має унікальне значення. При додаванні елементу (операція include), який вже є у множині, він не додається. Для цієї структури визначаються операції, звичайні для математичних множин - об’єднання, переріз, віднімання, доповнення. Елементи множини можуть автоматично упорядковуватися, це дає змогу використовувати швидкі операції пошуку елемента із наданим значенням.

Передбачити функції - члени класу для виконання таких операцій:

include - додати новий елемент у множину;

exclude - вилучити наданий елемент із множини;

union - об’єднання множин;

inters - переріз множин;

substr - віднімання множин;

print - вивести усі значення із множини на екран;

num - кількість значень множини (потужність).

 

Варіант 11

Створити клас Bitv для роботи з бітовими векторами довільної довжини. Бітовий вектор - послідовність значень, які можуть мати значення 0 (не істина) або 1 (істина). Кожен елемент бітового вектору повинен займати у пам’яті один біт. Для розміщення бітового вектора у пам’яті застосувати динамічний масив відповідного розміру. Тип елемента масиву - носія бітового вектора - беззнаковий, розміром 1, 2 або 4 байти.

У класі Bitv передбачити такі функції:

Bitv() - конструктор без параметрів;

Bitv(char*) - конструктор для ініціалізації за допомогою значення, наданого символьним рядком;

Bitv(Bitv&) - конструктор копіювання;

~Bitv() - деструктор;

Bitv operator~() - операція побітової інверсії;

Bitv operator&(Bitv&) - побітова операція "І" (кон’юнкція);

Bitv operator|(Bitv&) - побітова операція "АБО" (диз’юнкція);

Bitv& operator=(Bitv&) - операція присвоєння;

int opeator[](int) - доступ до бітового елемента (для читання) по
індексу;

void setin0(int) - встановлення біта з наданим номером у 0;

void setin1(int) - встановлення біта у 1;

void flip(int) - інвертування біта з наданим номером;

void print() - виведення бітового вектора на екран;

size() - розмір бітового вектора (кількість слів).

 

 



<== предыдущая лекция | следующая лекция ==>
Лабораторна робота 2 | Лабораторна робота 4


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.449 сек.