Лабораторная работа №25. Классы в данной лабораторной работе все описания классов должны быть вынесены в отдельный заголовочный файл



жүктеу 20,97 Kb.
бет2/2
Дата21.01.2022
өлшемі20,97 Kb.
#34034
түріЛабораторная работа
1   2
Лабораторная работа 25

Варианты





  1. Создайте класс c именем Rational для выполнения арифметических действий с дробями. Напишите программу для проверки вашего класса. Используйте целые переменные для представления закрытых данных класса – числителя и знаменателя. Создайте функцию-конструктор класса, которая позволяет объекту этого класса принимать начальные значения при его объявлении. Конструктор должен содержать значения по умолчанию на случай отсутствия заданных начальных и должен хранить дроби в сокращенном виде. Создайте открытые функции-элементы для случаев:

    1. сложение 2 дробей (здесь и далее результат должен храниться в сокращенном виде);

    2. вычитание 2 дробей;

    3. перемножение 2 дробей;

    4. деление 2 дробей;

    5. печать дроби в десятичном виде.

Перегрузите операцию вывода в поток для печати дроби в виде а/b.


  1. Модифицируйте класс myTime (о котором говорилось на лекциях) так, чтобы включить функцию- элемент tick, которая дает приращение времени, хранящегося в объекте myTime, равное одной секунде. Объект Time должен всегда находиться в непротиворечивом состоянии. Напишите программу для проверки функции-элемента tick в цикле, которая печатала бы время в каком-либо стандартном формате на каждой итерации цикла и иллюстрировала правильную работу функции- элемента tick. Удостоверьтесь в правильности работы в следующих случаях:

    1. приращение с переходом в следующую минуту;

    2. приращение с переходом в другой час;

    3. приращение с переходом в другой день.

Предусмотрите перегруженную операцию вывода в поток, а также перегруженную операцию инкремента в префиксной и постфиксной формах.


  1. Модифицируйте класс myDate (о котором говорилось в лекциях) так, чтобы в нем присутствовала функция-элемент nextDay, которая будет увеличивать дату на 1 день. Объект myDate должен всегда находиться в непротиворечивом состоянии. Напишите программу, проверяющую функцию nextDay в цикле и печатающую время в стандартном формате на каждой итерации цикла. Проверьте правильность работы функции в следующих случаях:

    1. приращение с переходом в следующий месяц;

    2. приращение с переходом в следующий год.

Предусмотрите перегруженную операцию вывода в поток, а также перегруженную операцию инкремента в префиксной и постфиксной формах.


  1. Создайте класс параллелограмм, который хранит только декартовы координаты его четырех углов. Конструктор вызывает набор функций, которые принимают 4 группы координат и проверяют, чтобы каждая из координат х и у находилась в первом квадранте в диапазоне от 0,0 до 50,0. Это множество функций также должно проверять, что переданные координаты определяют параллелограмм. Должны быть предусмотрены функции-элементы, вычисляющие длины сторон параллелограмма, периметр и площадь. Включите функцию, которая определяла бы, не является ли параллелограмм прямоугольником.

Перегрузите операцию вывода в поток для печати всей информации об объекте.


  1. Создайте класс Rectangle (прямоугольник). Класс имеет атрибуты length (длина) и width (ширина), каждый из которых по умолчанию равен 1. Он имеет функции-элементы, которые вычисляют периметр и площадь прямоугольника. Он имеет функции записи и чтения для длины и ширины. Функции записи должны проверять, что длина и ширина – числа с плавающей запятой, находящиеся в пределах от 0,0 до 20,0.

Перегрузите операцию вывод в поток для печати всей информации о прямоугольнике.


  1. Создайте класс прямоугольник, который хранит только декартовы координаты четырех углов прямоугольника. Конструктор вызывает набор функций, которые принимают 4 группы координат и проверяют, чтобы каждая из координат х и у находилась в первом квадранте в диапазоне от 0,0 до 20,0. Это множество функций также должно проверять, что переданные координаты определяют прямоугольник. Должны быть предусмотрены функции-элементы, вычисляющие длину и ширину прямоугольника, периметр и площадь. Включите функцию, которая определяла бы, не является ли прямоугольник квадратом.

