vhatsura / BSU.ASP.1501.Day2.Gatsura

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BSU.ASP.1501.Day2.Gatsura

Задание 2.

Дан класс Customer, у которого есть строковые свойства Name, ContactPhone и свойство Revenue типа decimal. Реализовать для объектов данного класса возможность строкового представления различного вида. Например, для объекта со значениями Name = "Jeffrey Richter", Revenue = 1000000, ContactPhone = "+1 (425) 555-0100", могут быть следующие варианты:

  • Customer record: Jeffrey Richter, 1,000,000.00, +1 (425) 555-0100
  • Customer record: +1 (425) 555-0100
  • Customer record: Jeffrey Richter, 1,000,000.00
  • Customer record: Jeffrey Richter
  • Customer record: 1000000 и т.д.

Добавить для объектов данного класса дополнительную возможность форматирования (класс при этом не менять!), не предусмотренную классом. Разработать unit-тесты.

Задание 3.

Расширить для целых чисел возможность форматного вывода, добавив представление в шестнадцатиричной системе счисления (класс Convert не использовать!). Разработать unit-тесты.

Задание 4.

Разработать тип, в котором реализовать алгоритм Евклида для вычисления НОД двух целых чисел. Метод должен также определять значение времени, необходимое для выполнения расчета. Добавить к разработанному типу дополнительную функциональность в виде перегруженных методов вычисления НОД для трех и т.д. целых чисел. Добавить к разработанному типу метод, реализующиий [алгоритм Стейна (бинарный алгоритм Эвклида)] (http://en.wikipedia.org/wiki/Binary_GCD_algorithm) для расчета НОД двух целых чисел. Метод должен также определять значение времени, необходимое для выполнения расчетов. Добавить к разработанному типу дополнительную функциональность в виде перегруженных методов вычисления НОД для трех и т.д. целых чисел. Разработать unit-тесты для тестирования методов данного типа.

About


Languages

Language:C# 100.0%