Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Progi / Lesson 6 / 1 / task6a

.doc
Скачиваний:
30
Добавлен:
28.03.2015
Размер:
96.26 Кб
Скачать

C++

На основе класса из варианта задания лабораторной 1 ч.1 с одним классом создать производный класс и выполнить действия по варианту. Примеры указаны для классов Record и Sprint.

1.

В производном классе добавляется указанное поле private и 3 метода public , типа Get, Put, Display(через printf) для работы с этим полем.

Пример:

class Sprint:public Record

{

....

private:

int dec;

.....

public:

int Getdec();

...

};

int Sprint::Getdec()

{

return dec;

}

...

2.

Исходные поля базового класса остаются private, (например, int x;) к ним добавляются protected методы доступа к ним (например, int Getx(); )

Пример:

class Record

{

private:

int min,sec;

......

protected:

int Getmin();

......

};

....

int Record::Getmin()

{

return min;

}

3.

Указанная функция базового класса перегружается для производного с учетом нового поля, при этом базовая функция не вызывается, а доступ к полям базового класса выполняется доступ protected методами из пункта 2.

Пример:

Округление до минут.

class Record

{

.....

public:

int Okr();

.....

};

int Record::Okr()

{

int k;

if(sec>=30)

k=1;

else

k=0;

return min+k;

}

class Sprint:public Record

{

public:

int Okr();

.....

}

int Sprint::Okr()

{

int m,n;

m=Getsec(); // protected метод для секунд

if(dec>=5)

m++;

n=Getmin(); // protected метод

if(m>=30)

n++;

return n;

}

4.

Выполняется перегрузка функции Init для производного класса с вызовом функции базового класса.

void Sprint::Init(int m,int s, int d)

{

Record::Init(m,s); // вызов метода из другого класса

dec=d;

}

5.

В базовом и производном классах создать конструкторы с параметрами. Продемонстрировать в конструкторе производного класса вызов конструктора базового класса [см. 11) лек.6]

6.

В main создать статические и динамические объекты базового и производного классов, продемонстрировать работу public методов классов, а также вызов объектом производного класса метода базового класса (Record::Init ...). [см. 10) лекции 6]

В 1.

п. 1 Производный класс - отрезок на плоскости параллельной X0Y . Добавлено вещественное поле z – расстояние между плоскостями.

п. 3 Перегружаемая функция - длина отрезка производного класса – это длина отрезка на параллельной плоскости плюс расстояние z между плоскостями.

В 2.

п. 1 В производном классе добавлен знак числа – поле int znak, принимающее значения 1, 0, -1 в зависимости от того, положительное или отрицательное число или равно нулю.

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

В 3.

п. 1 В производный класс включен знак числа, поле int znak, принимающее значения 1, 0, -1 в зависимости от того, положительное или отрицательное число или равно нулю.

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

В 4.

п. 1 Производным является класс цилиндр, содержащий кроме окружности также длину стороны z.

п. 3 Расстояние от цилиндра до начала координат измеряется от точки центра окружности и середины стороны z.

В 5.

п. 1 Производный класс – прямоугольник на плоскости, параллельной X0Y на расстоянии z.

п. 3 Под “площадью” такого прямоугольника понимается объем соответствующего параллелепипеда.

В 6.

п. 1 Производным классом является прямоугольник, к интервалу добавлено значение стороны y по вертикали

п. 3 Под «длиной” такого интервала понимается площадь прямоугольника.

В 7.

п. 1 Производный класс – угол, расположенный на плоскости, параллельной оси X0Y на расстоянии z.

п. 3 При округлении до градусов величина z округляется до ближайшего целого и добавляется к округленному значению по градусам.

В 8.

п. 1 Производным классом является точка в пространстве.

п. 3 Расстояние вычисляется до точки в пространстве (x –y –z).

В 9.

п. 1 Производным является класс треугольников, находящихся на плоскости, параллельной X0Y на расстоянии z.

п. 3 “Периметр” такого треугольника – периметр треугольника на X0Y плюс z.

В 10.

