Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Завдання на лабораторні роботи (ред.3.2).doc
Скачиваний:
4
Добавлен:
16.05.2015
Размер:
589.31 Кб
Скачать
  1. Перевантаження операцій

Завдання:

Створіть клас, що реалізовує тип даних у відповідності з наданим варіантом. Реалізуйте подані у таблиці операції над об’єктами класу (*). Організуйте введення та виведення даних за допомогою класів-потоків сin та cout (перевантажте операції «взяти з потоку» та «передати в потік»). Напишіть програму, яка демонструє роботу з об'єктами створеного класу.

(*) Особливості завдання:

(низька складність)

Реалізуйте на власний вибір 1/2 з усіх поданих у таблиці 8.НС операцій для свого варіанту.

(середня складність)

Реалізуйте на власний вибір 4/5 з усіх поданих у таблиці 8.НС операцій для свого варіанту.

(висока складність)

Реалізуйте на власний вибір 4/5 з усіх поданих у таблиці 8.В операцій для свого варіанту.

Таблиця 8.НС – Варіанти завдань низької та середньої складності

Варіант

Тип даних

Операції

Значення

Позна­чення

Приклад

комплексне число

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

+

  1. зміна знаку комплексного числа

-

  1. обчислення спряженого до комплексного числа

~

~c

  1. збільшення значення дійсної частини комплексного числа на 1

++

с++

++с

  1. зменшення значення дійсної частини комплексного числа на 1

--

с--

--с

  1. додавання комплексних чисел

+

с1 + с2

  1. додавання до комплексного числа дійсного і навпаки

с + d

d + c

  1. віднімання комплексних чисел

с1 – с2

  1. віднімання від комплексного числа дійсного і навпаки

с – d

d – c

  1. множення комплексних чисел

*

с1 * с2

  1. множення комплексного числа на дійсне і навпаки

с * d

d * c

  1. ділення комплексних чисел

/

с1 / с2

  1. ділення комплексного числа на дійсне і навпаки

с / d

d / c

  1. обчислення оберненого комплексного числа

^(-1)

с ^ (-1)

  1. додавання комплексних чисел з присвоюванням

+=

с1 += с2

  1. додавання до комплексного числа дійсного з присвоюванням

с += d

  1. віднімання комплексних чисел з присвоюванням

–=

с1 –= с2

  1. віднімання від комплексного числа дійсного з присвоюванням

с –= d

  1. множення комплексних чисел з присвоюванням

*=

с1 *= с2

  1. множення комплексного числа на дійсне з присвоюванням

с *= d

  1. ділення комплексних чисел з присвоюванням

/=

с1 /= с2

  1. ділення комплексного числа на дійсне з присвоюванням

с /= d

  1. обчислення оберненого комплексного числа з присвоюванням

^= -1

с ^= -1

  1. перевірка на рівність комплексних чисел

==

с1 == с2

  1. перевірка на нерівність комплексних чисел

!=

с1 != с2

подвійне число

  1. підтвердження знаку подвійного числа

+

  1. зміна знаку подвійного числа

-

  1. обчислення спряженого до подвійного числа

~

~c

  1. збільшення значення дійсної частини подвійного числа на 1

++

с++

++с

  1. зменшення значення дійсної частини подвійного числа на 1

--

с--

--с

  1. додавання подвійних чисел

+

с1 + с2

  1. додавання до подвійного числа дійсного і навпаки

с + d

d + c

  1. віднімання подвійних чисел

с1 – с2

  1. віднімання від подвійного числа дійсного і навпаки

с – d

d – c

  1. множення подвійних чисел

*

с1 * с2

  1. множення подвійного числа на дійсне і навпаки

с * d

d * c

  1. ділення подвійних чисел

/

с1 / с2

  1. ділення подвійного числа на дійсне і навпаки

с / d

d / c

  1. обчислення оберненого подвійного числа

^(-1)

с ^ (-1)

  1. додавання подвійних чисел з присвоюванням

+=

с1 += с2

  1. додавання до подвійного числа дійсного з присвоюванням

с += d

  1. віднімання подвійних чисел з присвоюванням

–=

с1 –= с2

  1. віднімання від подвійного числа дійсного з присвоюванням

