Skip to content

guzarikvladimir/ASP.NET-MVC-Training

Repository files navigation

17. Создать обобщенные классы для представления квадратной, симметрической и диагональной матриц (симметрическая матрица – это квадратная матрица, которая совпадает с транспонированной к ней; диагональная матрица – это квадратная матрица, у которой элементы вне главной диагонали заведомо имеют значения по умолчанию типа элемента). Описать в созданных классах событие, которое происходит при изменении элемента матрицы с индексами (i, j).  Предусмотреть возможность расширения функциональности для иерархии классов, добавив возможность операции сложения двух матриц любого типа. Разработать unit-тесты.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.15/Task1

16. Разработать обобщенный класс-коллекцию BinarySearchTree (бинарное дерево поиска). Предусмотреть возможности использования подключаемого интерфейса для реализации отношения порядка. Реализовать три способа обхода дерева: прямой (preorder), поперечный (inorder), обратный (postorder): для реализации использовать блок-итератор (yield). Протестировать разработанный класс, используя следующие типы: 
	? System.Int32 (использовать сравнение по умолчанию и подключаемый компаратор); 
	? System.String (использовать сравнение по умолчанию и подключаемый компаратор); 
	? пользовательский класс Book, для объектов которого реализовано отношения порядка (использовать сравнение по умолчанию и подключаемый компаратор); 
	? пользовательскую структуру Point, для объектов которого не реализовано отношения порядка (использовать подключаемый компаратор) .
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.15/Task2

15. Разработать класс Book с 4-5 свойствами, переопределив для него необходимые методы класса Object. Для объектов класса реализовать отношения эквивалентности и порядка. Для выполнения основных операций со списком книг, который можно загрузить и, если возникнет необходимость, сохранить в некоторое хранилище BookListStorage разработать класс BookListService (как сервис для работы с коллекцией книг) с функциональностью AddBook (добавить книгу, если такой книги нет, в противном случае выбросить исключение); RemoveBook (удалить книгу, если она есть, в противном случае выбросить исключение); FindBookByTag (найти книгу по заданному критерию); SortBooksByTag (отсортировать список книг по заданному критерию). Реализовать возможность логирования сообщений различного уровня. Работу классов продемонстрировать на примере консольного приложения. 
В качестве хранилища использовать
	? двоичный файл, для работы с которым использовать только классы BinaryReader, BinaryWriter. Хранилище в дальнейшем  может измениться (добавиться)
	? двоичный файл, для работы с которым использовать двоичный сериализатор;
	? XML-файл (любая технология без ограничений).
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.12/Task1

14. Разработать обобщенный класс-коллекцию Set, позволяющий работать только с переменными ссылочного типа с семантикой сравнения по значению, реализующий основные операции над множествами и предоставляющий возможность перечисления элементов коллекции. Протестировать методы разработанного класса.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.11/Task3

13. Разработать обобщенный класс-коллекцию Queue, реализующий основные операции для работы с очередью, а также предоставляющий возможность итерирования, реализовав итератор «вручную» (без использования блок-итератора yield). Протестировать методы разработанного класса.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.11/Task2

12. Реализовать метод для генерации  последовательности чисел Фибоначчи с использованием блок-итератора yield.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.11/Task1

11. Разработать иерархию классов для описания следующих геометрических фигур – Окружности, Треугольника, Квадрата, Прямоугольника. Классы должны описывать свойства фигуры и иметь методы для вычисления площади и периметра фигуры. Модульные тесты.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.10/Task2

10. Разработать класс для имитации часов с обратным отсчетом, реализующий возможность по истечении назначенного времени (время ожидания предоставляются пользователем) передавать сообщение любому подписавшемуся на событие типу. Для создания эффекта ожидания можно использовать метод Thread.Sleep. Предусмотреть возможность подписки на событие в нескольких классах. Для тестирования использовать консольное приложение.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.10/Task1

9. Для объектов класса 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 и т.д.
Не изменяя класс Customer, добавить для объектов данного класса дополнительную возможность форматирования, не предусмотренную классом. Разработать модульные тесты.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.08/Task1

8. Разработать класс Polinome (многочлен) для работы с многочленами степени  от одной переменной вещественного типа (в качестве внутренней структуры для хранения коэффициентов использовать sz-массив). Для разработанного класса
	? переопределить необходимые методы класса Object;
	? перегрузить операции, допустимые для работы с многочленами (исключая деление многочлена на многочлен). Разработать unit-тесты.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.07/Poly

7. Реализовать алгоритм “пузырьковой” сортировки непрямоугольного целочисленного массива (методы сортировки класса System.Array не использовать) таким образом, чтобы была возможность упорядочить строки матрицы: 
	? в порядке возрастания (убывания) сумм элементов строк матрицы;
	? в порядке возрастания (убывания) максимальных элементов строк матрицы;
	? в порядке возрастания (убывания) минимальных элементов строк матрицы;
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.05/Sort

6. Разработать класс, позволяющий выполнять вычисления НОД по алгоритму Евклида для двух, трех и т.д. целых чисел (http://en.wikipedia.org/wiki/Euclidean_algorithm). Методы класса помимо вычисления НОД должны определять значение времени, необходимое для выполнения расчета. Добавить к разработанному классу методы, реализующие алгоритм Стейна (бинарный алгоритм Евклида) для расчета НОД двух, трех и т.д. целых чисел (http://en.wikipedia.org/wiki/Binary_GCD_algorithm ). Методы должны также  определять значение времени, необходимое для выполнения расчетов. Разработать unit-тесты для тестирования методов данного типа.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.05/GCD

5. Реализовать метод расширения для получения двоичного представления вещественного числа двойной точности в формате IEEE 754. Разработать модульные тесты.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.04/TaskExtension

4. Разработать метод, позволяющий вычислять корень n-ой степени из числа методом Ньютона с заданной точностью. Разработать unit-тесты для тестирования полученного метода.
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.04/TaskNewton

3. Даны два целых знаковых четырехбайтовых числа и две позиции битов i и j (i<j). Реализовать алгоритм вставки одного числа в другое так, чтобы второе число занимало позицию с бита j по бит i (биты нумеруются справа налево).
https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.02/Task3

2. Для двух строк, включающих только символы от 'a'  до  'z', вернуть конкатенированную отсортированную по алфавиту строку, исключая повторяющиеся символы.

https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.02/Task2

1. Дан массив целых чисел. Найти в массиве и вернуть такой индекс n, для которого сумма элементов слева от него равно сумме элементов справа. Если такого индекса нет вернуть null (-1).

https://github.com/guzarikvladimir/ASP.NET-MVC-Training/tree/master/NET.W.2016.01.Guzarik.02/Task1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published