п. 1 В производном классе добавлено поле int, принимающее значения 1, 0, -1 в зависимости от тогго, является ли число положительным или отрицательным.

п. 3 При переводе в обычное целое учитывается знак числа.

В 11.

п. 1 В производном классе добавлено число купюр по 500 рублей.

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

В 12.

п. 1 Производный класс - отрезок по лучу, начальная точка с координатами x,y,z , конечная точка находится на расстоянии A от начальной по лучу , проходящему через начало координат и начальную точку.

п. 3 Расстояние от отрезка до начала координат – это расстояние от середины отрезка.

В 13.

п. 1 В производном классе имеется поле год

п. 3 При вычислении числа дней считаются дни от даты 00.00.0000

В 14.

п. 1 Производным классом являются вектора на плоскости, параллельной X0Y на расстоянии z.

п. 3 При вычислении длины такого вектора к длине на плоскости добавляется z.

В 15.

п. 1 Производный класс – пространственные комплексные числа – добавлена вещественная координата z.

п. 3 При вычислении модуля пространственных чисел добавляется модуль координаты z.

В 16.

п. 1 Производный класс – мировая линия в пространстве-времени. Добавлена величина T – промежуток между начальной и конечной точкой.

п. 3 При вычислении длины (интервала) квадрат T добавляется к квадрату пространственного отрезка и от суммы извлекается квадратный корень.

В 17.

п. 1 В производный класс добавлено поле «гроши” – число десятых долей копейки [0-9]. При крупных партиях дорогих лекарств так определяется оптовая цена.

п. 3 При округлении до рублей учитываются гроши.

В 18.

п. 1 В производный класс добавлено целое (или булевское) поле, равное 1 (северной широты) или -1 (южной долготы).

п. 3 При округлении до градусов (целое число) учитывается расположении точки на полушариях.

В 19.

п. 1 Производный класс – цилиндрические пространственные координаты. К полярным координатам добавлена вещественная z.

п. 3 Расстояние от точки в цилиндрических координатам вычисляется с учетом z.

В 20.

п. 1 Производным является класс прямоугольник, в котором добавлено вещественное поле отношение длины стороны по OX к длине по OY (длина по OX задана в базовом как длина квадрата).

п. 3 Для производного класса вычисляется расстояние от ближайшей точки до начала координат.

В 21.

п. 1 Производным классом является параболоид в пространстве, к параболе добавлено число z, расстояние от плоскости XOY до вершины параболы.

п. 3 При вычислении расстояния до начала координат учитывается эта величина.

В 22.

п. 1 В производном классе добавлен специальный канал альфа - целое число [0,255].

п. 3 При вычислении яркости ч/б точки она умножается на значение альфа.

В 23.

п. 1 В производном классе добавлена масса примесей.

п. 3 При вычислении плотности учитывается общая масса.

В 24.

п. 1 В производном классе добавлено количество тысячей.

п. 3 При вычислении значения числа учитываются тысячи.

В 25.

п. 1 В производном классе эллипс на плоскости параллельной XoY добавлено поле z расстояние между плоскостями.

п. 3 Площадь равна Pi a b z.

Java

1.

Создать подкласс от вспомогательного класса (суперкласс) по варианту задания, используя javatask1b ч. 1. Поля суперкласса - private, методы доступа к ним - protected.

2.

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

3.

Задать 2 конструктора с параметрами для суперкласса и для подкласса. Создать public класс с main и продемонстрировать работу с объектами суперкласса и подкласса в main.

В 1 Подкласс – товар марки brand. Поле – процент наценки за “фирму” Перегружаемый метод – стоимость товара.

В 2 Подкласс содержит количество поле денег “на карточке”.

Перегружаемый метод – сумма денег.

В 3 Подкласс имеет “коэффициент вредности” продукта >1. При расчетах калорийность 100 гр. умножается на этот коэффициент.

Перегружаемый метод – число калорий, в основном классе вычисляется общая сумма калорий.

В 4 Подкласс содержит вещественное поле, коэффициент роуминга, который умножается на стоимость минуты. Перегрузить метод вычисления стоимости.