с –= d

  1. множення подвійних чисел з присвоюванням

*=

с1 *= с2

  1. множення подвійного числа на дійсне з присвоюванням

с *= d

  1. ділення подвійних чисел з присвоюванням

/=

с1 /= с2

  1. ділення подвійного числа на дійсне з присвоюванням

с /= d

  1. обчислення оберненого подвійного числа з присвоюванням

^= -1

с ^= -1

  1. перевірка на рівність подвійних чисел

==

с1 == с2

  1. перевірка на нерівність подвійних чисел

!=

с1 != с2

дуальне число

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

+

  1. зміна знаку дуального числа

-

  1. збільшення значення дійсної частини дуального числа на 1

++

с++

++с

  1. зменшення значення дійсної частини дуального числа на 1

--

с--

--с

  1. додавання дуальних чисел

+

с1 + с2

  1. додавання до дуального числа дійсного і навпаки

с + d

d + c

  1. віднімання дуальних чисел

с1 – с2

  1. віднімання від дуального числа дійсного і навпаки

с – d

d – c

  1. множення дуальних чисел

*

с1 * с2

  1. множення дуального числа на дійсне і навпаки

с * d

d * c

  1. ділення дуальних чисел

/

с1 / с2

  1. ділення дуального числа на дійсне і навпаки

с / d

d / c

  1. додавання дуальних чисел з присвоюванням

+=

с1 += с2

  1. додавання до дуального числа дійсного з присвоюванням

с += d

  1. віднімання дуальних чисел з присвоюванням

–=

с1 –= с2

  1. віднімання від дуального числа дійсного з присвоюванням

с –= d

  1. множення дуальних чисел з присвоюванням

*=

с1 *= с2

  1. множення дуального числа на дійсне з присвоюванням

с *= d

  1. ділення дуальних чисел з присвоюванням

/=

с1 /= с2

  1. ділення дуального числа на дійсне з присвоюванням

с /= d

  1. перевірка на рівність дуальних чисел

==

с1 == с2

  1. перевірка на нерівність дуальних чисел

!=

с1 != с2

кватерніон (дійсний)

  1. підтвердження знаку кватерніона

+

  1. зміна знаку кватерніона

-

  1. обчислення спряженого до кватерніона

~

~c

  1. збільшення значення дійсної частини кватерніона на 1

++

с++

++с

  1. зменшення значення дійсної частини кватерніона на 1

--

с--

--с

  1. додавання кватерніонів

+

с1 + с2

  1. додавання до кватерніона дійсного числа і навпаки

с + d

d + c

  1. віднімання кватерніонів

с1 – с2

  1. віднімання від кватерніона дійсного числа і навпаки

с – d

d – c

  1. множення кватерніонів

*

с1 * с2

  1. множення кватерніона на дійсне число і навпаки

с * d

d * c

  1. обчислення оберненого кватерніона

^(-1)

с ^ (-1)

  1. додавання кватерніонів з присвоюванням

+=

с1 += с2

  1. додавання до кватерніона дійсного числа з присвоюванням

с += d

  1. віднімання кватерніонів з присвоюванням

–=

с1 –= с2

  1. віднімання від кватерніона дійсного числа з присвоюванням

с –= d

  1. множення кватерніонів з присвоюванням

*=

с1 *= с2

  1. множення кватерніона на дійсне число з присвоюванням

с *= d

  1. обчислення оберненого кватерніона з присвоюванням

^= -1

с ^= -1

  1. перевірка на рівність кватерніонів

==

с1 == с2

  1. перевірка на нерівність кватерніонів

!=

с1 != с2

дріб

  1. підтвердження знаку дробу

+

+f

  1. зміна знаку дробу

-

-f

  1. збільшення значення дробу на 1

++

f++

++f

  1. зменшення значення дробу на 1

--

f--

--f

  1. додавання дробів

+

f1 + f2

  1. додавання до дробу цілого числа і навпаки

f + i

i + f

  1. віднімання дробів

f1 – f2

  1. віднімання від дробу цілого числа і навпаки

f – i

i – f

  1. множення дробів

*

f1 * f2

  1. множення дробу на ціле число і навпаки