Перегрузите операцию вывод в поток для печати всей информации о прямоугольнике.


  1. Модифицируйте класс прямоугольник из варианта №6 так, чтобы включить в него функцию draw, которая изображает прямоугольник внутри окна 25 на 25. Включите функцию setFillCharacter, чтобы задавать символ, которым будет заполняться прямоугольник внутри. Включите функцию setPerimeterCharacter, чтобы задавать символ, которым будут печататься границы прямоугольника. Включите функцию поворота прямоугольника на 90 градусов вокруг одной из его вершин против и по часовой стрелке.

Перегрузите операцию вывод в поток для печати всей информации о прямоугольнике и рисования прямоугольника.


  1. Создайте класс треугольник, хранящий только декартовы координаты вершин. Конструктор вызывает набор функций, которые принимают 3 группы координат и проверяют, чтобы каждая из координат х и у находилась в первом квадранте в диапазоне от 0,0 до 50,0. Функции также должны проверять, чтобы треугольник не «схлопывался» в прямую линию. Должны быть предусмотрены функции-элементы, вычисляющие длину сторон, периметр и площадь треугольника. Включите функцию, которая определяла бы, не является ли треугольник равнобедренным, равносторонним или прямоугольным.

Перегрузите операцию вывода в поток для печати всей информации о треугольнике.


  1. Создайте класс треугольник, хранящий длины двух сторон и значение угла между ними. Должны быть предусмотрены функции-элементы, вычисляющие длину третьей стороны, значения 2 оставшихся углов, периметр и площадь треугольника. Включите функцию, которая определяла бы, не является ли треугольник равнобедренным, равносторонним или прямоугольным.

Перегрузите операцию вывода в поток для печати всей информации о треугольнике.


  1. Создайте класс прямая призма, хранящий только декартовы координаты вершин основания и высоту призмы. Конструктор вызывает набор функций, которые принимают группы координат и проверяют, чтобы каждая из координат х и у находилась в первом квадранте в диапазоне от 0,0 до 250,0. Должны быть предусмотрены функции-элементы, вычисляющие длину ребер, периметр и площадь основания, а также площадь боковой поверхности, площадь поверхности и объем призмы. Перегрузите операцию вывода в поток так, чтобы она печатала, какая фигура лежит в основании, и ее основные характеристики.




  1. Создайте класс пирамида, хранящий только декартовы координаты вершин основания и вершины пирамиды. Конструктор вызывает набор функций, которые принимают группы координаты. Должны быть предусмотрены функции-элементы, вычисляющие длину ребер, периметр и площадь основания, а также площадь боковой поверхности, площадь поверхности и объем пирамиды. Перегрузите операцию вывода в поток так, чтобы она печатала, какая фигура лежит в основании, и ее основные характеристики.




  1. Создайте класс конус, хранящий только декартовы координаты центра основания, радиус основания и высоту конуса. Должны быть предусмотрены функции-элементы, рассчитывающие периметр и площадь основания, а также площадь боковой поверхности, площадь поверхности и объем конуса.

Перегрузите операцию вывода в поток для печати всей информации об объекте.


  1. Создайте класс усеченный конус, хранящий только декартовы координаты центра основания, радиусы оснований и высоту конуса. Должны быть предусмотрены функции-элементы, рассчитывающие периметр и площадь оснований, а также площадь боковой поверхности, площадь поверхности и объем конуса.

Перегрузите операцию вывода в поток для печати всей информации об объекте.


  1. Создайте класс усеченная пирамида, хранящий только декартовы координаты вершин оснований. Конструктор вызывает набор функций, которые принимают группы координат одного основания. Высота пирамиды задается случайным образом, координаты второго основания вычисляются в соответствии с высотой. Должны быть предусмотрены функции-элементы, вычисляющие периметр и площадь основания, а также площадь боковой поверхности, площадь поверхности и объем пирамиды.

Перегрузите операцию вывода в поток для печати всей информации об объекте (какая фигура лежит в основании, ее основные характеристики).


  1. Создайте класс матрица размерностью n n , который хранит только размерность матрицы и максимальное по модулю значение элемента матрицы (и указатель на целое). Конструктор должен вызывать функцию заполнения матрицы случайными числами в заданном диапазоне. Напишите функции-элементы для:

    1. транспонирования матрицы;

    2. умножения матрицы на число;

    3. сложения матриц;

    4. умножения двух матриц.

Перегрузите операцию вывода в поток для печати всей информации об объекте. Перегрузите также оператор вычитания матриц.
жүктеу 20,97 Kb.

Достарыңызбен бөлісу:
1   2




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау