Similar presentations:
Классы. Перегрузка операций. Лабораторная работа № 2. Задания
1.
2022 годОбъектно-ориентированное программирование
ЛАБОРАТОРНАЯ РАБОТА № 2
КЛАССЫ. ПЕРЕГРУЗКА ОПЕРАЦИЙ
Варианты заданий
Вариант 1. Дата.................................................................................................................................2
Вариант 2. Время ..............................................................................................................................2
Вариант 3. Комплексное число .......................................................................................................3
Вариант 4. Двумерный вектор ........................................................................................................3
Вариант 5. Трехмерный вектор .......................................................................................................4
Вариант 6. Обыкновенная дробь ....................................................................................................4
Вариант 7. Треугольник ...................................................................................................................5
Вариант 8. Параллелограмм ............................................................................................................5
Вариант 9. Трапеция ........................................................................................................................6
Вариант 10. Ромб ................................................................................................................................6
Вариант 11. Цилиндр .........................................................................................................................7
Вариант 12. Конус ..............................................................................................................................7
Вариант 13. Пирамида .......................................................................................................................8
Вариант 14. Равносторонний пятиугольник ....................................................................................8
Вариант 15. Равносторонний шестиугольник .................................................................................9
Вариант 16. Колесо со спицами ........................................................................................................9
Вариант 17. Аквариум (Параллелепипед с жидкостью)...............................................................10
Вариант 18. Бочка (Цилиндр с жидкостью)...................................................................................10
Вариант 19. Лампочка ......................................................................................................................11
Вариант 20. Резистор .......................................................................................................................11
Вариант 21. Конденсатор.................................................................................................................12
Вариант 22. Катушка индуктивности .............................................................................................12
Вариант 23. Параллельный колебательный контур ......................................................................13
Вариант 24. Дифференцирующая RC-цепочка .............................................................................13
Вариант 25. Интегрирующая RL-цепочка .....................................................................................14
Вариант 26. Логический элемент И ................................................................................................14
Вариант 27. Логический элемент ИЛИ ..........................................................................................15
Вариант 28. Логический элемент И-НЕ .........................................................................................15
Вариант 29. Логический элемент ИЛИ-НЕ....................................................................................16
Вариант 30. Логический элемент Исключающее ИЛИ ................................................................16
Вариант 31. Токовый датчик давления ...........................................................................................17
Вариант 32. Токовый датчик температуры.....................................................................................17
Вариант 33. Токовый датчик расхода.............................................................................................18
Вариант 34. Частотный датчик расхода .........................................................................................18
Вариант 35. Частотный датчик скорости .......................................................................................19
Вариант 36. Параметры квартиры ..................................................................................................19
Вариант 37. Домашний адрес ..........................................................................................................20
Вариант 38. Адрес электронной почты ..........................................................................................20
2.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 1. Дата
Разработать класс Дата и программу, иллюстрирующую возможности данного класса.
Класс должен хранить дату и включать методы, позволяющие:
– задавать и считывать дату строкой в формате “01.01.2001”;
– задавать и считывать отдельно день, месяц и год или все параметры сразу;
– сравнивать две даты на >, <, = =;
– вычислять количество дней между двумя датами;
– вычислять дату, отстоящую от исходной на заданное количество дней (как вперед, так и
назад).
Перегрузить операции:
a++ (a– –)
дата увеличилась (уменьшилась) на 1 день
a += k (a –= k) дата увеличилась (уменьшилась) на k дней
b=a+k
дата b стала больше даты a на k дней
b=a–k
дата b стала меньше даты a на k дней
k=a–b
число дней между датами a и b
a<b
сравнение двух дат на <
a>b
сравнение двух дат на >
a == b
сравнение двух дат на ==
a=b
дата a стала равной дате b
Все проверки корректности ввода дат должны проводиться в методах класса.
В программе должен быть массив из 8 объектов данного класса, окна ввода выбранной даты строкой, окна ввода отдельно дня, месяца и года, вывода даты и кнопки, по которым вызываются функции, иллюстрирующие возможности этих объектов.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 2. Время
Разработать класс Время и программу, иллюстрирующую возможности данного класса.
Класс должен хранить время и включать методы, позволяющие:
– задавать и считывать время строкой в формате “12:05:23”;
– задавать отдельно час, минуту и секунду или все параметры сразу.
– сравнивать два времени на >, <, = =;
– вычислять количество сек между двумя датами;
– вычислять время, отстоящее от исходного на заданное количество сек (как вперед, так и
назад).
Перегрузить операции:
a++ (a– –)
время увеличилось (уменьшилось) на 1 сек
a += k (a –= k) время увеличилось (уменьшилось) на k сек
b=a+k
время b стало больше времени a на k сек
b=a–k
время b стало меньше времени a на k сек
f=a–b
число сек между временами a и b
a<b
сравнение двух времен на <
a>b
сравнение двух времен на >
a == b
сравнение двух времен на ==
a=b
время a стало равной времени b
Все проверки корректности ввода времени должны проводиться в методах класса.
В программе должен быть массив из 8 объектов данного класса, окна ввода выбранного
времени строкой, окна ввода отдельно часов, минут и секунд, вывода времени и кнопки, по которым вызываются функции, иллюстрирующие возможности этих объектов.
3.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 3. Комплексное число
Разработать класс Комплексное число и программу, иллюстрирующую возможности
данного класса. Класс должен хранить реальную и мнимую части числа (тип float) и включать
методы, позволяющие:
– задавать и считывать комплексное число строкой в формате “1.3 + i * 12.6” :
– задавать и считывать отдельно реальную и мнимую части или оба параметра сразу;
– читывать отдельно модуль и фазу;
Перегрузить операции:
a += b
комплексное число а увеличилась на b (b тоже комплексное число)
a –= b
комплексное число а уменьшилась на b (b тоже комплексное число)
с=a+b
сумма комплексных чисел (а также операции –, *, /)
то же для комплексного числа и числа типа float (int)
im
50
a < b (a > b) сравнение двух комплексных чисел
по модулю на < (>)
a == b сравнение двух комплексных чисел на ==
Используя данный класс разработать программу
re
для графического отображения комплексных чисел.
Все проверки корректности должны проводиться в
50
методах класса. В программе должен быть массив из 6
объектов данного класса.
Программа должна иметь возможность:
– задавать их параметры вручную и автоматически по
возрастанию значений;
– выполнять все перегруженные операции для выбранного объекта;
– графически отображать комплексные числа.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 4. Двумерный вектор
Разработать класс Двумерный вектор и программу, иллюстрирующую возможности данного
класса.. Класс должен хранить компоненты вектора и включать методы, позволяющие:
– задавать и читать компоненты вектора строкой в формате “13; -23.5”;
– задавать и читать отдельные компоненты вектора (как числа типа float);
– вычислять модуль и фазу;
Перегрузить операции:
100
a=b+c
сложение векторов;
a=b–c
вычитание векторов;
f=b*c
скалярное произведение векторов;
a *= k
вектор a увеличился в k раз
a < b (a > b)
сравнение двух векторов по модулю на < (>)
100
a == b
сравнение двух векторов на = =
Используя данный класс разработать программу для графического отображения векторов.
Все проверки корректности ввода должны проводиться в методах
класса. В программе должен быть массив из 6 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную и автоматически по возрастанию значений;
– выполнять все перегруженные операции для выбранных объектов;
– графически отображать векторы.
4.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 5. Трехмерный вектор
Разработать класс Трехмерный вектор и программу, иллюстрирующую возможности данного
класса. Класс должен хранить компоненты вектора и включать методы, позволяющие:
– задавать и читать отдельные компоненты вектора (как числа типа float);
– задавать и читать компоненты вектора строкой в формате “13; -23.5; 0.8”;
– вычислять модуль.
Перегрузить операции:
a=b+c
сложение векторов;
a=b–c
вычитание векторов;
f=b*c
скалярное произведение векторов;
a *= k
вектор увеличился в k раз
Используя данный класс разработать программу для графического отображения векторов.
Все проверки корректности ввода должны проводиться в методах
класса. В программе должен быть массив из 5 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную и автоматически по возрастанию значений;
– выполнять все перегруженные операции для выбранных объектов;
– графически отображать вектора.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 6. Обыкновенная дробь
Разработать класс Обыкновенная дробь и программу, иллюстрирующую возможности данного класса. Класс должен хранить величину числителя и знаменателя и включать:
методы, позволяющие задавать и читать значение числителя и знаменателя;
методы, позволяющие задавать и считывать дробь строкой в формате “3/2” :
Все проверки корректности ввода должны проводиться в методах класса.
Перегрузить операции:
k = a / b;
деление двух дробей
k = a* b;
умножение двух дробей
k = a – b;
разность двух дробей
k = a + b;
сумма двух дробей
a < b (a > b)
сравнение двух дробей на < (>)
a == b
сравнение двух дробей на = =
Используя данный класс разработать программу для графического отображения примеров
с дробями в виде:
2
3
+
1
2
=
7
6
для всех операций над дробями. В таком же виде сравнивать дроби.
В программе должен быть массив из 6 объектов данного класса, окна ввода параметров выбранной дроби, окна вывода этих параметров, а также кнопки, по которым вызываются функции, иллюстрирующие возможности этих объектов.
5.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 7. Треугольник
Разработать класс Треугольник и программу, иллюстрирующую возможности данного класса.
Класс должен хранить координаты вершин треугольника и включать:
методы, позволяющие задавать и читать координаты i-той вершины треугольника;
методы, позволяющие вычислять длины сторон треугольника и периметр.
Перегрузить операции:
a *= k;
умножение параметров треугольника на некоторое число
a /= k;
деление параметров треугольника на некоторое число
k = a / b;
вычисление отношения площадей двух треугольников
k = a – b;
вычисление разности площадей двух треугольников
k = a + b;
вычисление суммы площадей двух треугольников
[]
чтение координат i-той вершины треугольника (в структуре типа Point)
Добавить в класс метод рисования треугольника в соответствии с размерами.
Все проверки корректности ввода должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения треугольников. В программе должен быть массив из 6 объектов данного класса. Программа должна
иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) размера;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 8. Параллелограмм
Разработать класс Параллелограмм и программу, иллюстрирующую возможности данного
класса.
Класс должен хранить координаты и размеры параллелограмма и включать:
методы, позволяющие задавать и читать координаты и размеры параллелограмма;
методы, позволяющие вычислять площадь параллелограмма, длины сторон, периметр.
Перегрузить операции:
a *= k;
умножение параметров параллелограмма на некоторое число
a /= k;
деление параметров параллелограмма на некоторое число
k = a / b;
вычисление отношения площадей двух параллелограммов
k = a – b;
вычисление разности площадей двух параллелограммов
k = a + b;
вычисление суммы площадей двух параллелограммов
a < b (a > b)
сравнение двух параллелограммов (по площади) на < (>)
[]
чтение координат i-той вершины параллелограмма (в структуре типа Point)
Добавить в класс метод рисования параллелограмма в соответствии с размерами.
Все проверки корректности ввода должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения параллелограммов. В программе должен быть массив из 6 объектов данного класса. Программа должна
иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) высоты;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
6.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 9. Трапеция
Разработать класс Трапеция и программу, иллюстрирующую возможности данного класса.
Класс должен хранить координаты и размеры трапеции и включать:
методы, позволяющие задавать и читать координаты и размеры трапеции;
методы, позволяющие вычислять площадь трапеции, длины сторон, периметр.
Перегрузить операции:
a *= k;
умножение параметров трапеции на некоторое число
a /= k;
деление параметров трапеции на некоторое число
k = a / b;
вычисление отношения площадей двух трапеций
k = a – b;
вычисление разности площадей двух трапеций
k = a + b;
вычисление суммы площадей двух трапеций
a < b (a > b)
сравнение двух трапеций (по площади) на < (>)
[]
чтение координат i-той вершины трапеции (в структуре типа Point)
Добавить в класс метод рисования трапеции в соответствии с размерами.
Все проверки корректности ввода должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения трапеций.
В программе должен быть массив из 6 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) высоты;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 10. Ромб
Разработать класс Ромб и программу, иллюстрирующую возможности данного класса.
Класс должен хранить координаты и размеры ромба и включать:
методы, позволяющие задавать и читать координаты и размеры ромба;
методы, позволяющие вычислять площадь ромба, длины сторон, периметр.
Перегрузить операции:
a *= k;
умножение параметров ромба на некоторое число
a /= k;
деление параметров ромба на некоторое число
k = a / b;
вычисление отношения площадей двух ромбов
k = a – b;
вычисление разности площадей двух ромбов
k = a + b;
вычисление суммы площадей двух ромбов
a < b (a > b)
сравнение двух ромбов (по площади) на < (>)
[]
чтение координат i-той вершины ромба (в структуре типа Point)
Добавить в класс метод рисования ромба в соответствии с размерами.
Все проверки корректности ввода должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения ромбов. В
программе должен быть массив из 6 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) размера;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
7.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 11. Цилиндр
Разработать класс Цилиндр и программу, иллюстрирующую возможности данного класса.
Класс должен хранить радиус основания и высоту цилиндра и включать:
методы, позволяющие задавать и читать радиус основания и высоту;
методы, позволяющие вычислять объем цилиндра, площадь основания, боковой стороны и
общую площадь.
Перегрузить операции:
a *= k
умножение параметров цилиндра на некоторое число
a /= k
деление параметров цилиндра на некоторое число
k=a/b
вычисление отношения объемов двух цилиндров
k=a–b
вычисление разности объемов двух цилиндров
a < b (a > b)
сравнение двух цилиндров (по объему) на < (>)
Добавить в класс метод рисования цилиндра в соответствии с размерами.
Все проверки корректности ввода должны проводиться в методах класса. Используя данный класс разработать программу для графического отображения цилиндров. В программе
должен быть массив из 6 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) высоты;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 12. Конус
Разработать класс Конус и программу, иллюстрирующую возможности данного класса.
Класс должен хранить радиус основания и высоту конуса и включать:
методы, позволяющие задавать и читать радиус основания и высоту;
методы, позволяющие вычислять объем конуса, площадь основания, боковой стороны и
общую площадь.
Перегрузить операции:
a *= k
умножение параметров конуса на некоторое число
a /= k
деление параметров конуса на некоторое число
k=a/b
вычисление отношения объемов двух конусов
k=a–b
вычисление разности объемов двух конусов
a < b (a > b)
сравнение двух конусов на (по объему) < (>)
Добавить в класс метод рисования конуса в соответствии с размерами.
Все проверки корректности ввода должны проводиться в методах класса. Используя данный класс разработать программу для графического отображения конусов. В программе должен
быть массив из 6 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) высоты;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
8.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 13. Пирамида
Разработать класс Пирамида и программу, иллюстрирующую возможности данного класса.
Класс должен хранить размеры основания и высоту пирамиды и включать:
методы, позволяющие задавать и читать размеры основания и высоту;
методы, позволяющие вычислять объем пирамиды, площадь основания, боковой стороны
и общую площадь;
Перегрузить операции:
a *= k
умножение параметров пирамиды на некоторое число
a /= k
деление параметров пирамиды на некоторое число
k=a/b
вычисление отношения объемов двух пирамид
k=a–b
вычисление разности объемов двух пирамид
a < b (a > b)
сравнение двух пирамид на (по объему) < (>)
Добавить в класс метод рисования пирамиды в соответствии с размерами.
Все проверки корректности ввода должны проводиться в методах класса. Используя данный класс разработать программу для графического отображения пирамид. В программе должен быть массив из 6 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) высоты;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 14. Равносторонний пятиугольник
Разработать класс Равносторонний пятиугольник и программу, иллюстрирующую возможности данного класса.
Класс должен хранить координаты и размеры пятиугольника и включать:
методы, позволяющие задавать и читать размеры пятиугольникам;
методы, позволяющие вычислять площадь пятиугольника, длины сторон, периметр.
Перегрузить операции:
a *= k;
умножение параметров пятиугольника на некоторое число
a /= k;
деление параметров пятиугольника на некоторое число
k = a / b;
вычисление отношения площадей двух пятиугольников
k = a – b;
вычисление разности площадей двух пятиугольников
a < b (a > b)
сравнение двух пятиугольников (по площади) на < (>)
[]
чтение координат i-той вершины пятиугольника (в структуре типа Point)
Добавить в класс метод рисования пятиугольника в соответствии с размерами.
Все проверки корректности ввода должны проводиться в методах класса. Используя данный класс разработать программу для графического отображения пятиугольников. В программе
должен быть массив из 6 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) размера;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
9.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 15. Равносторонний шестиугольник
Разработать класс Равносторонний шестиугольник и программу, иллюстрирующую возможности данного класса.
Класс должен хранить координаты и размеры шестиугольника и включать:
методы, позволяющие задавать и читать размеры шестиугольникам;
методы, позволяющие вычислять площадь шестиугольника, длины сторон, периметр.
метод, позволяющий перемещать шестиугольник на величину (dx, dy).
Перегрузить операции:
a *= k;
умножение параметров шестиугольника на некоторое число
k = a / b;
вычисление отношения площадей двух шестиугольников
k = a – b;
вычисление разности площадей двух шестиугольников
a < b (a > b)
сравнение двух шестиугольников (по площади) на < (>)
a == b
сравнение двух шестиугольников (по площади) на = =
[]
чтение координат i-той вершины шестиугольника (в структуре типа Point)
Добавить в класс метод рисования шестиугольника в соответствии с размерами.
Все проверки корректности ввода должны проводиться в методах класса. Используя данный класс разработать программу для графического отображения шестиугольников. В программе должен быть массив из 5 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) размера;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 16. Колесо со спицами
Разработать класс Колесо со спицами и программу, иллюстрирующую возможности данного
класса.
Класс должен хранить радиус колеса, толщину обода колеса, количество спиц и включать:
методы, позволяющие задавать и читать параметры колеса;
методы, позволяющие вычислять общую площадь колеса, площадь обода, длину окружности колеса.
Перегрузить операции:
a *= k;
умножение размеров колеса a на некоторое число k
k = a / b;
вычисление отношения площадей двух колес
k = a – b;
вычисление разности площадей двух колес
a < b (a > b)
сравнение двух колес (по площади) на < (>)
a == b
сравнение двух колес (по площади) на = =
Класс должен хранить координаты центра колеса. Добавить в класс метод рисования колеса в соответствии с размерами.
Все проверки корректности ввода должны проводиться в методах класса. Используя данный класс разработать программу для графического отображения колес. В программе должен
быть массив из 5 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) размера;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
10.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 17. Аквариум (Параллелепипед с жидкостью)
Разработать класс Аквариум и программу, иллюстрирующую возможности данного класса.
Класс должен хранить геометрические размеры аквариума, уровень жидкости, налитый в
него, и включать:
методы, позволяющие задавать и читать размеры аквариума и уровень налитой жидкости;
методы, позволяющие вычислять объем аквариума, объем налитой жидкости, процент заполненности аквариума.
Перегрузить операции:
a += k; долить заданный объем k в аквариум a (не превышая объема аквариума);
a –= k; вылить объем k из аквариума a (не больше, чем было жидкости к этому моменту);
k = a – b; вычисление разности объемов жидкостей двух аквариумов;
a << b; перелить весь объем жидкости из одного аквариума в другой (естественно, не
превышая объема аквариума);
a < b (a > b, a = = b) сравнение двух аквариумов по объему налитой жидкости на < (>, ==)
Добавить в класс метод рисования аквариума в соответствии с размерами.
Используя данный класс разработать программу для графического отображения аквариумов. В программе должен быть массив из 5 объектов данного класса. Программа должна иметь
возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) высоты;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 18. Бочка (Цилиндр с жидкостью)
Разработать класс бочка и программу, иллюстрирующую возможности данного класса.
Класс должен хранить геометрические размеры бочки, уровень жидкости, налитый в нее, и
включать:
методы, позволяющие задавать и читать размеры бочки и уровень налитой жидкости;
методы, позволяющие вычислять объем бочки, объем налитой жидкости, процент заполненности бочки.
Перегрузить операции:
a += k; долить заданный объем k в аквариум a (не превышая объема аквариума);
a –= k; вылить объем k из аквариума a (не больше, чем было жидкости к этому моменту);
k = a – b; вычисление разности объемов жидкостей двух аквариумов;
a << b; перелить весь объем жидкости из одного аквариума в другой (естественно, не
превышая объема аквариума);
a < b (a > b, a = = b) сравнение двух аквариумов по объему налитой жидкости на < (>, ==)
Добавить в класс метод рисования аквариума в соответствии с
размерами.
Используя данный класс разработать программу для графического отображения аквариумов.
В программе должен быть массив из 5 объектов данного класса. Программа должна иметь
возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) высоты;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали (по вертикали).
11.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 19. Лампочка
Разработать класс Лампочка и программу, иллюстрирующую возможности данного класса.
Класс должен хранить параметры лампочки: номинальную мощность, номинальное напряжение, обозначение (например, «V1») и включать:
методы, позволяющие задавать и читать номинальную мощность, номинальное напряжение;
методы, позволяющие вычислять ток и рассеиваемую мощность при рабочем (реально приложенном) напряжении, при превышении номинальной мощности на 10% лампочка перегорает.
Перегрузить операции:
V1
k = a / b;
отношение яркостей двух лампочек
a<b
сравнение двух лампочек (по яркости) на <
a>b
сравнение двух лампочек (по яркости) на >
a==b
сравнение двух лампочек (по яркости) на ==
a=b
параметры лампочки a стали равны параметрам лампочки b (кроме обозначения).
Создать метод, позволяющий рисовать лампочку на указанном месте, цвет отражает яркость лампочки. Все проверки корректности ввода должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения лампочек,
включенных параллельно. В программе должен быть массив из 5 объектов данного класса.
Программа должна иметь возможность:
– задавать их параметры вручную и автоматически по возрастанию мощьности;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 20. Резистор
Разработать класс Резистор и программу, иллюстрирующую возможности данного класса.
Класс должен хранить параметры резистора: сопротивление, единицы измерения, обозначение (например, «R1»), макс. рассеиваемую мощность и включать:
методы, позволяющие задавать и читать сопротивление, макс. рассеиваемую мощность;
методы, позволяющие вычислять ток и рассеиваемую мощность при рабочем (реально
приложенном) напряжении, при превышении макс. мощности на 10% резистор перегорает.
Перегрузить операции:
k = a / b;
отношение сопротивлений двух резисторов
a < b (a > b)
сравнение двух резисторов (по сопротивлению) на < (>)
a == b
сравнение двух резисторов (по сопротивлению) на = =
c = a + b;
сложение последовательно включенных резисторов
c = a || b;
сложение параллельно включенных резисторов
R1 100 кОм
Создать метод, позволяющий рисовать резистор на
указанном месте. Все проверки корректности ввода
должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения резисторов, включенных последовательно. В программе должен быть массив из 5 объектов данного
класса. Программа должна иметь возможность:
– задавать их параметры вручную и автоматически по возрастанию сопротивления;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали.
12.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 21. Конденсатор
Разработать класс Конденсатор и программу, иллюстрирующую возможности данного класса.
Класс должен хранить параметры конденсатора: емкость, единицы измерения, обозначение
(например, «C1») и максимально допустимое напряжение
методы, позволяющие задавать и читать параметры конденсатора;
методы, позволяющие вычислять падение напряжения при заданном токе и частоте, при
превышении максимально допустимое напряжения на 10% конденсатор перегорает.
Перегрузить операции:
k = a / b;
отношение емкостей двух конденсаторов
a < b (a > b)
сравнение двух конденсаторов (по емкости) на < (>)
a == b
сравнение двух конденсаторов (по емкости) на = =
c = a + b;
сложение параллельно включенных конденсаторов
Создать метод, позволяющий рисовать конденсатор
C1 100 мкФ
на указанном месте. Все проверки корректности ввода
должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения конденсаторов, включенных параллельно. В программе должен быть массив из 5 объектов данного класса. Программа должна иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) емкости;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по вертикали.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 22. Катушка индуктивности
Разработать класс Катушка индуктивности и программу, иллюстрирующую возможности
данного класса.
Класс должен хранить параметры катушки: индуктивность, единицы измерения, обозначение (например, «L1») и максимально допустимый ток
методы, позволяющие задавать и читать параметры катушки;
методы, позволяющие вычислять ток при рабочем (реально приложенном) напряжении и
частоте, при превышении максимально допустимого тока на 10% индуктивность перегорает.
Перегрузить операции:
k = a / b;
отношение индуктивностей двух катушек
a < b (a > b)
сравнение двух катушек (по индуктивности) на < (>)
a == b
сравнение двух катушек (по индуктивности) на = =
c = a + b;
сложение последовательно включенных катушек
L1 100 мГн
Создать метод, позволяющий рисовать катушку на указанном месте. Все проверки корректности ввода должны
проводиться в методах класса.
Используя данный класс разработать программу для графического отображения катушек,
включенных последовательно. В программе должен быть массив из 5 объектов данного класса.
Программа должна иметь возможность:
– задавать их параметры вручную, автоматически по возрастанию (по убыванию) индуктивности;
– выполнять все перегруженные операции для выбранного объекта;
– рисовать их в соответствии с размерами, располагая по горизонтали.
13.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 23. Параллельный колебательный контур
Разработать класс Параллельный колебательный контур и программу, иллюстрирующую
возможности данного класса.
Класс должен хранить параметры колебательного контура: C, L, R и включать:
методы, позволяющие задавать и читать эти параметры;
методы, позволяющие вычислять резонансную частоту, характеристическое сопротивление и добротность контура.
Перегрузить операции:
k = a / b;
отношение резонансных частот двух контуров
a < b (a > b)
сравнение двух контуров (по резонансной частоте) на < (>)
a == b
сравнение двух контуров (по резонансной частоте) на = =
c = a + b;
сложение двух контуров параллельно
Используя данный класс разработать программу для работы с графиками, отображающими частотные характеристики контуров. Программа должна иметь возможность:
– вводить (изменять) параметры контуров;
– находить параметры контуров, включенных параллельно;
– находить отношение резонансных частот двух контуров;
– сравнивать контуры (по резонансной частоте) на >, <, ==;
– копировать параметры контуров;
– отображать на графиках частотные характеристики контуров в заданном диапазоне частот Fmin Fmax .
Все проверки корректности ввода должны проводиться в методах класса.
В программе должны быть два объекта данного класса, окна ввода параметров колебательного контура, окна вывода вычисленных параметров, а также кнопки, по которым вызываются
функции, иллюстрирующие возможности этих объектов.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 24. Дифференцирующая RC-цепочка
Разработать класс Дифференцирующая RC-цепочка и программу, иллюстрирующую возможности данного класса.
Класс должен хранить параметры цепочки (C, R) и включать:
методы, позволяющие задавать и читать эти параметры;
методы, позволяющие вычислять частоту среза цепочки.
Перегрузить операции:
k = a / b;
отношение частот среза двух цепочек
a < b (a > b)
сравнение двух цепочек (по частоте среза) на < (>)
a == b
сравнение двух цепочек (по частоте среза) на = =
Используя данный класс разработать программу для работы с графиками, отображающими частотные характеристики RC-цепочек. Программа должна иметь возможность:
– вводить (изменять) параметры цепочек;
– находить отношение частот среза двух цепочек;
– сравнивать цепочек (по частот среза) на >, <, ==;
– копировать параметры цепочек;
– отображать на графиках частотные характеристики цепочек в заданном диапазоне частот Fmin Fmax .
Все проверки корректности ввода должны проводиться в методах класса.
В программе должны быть два объекта данного класса, окна ввода параметров цепочки контура, окна вывода вычисленных параметров, а также кнопки, по которым вызываются функции,
иллюстрирующие возможности этих объектов.
14.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 25. Интегрирующая RL-цепочка
Разработать класс Дифференцирующая RC-цепочка и программу, иллюстрирующую возможности данного класса. Класс должен хранить параметры цепочки (L, R) и включать:
методы, позволяющие задавать и читать эти параметры;
методы, позволяющие вычислять частоту среза цепочки.
Перегрузить операции:
k = a / b;
отношение частот среза двух цепочек
a < b (a > b)
сравнение двух цепочек (по частоте среза) на < (>)
a == b
сравнение двух цепочек (по частоте среза) на = =
Используя данный класс разработать программу для работы с графиками, отображающими частотные характеристики RL-цепочек. Программа должна иметь возможность:
– вводить (изменять) параметры цепочек;
– находить отношение частот среза двух цепочек;
– сравнивать цепочек (по частот среза) на >, <, ==;
– копировать параметры цепочек;
– отображать на графиках частотные характеристики цепочек в заданном диапазоне частот Fmin Fmax .
Все проверки корректности ввода должны проводиться в методах класса.
В программе должны быть два объекта данного класса, окна ввода параметров цепочки контура, окна вывода вычисленных параметров, а также кнопки, по которым вызываются функции,
иллюстрирующие возможности этих объектов.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 26. Логический элемент И
Разработать класс Логический элемент И и программу, иллюстрирующую возможности
данного класса. Класс должен хранить количество входов логического элемента (2, 3, 4 или 8
входов), значения входных сигналов и включать:
методы, позволяющие задавать и читать количество входов логического элемента;
методы, позволяющие задавать и читать значения входных сигналов строкой (“1001. . . ”);
методы, позволяющие задавать и читать значение на i-том входе;
метод, позволяющий вычислять сигнал на выходе логического элемента в зависимости от
сигналов на входах,
0 &
метод, позволяющий рисовать логический элемент на указанном месте.
1
0
Перегрузить операции:
0
[]
задать (читать) значение на i-том входе
a < b (a > b)
сравнение логических элементов (по значению выходного сигнала) на < (>)
a==b
сравнение логических элементов (по значению выходного сигнала) на = =
Все проверки корректности ввода должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения логических элементов. В программе должен быть массив из 5 объектов данного класса. Программа
должна иметь возможность:
– задавать их параметры и входные сигналы;
– рисовать их, располагая по горизонтали.
– вычислять и отображать выходные сигналы;
– сравнивать выходы элементов.
15.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 27. Логический элемент ИЛИ
Разработать класс Логический элемент ИЛИ и программу, иллюстрирующую возможности данного класса. Класс должен хранить количество входов логического элемента (2, 3, 4 или
8 входов), значения входных сигналов и включать:
методы, позволяющие задавать и читать количество входов логического элемента;
методы, позволяющие задавать и читать значения входных сигналов строкой (“1001. . . ”);
методы, позволяющие задавать и читать значение на i-том входе;
метод, позволяющий вычислять сигнал на выходе логического элемента в зависимости от
сигналов на входах,
метод, позволяющий рисовать логический элемент на указанном месте.
1
Перегрузить операции:
[]
задать (читать) значение на i-том входе
a < b (a > b)
сравнение логических элементов (по значению выходного сигнала) на < (>)
a==b
сравнение логических элементов (по значению выходного сигнала) на = =
a=b
параметры элемента a стали равны параметрам элемента b
Все проверки корректности ввода должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения логических элементов. В программе должен быть массив из 6 объектов данного класса. Программа
должна иметь возможность:
– задавать их параметры и входные сигналы;
– рисовать их, располагая по горизонтали.
– вычислять и отображать выходные сигналы;
– сравнивать выходы элементов.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 28. Логический элемент И-НЕ
Разработать класс Логический элемент И-НЕ и программу, иллюстрирующую возможности данного класса. Класс должен хранить количество входов логического элемента (2, 3, 4 или
8 входов), значения входных сигналов и включать:
методы, позволяющие задавать и читать количество входов логического элемента;
методы, позволяющие задавать и читать значения входных сигналов строкой (“1001. . . ”);
методы, позволяющие задавать и читать значение на i-том входе;
метод, позволяющий вычислять сигнал на выходе логического элемента в зависимости от
сигналов на входах,
метод, позволяющий рисовать логический элемент на указанном месте.
0 &
Перегрузить операции:
1
1
0
[]
задать (читать) значение на i-том входе
a < b (a > b)
сравнение логических элементов (по значению выходного сигнала) на < (>)
a==b
сравнение логических элементов (по значению выходного сигнала) на = =
a=b
параметры элемента a стали равны параметрам элемента b
Все проверки корректности ввода должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения логических элементов. В программе должен быть массив из 7 объектов данного класса. Программа
должна иметь возможность:
– задавать их параметры и входные сигналы;
– рисовать их, располагая по горизонтали.
– вычислять и отображать выходные сигналы;
– сравнивать выходы элементов.
16.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 29. Логический элемент ИЛИ-НЕ
Разработать класс Логический элемент ИЛИ-НЕ и программу, иллюстрирующую возможности данного класса. Класс должен хранить количество входов логического элемента (2, 3,
4 или 8 входов), значения входных сигналов и включать:
методы, позволяющие задавать и читать количество входов логического элемента;
методы, позволяющие задавать и читать значения входных сигналов строкой (“1001. . . ”);
методы, позволяющие задавать и читать значение на i-том входе;
метод, позволяющий вычислять сигнал на выходе логического элемента в зависимости от
сигналов на входах,
метод, позволяющий рисовать логический элемент на указанном месте.
0 1
Перегрузить операции:
1
1
0
[]
задать (читать) значение на i-том входе
a < b (a > b)
сравнение логических элементов (по значению выходного сигнала) на < (>)
a==b
сравнение логических элементов (по значению выходного сигнала) на = =
a=b
параметры элемента a стали равны параметрам элемента b
Все проверки корректности ввода должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения логических элементов. В программе должен быть массив из 8 объектов данного класса. Программа
должна иметь возможность:
– задавать их параметры и входные сигналы;
– рисовать их, располагая по горизонтали.
– вычислять и отображать выходные сигналы;
– сравнивать выходы элементов.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 30. Логический элемент Исключающее ИЛИ
Разработать класс Логический элемент Исключающее ИЛИ и программу, иллюстрирующую возможности данного класса. Класс должен хранить количество входов логического
элемента (2, 3, 4 или 8 входов), значения входных сигналов и включать:
методы, позволяющие задавать и читать количество входов логического элемента;
методы, позволяющие задавать и читать значения входных сигналов строкой (“1001. . . ”);
методы, позволяющие задавать и читать значение на i-том входе;
метод, позволяющий вычислять сигнал на выходе логического элемента в зависимости от
сигналов на входах,
метод, позволяющий рисовать логический элемент на указанном месте.
0 =1
Перегрузить операции:
1
1
0
[]
задать (читать) значение на i-том входе
a < b (a > b)
сравнение логических элементов (по значению выходного сигнала) на < (>)
a==b
сравнение логических элементов (по значению выходного сигнала) на = =
a=b
параметры элемента a стали равны параметрам элемента b
Все проверки корректности ввода должны проводиться в методах класса.
Используя данный класс разработать программу для графического отображения логических элементов. В программе должен быть массив из 9 объектов данного класса. Программа
должна иметь возможность:
– задавать их параметры и входные сигналы;
– рисовать их, располагая по горизонтали.
– вычислять и отображать выходные сигналы;
– сравнивать выходы элементов.
17.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 31. Токовый датчик давления
Разработать класс Токовый датчик давления и программу, иллюстрирующую возможности
данного класса. Датчик измеряет ток и вычисляет давление.
Характеристика датчика – линейная. Ток на входе задается в пределах от 4 до 20 мА.
Класс должен хранить параметры токового датчика: единицы измерения давления
(МПа, кПа, кгс/кв.см, мм.рт.ст), минимальное
и максимальное значения давления, текущее
значение входного сигнала и включать:
методы, позволяющие задавать и читать
параметры датчика;
методы, позволяющие вычислять значение выходного сигнала по входному (выходной сигнал не выходит за заданные пределы,
даже если входной вышел за пределы);
методы, позволяющие определять выход
датчика за пределы измерения.
Перегрузить операции:
k = a / b;
отношение измеряемых величин двух датчиков
a < b (a > b, a==b)
сравнение двух датчиков (по измеряемой величине) на < (> = =)
Все проверки корректности ввода должны проводиться в методах класса.
В программе должен быть массив из 4 объекта данного класса. Программа должна иметь
возможность:
– задавать их параметры вручную и автоматически по возрастанию величин;
– выполнять все методы и перегруженные операции для выбранного объекта;
– рисовать характеристики датчиков с конкретными значениями параметров.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 32. Токовый датчик температуры
Разработать класс Токовый датчик температуры и программу, иллюстрирующую возможности данного класса. Датчик измеряет ток и вычисляет температуру.
Характеристика датчика – линейная. Ток на входе задается в пределах от 4 до 20 мА.
Класс должен хранить параметры токового
датчика: минимальное и максимальное значения температуры, текущее значение входного
сигнала и включать:
методы, позволяющие задавать и читать
параметры датчика;
методы, позволяющие вычислять значение
выходного сигнала по входному;
методы, позволяющие определять выход
датчика за пределы измерения.
Перегрузить операции:
dT = a – b;
разность измеряемых величин двух датчиков
a += k;
увеличить значение входного сигнала датчика на k
a < b (a > b, a==b)
сравнение двух датчиков (по измеряемой величине) на < (> = =)
Все проверки корректности ввода должны проводиться в методах класса.
В программе должен быть массив из 5 объектов данного класса. Программа должна иметь
возможность:
– задавать их параметры вручную и автоматически по возрастанию величин;
– выполнять все методы и перегруженные операции для выбранного объекта;
– рисовать характеристики датчиков с конкретными значениями параметров.
18.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 33. Токовый датчик расхода
Разработать класс Токовый датчик расхода и программу, иллюстрирующую возможности
данного класса. Датчик измеряет ток и вычисляет расход жидкости. Характеристика датчика – линейная. Ток на входе задается в пределах от 4 до 20 мА.
Класс должен хранить параметры токового датчика: минимальное и максимальное
значения расхода, единицы измерения расхода (куб.м/сек, л/сек, куб.м/час), текущее
значение входного сигнала и включать:
методы, позволяющие задавать и читать
параметры датчика;
методы, позволяющие вычислять значение выходного сигнала по входному;
методы, позволяющие определять выход датчика за пределы измерения.
Перегрузить операции:
dQ = a – b;
разность измеряемых величин двух датчиков
a < b (a > b, a==b)
сравнение двух датчиков (по измеряемой величине) на < (> = =)
Все проверки корректности ввода должны проводиться в методах класса.
В программе должен быть массив из 4 объекта данного класса. Программа должна иметь
возможность:
– задавать их параметры вручную и автоматически по возрастанию величин;
– выполнять все методы и перегруженные операции для выбранного объекта;
– рисовать характеристики датчиков с конкретными значениями параметров.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 34. Частотный датчик расхода
Разработать класс Частотный датчик расхода и программу, иллюстрирующую возможности
данного класса.
Класс должен хранить параметры датчика: единицы измерения расхода (куб.м/сек,
л/сек, куб.м/час), максимальное значение
входного сигнала (в Гц), максимальное значение измеряемой величины, текущее значение
входного сигнала и включать:
методы, позволяющие задавать и читать
параметры датчика;
методы, позволяющие вычислять значение выходного сигнала по входному;
методы, позволяющие определять выход
датчика за пределы измерения;
Перегрузить операции:
k = a / b;
отношение измеряемых величин двух датчиков
a += k;
увеличить значение входного сигнала датчика на k
a < b (a > b, a==b)
сравнение двух датчиков (по измеряемой величине) на < (> = =)
Все проверки корректности ввода должны проводиться в методах класса.
В программе должен быть массив из 4 объекта данного класса. Программа должна иметь
возможность:
– задавать их параметры вручную и автоматически по возрастанию величин;
– выполнять все методы и перегруженные операции для выбранного объекта;
– рисовать характеристики датчиков с конкретными значениями параметров.
19.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 35. Частотный датчик скорости
Разработать класс Частотный датчик скорости и программу, иллюстрирующую возможности
данного класса.
Класс должен хранить параметры
датчика: единицы измерения скорости
(м/сек, км/час), максимальное значение
входного сигнала (в Гц), максимальное
значение скорости, текущее значение
входного сигнала и включать:
методы, позволяющие задавать и читать параметры датчика;
методы, позволяющие вычислять
значение выходного сигнала по входному;
методы, позволяющие определять
выход датчика за пределы измерения.
Перегрузить операции:
dV = a – b;
разность измеряемых величин двух датчиков
a += k;
увеличить значение входного сигнала датчика на k
a < b (a > b, a==b)
сравнение двух датчиков (по измеряемой величине) на < (> = =)
Все проверки корректности ввода должны проводиться в методах класса.
В программе должен быть массив из 5 объекта данного класса. Программа должна иметь
возможность:
– задавать их параметры вручную и автоматически по возрастанию величин;
– выполнять все методы и перегруженные операции для выбранного объекта;
– рисовать характеристики датчиков с конкретными значениями параметров.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 36. Параметры квартиры
Разработать класс Параметры квартиры и программу, иллюстрирующую возможности данного класса.
Класс должен хранить общую площадь квартиры, количество комнат, площадь каждой
комнаты, этаж, тип дома (из списка), адрес и включать:
методы, позволяющие задавать и читать указанные параметры, массив с информацией о
площадях комнат должен создаваться динамически;
методы, позволяющие читать информацию о квартире строкой (например, для объявления
о продаже);
методы, позволяющие сравнивать два объекта (по площади, этажу, кол-ву комнат или типу
дома) на больше, меньше и равно.
Перегрузить операции:
a = b; operator= для корректного копирования одного объекта в другой
a[i]
оператор [] возвращает площадь i-той комнаты
a < b (a > b)
сравнение двух объектов (по выбранному параметру) на < (>)
a == b
сравнение двух объектов (по выбранному параметру) на = =
Все проверки корректности ввода должны проводиться в методах класса.
В программе должен быть массив из 6 объектов данного класса, окна ввода параметров
объектов, окна вывода параметров, а также кнопки, по которым вызываются функции, иллюстрирующие возможности этих объектов, а также кнопки сохранения в файле / чтения из файла
и сортировки по выбранному параметру.
.
20.
Задание II. КЛАССЫОбъектно-ориентированное программирование
Вариант 37. Домашний адрес
Разработать класс Домашний адрес и программу, иллюстрирующую возможности данного
класса. Класс должен содержать следующие параметры адреса: почтовый индекс, республика,
область (край), населенный пункт, улица, дом, номер квартиры и включать:
методы, позволяющие задавать и читать эти параметры;
методы, позволяющие сравнить два адреса по каждому из этих параметров в отдельности.
Перегрузить операции:
a = b; operator= для корректного копирования одного адреса в другой
a[i]
оператор [] возвращает / задает i-тый параметр адреса
a == b сравнение двух адресов на полное совпадение
Используя данный класс разработать программу для ввода, хранения и обработки информации об адресах. Информация должна сохраняться в файле (например, ini-файле), вводиться
из файла, вводиться (изменяться) вручную, копироваться из одного адреса в другой. Предусмотреть возможность полного и корректного отображения всей информации, а также сортировки адресов по выбранному параметру.
Все проверки корректности ввода должны проводиться в методах класса.
В программе должен быть массив из 8 объектов данного класса, окна ввода параметров
объектов, окна вывода параметров, а также кнопки, по которым вызываются функции, иллюстрирующие возможности этих объектов, а также кнопки сохранения в файле / чтения из файла
и сортировки по выбранному параметру.
Задание II. КЛАССЫ
Объектно-ориентированное программирование
Вариант 38. Адрес электронной почты
Разработать класс Адрес электронной почты и программу, иллюстрирующую возможности
данного класса. Класс должен содержать данные об адресе и включать:
методы, позволяющие задавать и читать адрес;
методы, позволяющие определить совпадение двух адресов электронной почты;
методы, позволяющие определить принадлежность двух адресов электронной почты к
одному домену верхнего уровня или стране.
Перегрузить операции:
a = b; operator= для корректного копирования одного адреса в другой
a[i]
оператор [] возвращает / задает i-тый параметр адреса
a == b сравнение двух адресов на полное совпадение
Используя данный класс разработать программу для ввода, хранения и обработки информации об адресах. Информация должна сохраняться в файле (например, ini-файле), вводиться
из файла, вводиться (изменяться) вручную, копироваться из одного адреса в другой. Предусмотреть возможность полного и корректного отображения всей информации, а также сортировки адресов по выбранному параметру.
Все проверки корректности ввода должны проводиться в методах класса.
В программе должен быть массив из 10 объектов данного класса, окна ввода параметров
объектов, окна вывода параметров, а также кнопки, по которым вызываются функции, иллюстрирующие возможности этих объектов, а также кнопки сохранения в файле / чтения из файла
и сортировки по выбранному параметру.