f * i

i * f

  1. ділення дробів

/

f1 / f2

  1. ділення дробу на ціле число і навпаки

f / i

i / f

  1. піднесення дробу до цілого степеня

^

f ^ n

  1. додавання дробів з присвоюванням

+=

f1 += f2

  1. додавання до дробу цілого числа з присвоюванням

f += i

  1. віднімання дробів з присвоюванням

–=

f1 –= f2

  1. віднімання від дробу цілого числа з присвоюванням

f –= i

  1. множення дробів з присвоюванням

*=

f1 *= f2

  1. множення дробу на ціле число з присвоюванням

f *= i

  1. ділення дробів з присвоюванням

/=

f1 /= f2

  1. ділення дробу на ціле число з присвоюванням

f /= i

  1. піднесення дробу до цілого степеня з присвоюванням

^=

f ^= n

  1. перевірка на рівність дробів

==

f1 == f2

  1. перевірка, чи один дріб більший за другий

>

f1 > f2

  1. перевірка, чи один дріб більший або рівний другому

>=

f1 >= f2

  1. перевірка, чи один дріб менший за другий

<

f1 < f2

  1. перевірка, чи один дріб менший або рівний другому

<=

f1 <= f2

  1. перевірка на нерівність дробів

!=

f1 != f2

двовимірний

вектор

(вільний)

  1. підтвердження напрямку вектора

+

+v

  1. зміна напрямку вектора (поворот на 180°)

-

-v

  1. обчислення одиничного вектора

~

~v

  1. збільшення значень скалярних компонентів вектора на 1

++

v++

++v

  1. зменшення значень скалярних компонентів вектора на 1

--

v--

--v

  1. додавання векторів

+

v1 + v2

  1. віднімання векторів

v1 – v2

  1. векторне множення векторів

*

v1 * v2

  1. множення вектора на дійсне число і навпаки (скалярне множення)

v * d

d * v

  1. додавання векторів з присвоюванням

+=

v1 += v2

  1. віднімання векторів з присвоюванням

–=

v1 –= v2

  1. векторне множення векторів з присвоюванням

*=

v1 *= v2

  1. множення вектора на дійсне число з присвоюванням

v *= d

  1. перевірка на рівність векторів

==

v1 == v2

  1. перевірка на нерівність векторів

!=

v1 != v2

тривимірний

вектор

(вільний)

1-15) аналогічні операції попереднього варіанту

–//–

–//–

Таблиця 8.В – Варіанти завдань високої складності

Варіант

Тип даних

Операції

Значення

Позна­чення

Приклад

матриця

(двовимірна, або прямокутна)

  1. підтвердження знаку елементів матриці

+

+M

  1. зміна знаку елементів матриці

-

-M

  1. збільшення значень елементів матриці на 1

++

M++

++M

  1. зменшення значень елементів матриці на 1

--

M--

--M

  1. додавання матриць

+

М1 + М2

  1. віднімання матриць

М1 – М2

  1. множення матриць

*

М1 * М2

  1. множення матриці на скаляр і навпаки

М * а

а * М

  1. ділення матриць

/

М1 / М2

  1. піднесення матриці до цілого додатного степеня

^

M ^ n

  1. обчислення оберненої матриці

^(-1)

M ^ (-1)

  1. обчислення транспонованої матриці

~

~M

  1. додавання матриць з присвоюванням

+=

М1 += М2

  1. віднімання матриць з присвоюванням

–=

М1 –= М2

  1. множення матриць з присвоюванням

*=

М1 *= М2

  1. множення матриці на скаляр з присвоюванням

М *= а

  1. ділення матриць з присвоюванням

/=

М1 /= М2

  1. піднесення матриці до степеня з присвоюванням

^=

M ^= n

  1. обчислення оберненої матриці з присвоюванням

^= -1

M ^= -1

  1. перевірка на рівність матриць

==

М1 == М2

  1. перевірка на нерівність матриць

!=

М1 != М2

множина (дійсних чисел)

  1. перетин множин

&

S1 & S2

  1. об’єднання множин

+

S1 + S2

  1. обчислення різниці множин

S1 – S2

  1. обчислення симетричної різниці множин

/

