
Индивидуальное домашнее задание №3.
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010.
Разработать класс «Выпуклый плоский многоугольник». Реализовать в нем операции ввода из потока, вывода в поток, * (пересечение многоугольников), + (объединение с другим многоугольником и овыпукление результата). Используя класс, решить следующую задачу. Дана карта «озера» (выпуклого многоугольника), на которой отмечены «острова» - выпуклые многоугольники. «Льдина» также является выпуклым многоугольником и в начальный момент времени находится в указанной точке (то есть верхняя левая вершина льдины совпадает с этой точкой). В текстовом файле заданы «течения» – ломаные, вдоль которых может перемещаться «льдина». Вершины ломаных перечислены в направлении течения. При перемещении льдины ее верхняя левая точка движется вдоль «течения», движение является плоскопараллельным. Начальная точка находится, по крайней мере, на одном «течении», различные «течения» могут пересекаться. Найти, как далеко может уплыть «льдина» от своего первоначального положения. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Динамическая матрица». Способ представления – массив указателей на строки матрицы. Перегрузить операции +, -, * (на скаляр и на матрицу), [][], ввода и вывода в поток. Решить задачу: среди матриц, находящихся в текстовом файле, найти и вывести в выходной файл все пары таких матриц, что их произведение имеет максимальное количество нулей. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Динамический список». Реализовать операции добавления и удаления элементов, обращения к элементу по индексу (перегрузка операции []. Для того, чтобы в списке можно было хранить любые данные, он должен принимать и возвращать элементы как void*. Написать программу, которая исполняет команды, записанные в файле. Перечень команд: добавить число в список, напечатать элемент списка, удалить элемент списка, печатать список в файл, очистить список. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Создать класс для представления числового множества. Реализовать операции + (объединение), - (теоретико-множественная разность), * (пересечение множеств) и / (симметрическая разность). |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Создать базовый класс «Ориентированный мультиграф», который можно задавать в файле следующими способами: матрица смежности, матрица инцидентности, массив смежности. Создать два класса-наследника: «Неориентированный граф» и «Ациклический граф». В классах реализовать (в наследниках – переопределить) методы поиска кратчайших путей из одной вершины в другую, нахождение компонент связности. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Треугольная матрица». Матрица должна быть определенного вида: верхне- или нижнетреугольная. Для ее представления достаточно хранить лишь элементы верхнего или нижнего треугольника. В то же время, операция [][] должна быть перегружена для доступа ко всем элементам. Перегрузить матричные операции. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Граф» для решения следующей задачи. Заданы два файла, один из которых содержит англо-русский словарь, а другой – русско-немецкий словарь. Каждая словарная статья имеет формат <слово>-<Перевод 1>; …<Перевод N>. Составить по заданным словарям англо-немецкий словарь. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. С помощью коллекции Queue<T>: вывести заданную рациональную дробь m/n в виде десятичной с количеством знаков в дробной части не более указанного (количество знаков может быть меньше, если дробь конечная и все ненулевые цифры в дробной части найдены). |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Разреженный многочлен с целыми коэффициентами». Разреженным называется многочлен высокой степени с небольшим количеством ненулевых коэффициентов. Для экономии памяти их удобно хранить в виде списка, каждый элемент которого содержит ненулевой коэффициент и степень. Перегрузить операции +, -, *, а также операцию вычисления значения в точке (как в целой, так и в вещественной) и операции ввода-вывода в формате: 2*x^100-3*x^20+125*x. Написать программу, считывающую из файла набор многочленов и находящую наибольшее по количеству элементов подмножество многочленов, в котором любые два элемента имеют взаимно простые значения в заданной точке. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Дерево» (не обязательно бинарное). Перегрузить операции ввода из потока и вывода в поток (формат представления – массив отцов). Реализовать нерекурсивный алгоритм подсчета высоты дерева (высота определяется как максимум из длин путей, соединяющих корень дерева с вершинами). Также реализовать проверку сбалансированности дерева (дерево называется сбалансированным, если для любой его вершины разница высот поддеревьев, чьи корневые вершины являются ее сыновьями, не превышает единицы). |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Реализовать класс «Граф», определив в нем методы поиска диаметра и нахождения максимальных цепей. С помощью него решить задачу: в текстовом файле представлен набор костей домино (не обязательно полный). Выписать в выходной файл все различные самые длинные цепочки, которые можно составить из этих костей (цепочки, получающиеся друг из друга разворотом на 180°, считать одинаковыми). |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Создать класс для представления положительного десятичного числа с любым количеством цифр в целой и дробной части. Реализовать операции +, *. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Комплексное число», а затем – класс «Квадратное уравнение с комплексными коэффициентами». Реализовать интерфейсные методы для коэффициентов уравнения, метод нахождения корней. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Счётчик», который может хранить неотрицательное целое значение. Разрядность счётчика (количество цифр) равна 10. Также известно основание системы счисления счётчика (не обязательно десять). В счётчике может использоваться система с основанием, не превышающим 36, алфавит берётся из набора: 012…9ABC…Z. Операции со счётчиком: инкремент, декремент, чтение из файла, вывод в файл, преобразование в строку и в десятичное целое число. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Реализовать класс «Дерево» (не обязательно бинарное). С помощью него решить задачу: в текстовом файле представлен набор костей домино (не обязательно полный). Выписать в выходной файл все различные самые длинные цепочки, которые можно составить из этих костей (цепочки, получающиеся друг из друга разворотом на 180°, считать одинаковыми). |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Квадратное уравнение». Методы: задание коэффициентов (старший должен быть ненулевым), получение коэффициентов, получение действительных корней (при их отсутствии выдавать исключение). |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Кубическое уравнение». Реализовать интерфейсные методы для коэффициентов уравнения, метод нахождения корней (см. формулу Кардано). При вычислении корней воспользоваться классом «Комплексное число». |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «СЛАУ с квадратной матрицей». Методы: задать матрицу системы, задать правую часть, получить матрицу и правую часть, получить решение. Все решения следует проиндексировать: если решение единственно, то оно имеет индекс 0. Если решение СЛАУ не единственно, то следует проиндексировать все вектора ФСР. В случае отсутствия решения выдавать исключение. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Граф» для решения следующей задачи. Задан файл, содержащий англо-русский словарь. Каждая словарная статья имеет формат <слово>-<Перевод 1>; …<Перевод N>. Составить по заданным словарям русско-английский словарь (сгруппировать английские переводы по русским словам). |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разработать класс «Разреженный орграф» (это граф, в котором количество ребер существенно меньше, чем в полном графе с таким же количеством вершин). Перегрузить операции ввода из потока и вывода в поток. Найти список всех циклов в этом графе. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. С помощью коллекций. Реализовать операции +, -, / десятичного числа с любым количеством цифр в целой и дробной части. |
|
Указания по выполнению ИДЗ №3. Индивидуальное домашнее задание №3 предназначено для освоения темы «Объектно-ориентированное программирование». Требуется разработать класс, перегрузить в нем указанные операции, написать программу, использующую этот класс. В методах класса по необходимости следует использовать исключения. Литература: Чарльз Петцольд «Программирование для MS Windows на С#», », Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ», http://msdn.microsoft.com/ru-ru/library/ms228593.aspx Среда программирования: MS Visual Studio 2010. Разреженной называется матрица, имеющая большой размер и мало ненулевых элементов. В файле она хранится в следующем виде: <количество строк> <количество столбцов> <список ненулевых элементов матрицы> Каждый ненулевой элемент описывается тремя числами: i, j, aij. Перегрузить операции ввода и вывода матрицы в файловые потоки в указанном формате. Кроме того, обеспечить возможность ввода и вывода матрицы в полном формате (с выводом нулевых элементов). Перегрузить операции +, -, *. Написать программу, считывающую из файла набор разреженных матриц и находящую пару матриц с наибольшей величиной следа их произведения. |
|