В 5 Подкласс является точкой, расположенной на плоскости на расстоянии z от XOY. Перегрузить метод вычисления расстояния на начала координат от точки.

В 6 В подклассе имеется вещественное поле, определяющее долю рабочего дня, которую работает данный сотрудник (неполный день - 0,5 0,7 и т.д.) Перегрузить метод вычисления суммы денег за рабочие дни.

В 7 Подклассом является параллелепипед с дополнительным полем стороной z. Под "площадью" параллелепипеда понимается его объем.

В 8 Подклассом является цилиндр, имеющий дополнительную величину сторону z. Под площадью подкласса понимается площадь поверхности.

В 9 Подклассом являются цилиндрические координаты, имеющие дополнительную координату z. Перегружаемый метод - вычисление расстояния от точки до начала координат.

В 10 Подклассом является квадратное уравнение. a x^2+px+q=0. Перегрузить метод, вычисляющий дискриминант.

В 11 Подклассом является отрезок, параллельный оси OX, находящийся на расстоянии y от оси OX. Под координатой середины такого отрезка понимается полусумма y и середина проекции на ось ОХ.

В 12 Подклассом является парабола у =(x-A)^2+Cx+B. Перегружается метод вычисления значения y при заданном аргументе.

В 13 Подклассом является призма с основанием ромб и заданной высотой z. Под площадью призмы понимается ее объем.

В 14 Подкласс имеет целое поле K (0,1). Если K=1, маршрут укороченный и стоимость равна половине обычной.

В 15 Подкласс содержит поле целая часть числа, но при этом дробь может быть неправильной (3 7/4). Перегрузить метод ipart () — выделение це­лой части дроби.

В 16 Подклассом является параллелепипед с дополнительной стороной z. Перегружается периметр.

В 17. Подклассом является пространственное комплексное число: ai+bj+ck .

Перегрузить метод вычисления модуля комплексного числа. Для подкласса модуль равен sqrt(a^2+b^2+c^2).

В 18 Подкласс – пирамида с основанием прямоугольного треугольника и высотой z. Под площадью объекта подкласса понимается объем пирамиды.

В 19 Подклассом является парабола у =(x-A)^2+Bx+D. Перегрузить метод dist()— вычисление расстояния от вершины параболы до начала координат.

В 20 В подклассе добавлено поле Z (-1 0 1), определяющее является ли число отрицательным, равным нулю или положительным. Перегрузить метод, округления числа до ближайшего целого.

В 21 Подкласс является точкой, расположенной на плоскости на расстоянии z от XOY. Перегрузить метод для подкласса, вычисляющий угол между лучом, соединяющим точку с началом координат и плоскостью XOY.

В 22 В подклассе добавлено число секунд. Перегрузить метод, вычисляющий число градусов, после округления угла до градусов.

В 23 В подклассе добавлено поле - количество практических работ. Перегрузить метод, вычисляющий трудоемкость предмета, равную отношению числа лекций к числу лабораторных и практических работ.

В 24 Подклассом является гипербола, находящаяся на плоскости, параллельной XOY на расстоянии z. Перегрузить метод, вычисляющий наименьшее расстояние от гиперболы до начала координат.

В 25 Подклассом является прямоугольная призма, в основании которой лежит ромб (добавлена координата z). Под площадью производного объхекта понимается объем.

C#

1.

Создать производный класс от класса задания task3b ч.1 по варианту. поля основного класса private, методы доступа к ним - protected.

2.

Перегрузить метод по варианту для метода производного класса с учетом дополнительного поля. Сделать вариант с вызовом базового метода и вычисления через поля базового.

3.

Задать 2 конструктора с параметрами для базового и поизводного классов. В main продемонстрировать работу с объектами классов.

В 1

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

Перегружаемый метод - текущая цена книги - Current Price(int Currentyear,int Kurs). Для базового класса текущая цена вычисляется как цена плюс добавка равная

цена*(текущий год минус год издания)*Kurs*0,01

Kurs - означает процент надбавки цены каждый год для книги.

Для иностранной книги Kurs - курс валюты в текущем году и цена равна цена в валюте государства*Kurs.