S1 / S2

  1. обчислення доповнення множини

~

~S

  1. індексування

[]

S[i]

  1. отримання підмножини елементів

()

S(i1,i2)

  1. отримання підмножини елементів в діапазоні

()

S(d1,d2)

  1. перетин множин з присвоюванням

&=

S1 &= S2

  1. об’єднання множин з присвоюванням

+=

S1 += S2

  1. обчислення різниці множин з присвоюванням

–=

S1 –= S2

  1. обчислення симетричної різниці множин з присвоюванням

/=

S1 /= S2

  1. додавання елемента в множину

+=

S += d

  1. вилучення елемента з множини

–=

S –= d

S –= S[i]

  1. перевірка на рівність множин

==

S1 == S2

  1. перевірка на нерівність множин

!=

S1 != S2

многочлен

(з дійсними коефіцієн­тами)

  1. підтвердження знаку многочлена

+

+P

  1. зміна знаку многочлена

-

-P

  1. додавання многочленів

+

P1 + P2

  1. додавання до многочлена дійсного числа і навпаки

P + d

d + P

  1. віднімання многочленів

P1 – P2

  1. віднімання від многочлена дійсного числа і навпаки

P – d

d – P

  1. множення многочленів

*

P1 * P2

  1. множення многочлена на дійсне число і навпаки

P * d

d * P

  1. ділення многочлена на дійсне число

/

P / d

  1. піднесення многочлена до цілого невід’ємного степеня

^

P ^ n

  1. додавання многочленів з присвоюванням

+=

P1 += P2

  1. додавання до многочлена дійсного числа з присвоюванням

P += d

  1. віднімання многочленів з присвоюванням

–=

P1 –= P2

  1. віднімання від многочлена дійсного числа з присвоюванням

P –= d

  1. множення многочленів з присвоюванням

*=

P1 *= P2

  1. множення многочлена на дійсне число з присвоюванням

P *= d

  1. ділення многочлена на дійсне число

/=

P /= d

  1. піднесення многочлена до цілого невід’ємного степеня з присвоюванням

^=

P ^= n

  1. перевірка на рівність многочленів

==

P1 == P2

  1. перевірка на нерівність многочленів

!=

P1 != P2

довге число

  1. підтвердження знаку довгого числа

+

+L

  1. зміна знаку довгого числа

-

-L

  1. збільшення значення довгого числа на 1

++

L++

++L

  1. зменшення значення довгого числа на 1

--

L--

--L

  1. додавання довгих чисел

+

L1 + L2

  1. додавання до довгого числа цілого і навпаки

L + i

i + L

  1. віднімання довгих чисел

L1 – L2

  1. віднімання від довгого числа цілого і навпаки

L – i

i – L

  1. множення довгих чисел

*

L1 * L2

  1. множення довгого числа на ціле і навпаки

L * i

i * L

  1. ділення довгих чисел

/

L1 / L2

  1. ділення довгого числа на ціле і навпаки

L / i

i / L

  1. піднесення довгого числа до цілого степеня

^

L ^ n

  1. додавання довгих чисел з присвоюванням

+=

L1 += L2

  1. додавання до довгого числа цілого з присвоюванням

L += i

  1. віднімання довгих чисел з присвоюванням

–=

L1 –= L2

  1. віднімання від довгого числа цілого з присвоюванням

L –= i

  1. множення довгих чисел з присвоюванням

*=

L1 *= L2

  1. множення довгого числа на ціле з присвоюванням

L *= i

  1. ділення довгих чисел з присвоюванням

/=

L1 /= L2

  1. ділення довгого числа на ціле з присвоюванням

L /= i

  1. піднесення довгого числа до цілого степеня з присвоюванням

^=

L ^= n

  1. перевірка на рівність довгих чисел

==

L1 == L2

  1. перевірка, чи одне довге число більше за друге

>

L1 > L2

  1. перевірка, чи одне довге число більше або рівне другому

>=

L1 >= L2

  1. перевірка, чи одне довге число менше за друге

<

L1 < L2

  1. перевірка, чи одне довге число менше або рівне другому

<=

L1 <= L2

  1. перевірка на нерівність довгих чисел

!=

L1 != L2