В 2

Производный класс - телефон с выходом на межгород. Дополнительное поле - сумма по оплате междугородних телефонов. Перегружаемый метод - баланс, равный разности суммы оплаты и долга. Для производного класса учитывается в сумме и междугородние переговоры.

В 3

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

В 4

Производный класс - игровой компьютер, имеет поля дополнительный объем оперативной памяти и объем дополнительного жесткого диска. Перегружаемый метод - отношение объема постоянной памяти к оперативной, в производном классе учитываются дополнительные объемы.

В 5

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

В 6

Производный класс - победитель олимпиад. Дополнительное поле - коэффициент, на который умножается средний рейтинг студента, за его достижения. Перегружаемый метод имеет целочисленный аргумент z=1,2,0 - первая, вторая аттестация и рейтинг перед началом сессии. Для первой аттестации рейтинг умножается на 0,2 , второй - на 0,3 а перед сессией на 0,5. В производном классе учитываются достижения студента.

В 7

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

В 8

В производном классе меется поле - процент по вкладу, в базовом процент по вкладу - константа. Перегружаемый метод имеет аргумент - количество лет и вычисляет остаток через данное число лет.

В 9

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

В 10

В производном классе добавлено поле - наличие научной степени. (0 - нет, 1 - кандидат, 2 - доктор). Перегруженный метод - вычисление отношения оклада к стажу. Для производного класса к окладу для кандидатов добавлено 3000, докторов - 7000.

В 11

В производном классе добавлено поле сборы в прокате. Перегруженный метод - отношение продолжительности к бюджету для базового класса и отношение продолжительности к сборам в прокате для производного.

В 12

В производном классе - импортная мебель добавлено поле - процент пошлины за импорт. Перегружаемый метод - стоимость одного элемента мебели (общая стоимость/ количество). В производном классе учитывается наценка.

В 13

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

В 14

В производном классе добавлена площадь подвала. Перегружаемый метод - площадь, приходящуюся на одну квартиру. В производном классе рассматривается общая площадь дома с учетом подвала.

В 15

В производном классе к весу лекарства в таблетке добавлен вес дополнительных примесей для улучшения действия лекарства. Перегружаемый метод - вес упаковки, в производном классе учитывается вес примесей.

В 16

В производном классе добавлено поле, равное площади кухни и коридора. Перегружаемый метод - площадь на одну комнату, общая площадь, деленная на количество комнат. В производном классе из общей площади вычитается площадь кухни с коридором.

В 17

Производный класс - укороченный маршрут, содержит вещественное поле, равное доле исходного маршрута. (1/2 - маршрут половины длины). Перегружаемый метод содержит аргумент целое n, равное число рейсов и вычисляет общее расчетное время. В перегруженном методе учитывается коэффициент.

В 18

Производный класс - укороченный маршрут, содержит вещественное поле, равное доле исходного маршрута. (1/2 - маршрут половины длины). Перегружаемый метод содержит аргумент целое n, равное число рейсов и вычисляет общее расчетное время автобуса за все рейсы. В перегруженном методе учитывается коэффициент.

В 19

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

В 20

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

В 21

В производном классе имеется поле - процент стоимости примесей к основному красителю. Перегружаемый метод имеет аргумент n - количество краски и вычисляет общую стоимость всей краски. В производном классе берется стоимость только основного красителя.

В 22

В производном классе добавлен год первого исполнения, который может не совпадать с годом создания. Перегружаемый метод имеет аргумент заданный год и вычисляет количество лет от создания произведения, в производном классе от первого исполнения.

В 23

В производном классе выделена отдельным полем цена проживания (без дороги). Перегружаемый метод имеет аргумент n - число путевок и вычисляет их общую стоимость. В производном классе учитывается только стоимость проживания.

В 24

Производный класс - фирменная одежда имеет вещественное поле - коэффициент наценки за бренд. Перегружаемый метод имеет целочисленный аргумент n - число единиц одежды и вычисляет общую стоимость. В производном классе учитывается коэффициент за бренд.

В 25

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

Соседние файлы в папке 1