Главная страница
Навигация по странице:

  • Требования к отчету по контрольной работе (приложение 1). Оформляется один отчет на два задание. Задание №1.

  • Windows Forms приложения

  • Задание №2. Выполнить задание согласно варианту. Продемонстрировать работу программы с помощью Windows Forms приложения

  • Приложение 1 ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ОТЧЕТА ПО КОНТРОЛЬНОЙ РАБОТЕ

  • Фамилия_Номер_группы_Номер _варианта ». Пример: Иванов_4017412_15 .docx

  • ОБЩИЕ ТРЕБОВАНИЯ ПО ОФОРМЛЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ Параметры страницы

  • Microsoft Word : поля – 20 мм; номер страницы ставится снизу

  • ТРЕБОВАНИЯ К ИСХОДНОМУ КОДУ ПРОГРАММ Программа должна быть разработана в Visual Studio 2010-2013

  • КР_ООП 4семестр. Отчет на два задание. Задание 1. Выполнить задание согласно варианту. Продемонстрировать работу программы с помощью Windows Forms приложения


    Скачать 86.5 Kb.
    НазваниеОтчет на два задание. Задание 1. Выполнить задание согласно варианту. Продемонстрировать работу программы с помощью Windows Forms приложения
    Дата08.04.2023
    Размер86.5 Kb.
    Формат файлаdoc
    Имя файлаКР_ООП 4семестр.doc
    ТипОтчет
    #1046617


    КОНТРОЛЬНАЯ РАБОТА
    ПО ОБЪЕКТНО-ОРИЕНТИРОВАННОМУ ПРОГРАММИРОВАНИЮ НА ЯЗЫКЕ
    C#
    Номер варианта выбираем по номеру в журнале. При совпадении вариантов обе работы не принимаются.

    Требования к отчету по контрольной работе (приложение 1). Оформляется один отчет на два задание.
    Задание №1.

    Выполнить задание согласно варианту. Продемонстрировать работу программы с помощью Windows Forms приложения. В заданиях требуется описать абстрактный базовый класс и производные от него, создать параметризованную коллекцию объектов производных классов. Обеспечить читабельный вывод значений полей классов на экран. Используя механизм виртуальных методов, продемонстрировать единообразную работу с элементами коллекции. Должна быть обработка исключительных ситуаций. Создать диаграмму классов.

    Вариант 1

    Создать абстрактный класс File, инкапсулирующий в себе методы Open, Close, Seek, Read, Write, GetPosition и GetLength. Создать производные классы MyDataFile1 и MyDataFile2— файлы, содержащие в себе данные некоторого определенного типа MyData1 и MyData2, а также заголовки, облегчающие доступ к этим файлам.

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

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 2

    Создать абстрактный класс Point (точка). На его основе создать классы ColoredPoint и Line. На основе класса Line создать класс ColoredLine и класс PolyLine (многоугольник). Все классы должны иметь виртуальные методы установки и получения значений всех координат, а также изменения цвета и получения текущего цвета.

    Создать класс Picture, содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода характеристик объектов списка. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 3

    Создать абстрактный класс Vehicle. На его основе реализовать классы Car (автомобиль), Bicycle (велосипед) и Lorry (грузовик). Классы должны иметь возможность задавать и получать параметры средств передвижения (цена, максимальная скорость, год выпуска и т.д.). Наряду с общими полями и методами, каждый класс должен содержать и специфичные для него поля.

    Создать класс Garage, содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода характеристик объектов списка. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.


    Вариант 4

    Создать абстрактный класс Figure. На его основе реализовать классы Rectangle (прямоугольник), Circle (круг) и Trapezium (трапеция) с возможностью вычисления площади, центра тяжести и периметра.

    Создать класс Picture, содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода характеристик объектов списка. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.

    Вариант 5

    Создать абстрактный класс Number c виртуальными методами, реализующими арифметические операции. На его основе реализовать классы Integer и Real.

    Создать класс Series (набор), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода характеристик объектов списка. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 6

    Создать абстрактный класс Body. На его основе реализовать классы Parallelepiped (прямоугольный параллелепипед), Cone (конус) и Ball (шар) с возможностью вычисления площади поверхности и объема.

    Создать класс Series (набор), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода характеристик объектов списка. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 7

    Создать абстрактный класс Currency для работы с денежными суммами. Определить в нем методы перевода в рубли и вывода на экран. На его основе реализовать классы Dollar, Euro и Pound (фунт стерлингов) с возможностью пересчета в центы и пенсы соответственно.

    Создать класс Purse (кошелек), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода общей суммы, переведенной в рубли, и суммы по каждой из валют. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 8

    Создать абстрактный класс Triangle (треугольник), задав в нем длину двух сторон, угол между ними, методы вычисления площади и периметра. На его основе создать классы, описывающие равносторонний, равнобедренный и прямоугольный треугольники со своими методами вычисления площади и периметра.

    Создать класс Picture, содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода характеристик объектов списка и получения суммарной площади. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 9

    Создать абстрактный класс Solution (решение) с виртуальными методами вычисления корней уравнения и вывода на экран. На его основе реализовать классы Linear (линейное уравнение) и Square (квадратное уравнение).

    Создать класс Series (набор), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода характеристик объектов списка. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.


    Вариант 10

    Создать абстрактный класс Function (функция) с виртуальными методами вычисления значения функции y = f(x) в заданной точке х и вывода результата на экран. На его основе реализовать классы Ellipse, Hiperbola и Parabola.

    Создать класс Series (набор), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода характеристик объектов списка. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 11

    Создать абстрактный класс Triad (тройка) с виртуальными методами увеличения на 1. На его основе реализовать классы Date (дата) и Time (время).

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

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 12

    Описать абстрактный класс Element (элемент логической схемы), задав в нем числовой идентификатор, количество входов, идентификаторы присоединенных к нему элементов (до 10) и двоичные значения на входах и выходе. На его основе реализовать классы AND и OR — двоичные вентили, которые могут иметь различное количество входов и один выход и реализуют логическое умножение и сложение соответственно.

    Создать класс Sсheme (схема), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможности вывода характеристик объектов списка и вычисление значений, формируемых на выходах схемы по заданным значениям входов. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 13

    Описать абстрактный класс Element (элемент логической схемы) задав в нем символьный идентификатор, количество входов, идентификаторы присоединенных к нему элементов (до 10) и двоичные значения на входах и выходе. На его основе реализовать классы AND_NOT и OR_NOT — двоичные вентили, которые могут иметь различное количество входов и один выход и реализуют логическое умножение c отрицанием и сложение c отрицанием соответственно.

    Создать класс Sсheme (схема), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможности вывода характеристик объектов списка и вычисление значений, формируемых на выходах схемы по заданным значениям входов. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 14

    Описать абстрактный класс Trigger (триггер), задав в нем идентификатор и двоичные значения на входах и выходах. На его основе реализовать классы RS и JK, представляющие собой триггеры соответствующего типа.

    Создать класс Register (регистр), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможности вывода характеристик объектов списка, общего сброса и установки значений каждого триггера по заданным значениям входов. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 15

    Создать абстрактный класс Progression (прогрессия) с виртуальными методами вычисления заданного элемента и суммы прогрессии. На его основе реализовать классы Linear (арифметическая) и Exponential (геометрическая).

    Создать класс Series (набор), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода характеристик объектов списка и вывода общей суммы всех прогрессий. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 16

    Создать абстрактный класс Pair (пара значений) с виртуальными методами, реализующими арифметические операции. На его основе реализовать классы Fractional (дробное) и LongLong (длинное целое).

    В классе Fractional вещественное число представляется в виде двух целых, в которых хранятся целая и дробная часть числа соответственно. В классе LongLong длинное целое число хранится в двух целых полях в виде старшей и младшей части.

    Создать класс Series (набор), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода характеристик объектов списка и вывода общей суммы всех значений. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 17

    Создать абстрактный класс Integer (целое) с символьным идентификатором, виртуальными методами, реализующими арифметические операции, и методом вывода на экран. На его основе реализовать классы Decimal (десятичное) и Binary (двоичное). Число представить в виде массива цифр.

    Создать класс Series (набор), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода значений и идентификаторов всех объектов списка и вывода общей суммы всех десятичных значений. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 18

    Создать абстрактный класс Sorting (сортировка) с идентификатором последовательности, виртуальными методами сортировки, получения суммы и вывода на экран. На его основе реализовать классы Choice (метод выбора) и Quick (быстрая сортировка).

    Создать класс Series (набор), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода идентификаторов и сумм элементов каждого объекта списка, а также вывода общей суммы всех значений. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.

    Вариант 19

    Создать абстрактный класс Pair (пара значений) с виртуальными методами, реализующими арифметические операции, и методом вывода на экран. На его основе реализовать классы Money (деньги) и Complex (комплексное число).

    В классе Money денежная сумма представляется в виде двух целых, в которых хранятся рубли и копейки соответственно. При выводе части числа снабжаются словами «руб.» и «коп.». В классе Complex предусмотреть при выводе символ мнимой части (i).

    Создать класс Series (набор), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода объектов списка. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.
    Вариант 20

    Создать абстрактный класс Worker с полями, задающими фамилию работника, фамилии руководителя и подчиненных и виртуальными методами вывода списка обязанностей и списка подчиненных на экран. На его основе реализовать классы Manager (руководитель проекта), Developer (разработчик) и Coder (младший программист).

    Создать класс Group (группа), содержащий параметризованную коллекцию объектов этих классов в динамической памяти. Предусмотреть возможность вывода всех объектов списка и выборки по фамилии с выводом всего дерева подчиненных. Написать демонстрационную программу, в которой будут использоваться все методы классов.

    Дополнить класс методами сортировки по некоторому критерию, вывода в файл и считывания из файла.

    Задание №2.

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

    Создать объект определенного класса (по вариантам).

    Сохранить информацию об объекте в бинарный или текстовый файл, затем считать и восстановить в другой объект.

    Сохранить информацию об объекте используя сериализацию. Восстановить объект. Протестировать на подходящем примере.

    Вариант 1. Класс "Фотомодель". Поля – имя, возраст, вес, рост, цвет волос (перечисление). Создать метод, сохраняющий всю информацию в отдельный бинарный файл. Имя файла и каталог – параметры метода.

    Разработать для своего класса метод, который выводит на экран всю информацию о классе и о конструкторах класса вместе с их Hash-кодами.
    Вариант 2. Класс "Арт-объект". Поля – название, автор, цена, вес, материал (перечисление). Создать метод, сохраняющий всю информацию в отдельный текстовый файл. Имя файла и каталог – параметры метода.

    Разработать статический метод для класса Program, который выводит всю информацию о переданном объекте (не прорабатывать массивы членов класса).
    Вариант 3. Класс "Город". Поля – название, дата основания, площадь, к-во жителей, страна (перечисление). Создать метод, переводящий всю информацию в строку. Сохранить объект, созданный в main, в текстовый файл, используя предыдущий метод.

    Разработать для своего класса метод, который выводит на экран всю информацию о классе и о полях класса вместе с их Hash-кодами.
    Вариант 4. Класс "Книга". Поля – название, автор, издательство, год выпуска, жанр (перечисление). Создать метод, сохраняющий всю информацию в отдельный бинарный файл. Имя файла и каталог – параметры метода.

    Разработать статический метод для класса Program, который выводит информацию о переданном классе (не прорабатывать массивы членов класса).
    Вариант 5. Класс "Автомобиль". Поля – марка, модель, дата выпуска, объем двигателя, цвет (перечисление). Создать метод, сохраняющий всю информацию в отдельный текстовый файл. Имя файла и каталог – параметры метода.

    Разработать для своего класса метод, который выводит на экран всю информацию о классе и о подключенных интерфейсах вместе с их Hash-кодами.
    Вариант 6. Класс "Супергерой". Поля – имя, пол, вес, рост, навык (перечисление). Создать метод, переводящий всю информацию в строку. Сохранить объект, созданный в main в текстовый файл, используя предыдущий метод.

    Разработать для своего класса метод, который выводит на экран всю информацию о классе и о свойствах класса вместе с их Hash-кодами.
    Вариант 7. Класс "Овощи". Поля – название, категория (перечисление), сорт, цена, дата заготовки. Создать метод, сохраняющий всю информацию в отдельный бинарный файл. Имя файла и каталог – параметры метода.

    Разработать статический метод для класса Program, который запрашивает у пользователя имя класса и выводит всю информацию о нем (не прорабатывать массивы членов класса).
    Вариант 8. Класс "Гостиница". Поля – название, адрес, категория (перечисление), к-во звезд, цена за номер. Создать метод, сохраняющий всю информацию в отдельный текстовый файл. Имя файла и каталог – параметры метода.

    Разработать для своего класса метод, который выводит на экран всю информацию о классе и о методах класса вместе с их Hash-кодами.
    Вариант 9. Класс "Космический объект". Поля – название, номер по каталогу, категория (перечисление), расстояние до объекта, размер. Создать метод, переводящий всю информацию в строку. Сохранить объект, созданный в main в текстовый файл, используя предыдущий метод.

    Для своего статического класса разработать метод, который на экран всю информацию о классе (не прорабатывать массивы членов класса).

    Вариант 10. Класс "Компьютерная игра". Поля – название, жанр (перечисление), популярность, вес, цена. Создать метод, переводящий всю информацию в строку. Сохранить объект, созданный в main в текстовый файл, используя предыдущий метод.

    Разработать для своего класса метод, который выводит на экран всю информацию о классе и о методах класса вместе с их Hash-кодами.

    Список литературы.

    1. Шилдт, Герберт С# 4.0 Полное руководство. : Пер. с английского. М. – ООО «И.Д. Вильямс», 2011 – 1056 с. : ил.

    2. Уотсон, К. Visual С# 2010: полный курс.: Пер. с англ. - М.: ООО "И.Д. Вильяме", 2011. - 960 с. : ил.

    3. Троелсен, Эндрю. Язык программирования С# 2010 и платформа .NET 4.0, 5-е изд. : Пер. с англ. — М. : ООО "И.Д. Вильяме", 2011. — 1392 с. : ил.


    Приложение 1
    ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ОТЧЕТА ПО КОНТРОЛЬНОЙ РАБОТЕ


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

    2. Имя файла отчета «Фамилия_Номер_группы_Номер_варианта».

    Пример: Иванов_4017412_15.docx

    1. Версия редактора Word не менее Word 2010. Общие требования к оформлению текста представлены ниже.

    2. Содержание отчета

    - титульный лист

    - содержание

    - задание

    - исходный код

    - скриншоты работы приложения

    - заключение

    - список использованной литературы

    Требования к разделам: Титульный лист должен обязательно содержать – фамилию, имя, отчество, номер группы, номер варианта. Исходный код, представленный в отчете, должен обязательно содержать комментарии к ключевым строкам программы (подписать классы, методы). Скриншоты работы приложения должны полностью раскрывать все функциональные возможности разработанного приложения.
    ОБЩИЕ ТРЕБОВАНИЯ ПО ОФОРМЛЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ

    Параметры страницы

    Формат листа – А4 (размер 210 × 290 мм). Перед набором текста настроить параметры Microsoft Word:

    • поля – 20 мм;

    • номер страницы ставится снизу, по центру;

    • ориентация – книжная.

    Основной текст

    • абзац: первая строка – отступ 1,25 мм, междустрочный интервал – «одинарный», выравнивание – «по ширине»;

    • шрифт – Times New Roman, 14 пт;

    • перенос слов – автоматический;

    • выделять (жирным или курсивом) отдельные слова, словосочетания и предложения следует исходя из важности терминов.


    ТРЕБОВАНИЯ К ИСХОДНОМУ КОДУ ПРОГРАММ

    1. Программа должна быть разработана в Visual Studio 2010-2013 или в SharpDevelop версии 4.3.0 на языке программирования C#, версия .NET 4.0.

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

    3. Имя архива «Фамилия_Номер_группы_Номер_варианта»

    Пример: Иванов_25412_15.rar
    РАБОТЫ, ОФОРМЛЕННЫЕ С НАРУШЕНИЕМ ТРЕБОВАНИЙ, ПРИНЯТЫ НЕ БУДУТ.


    написать администратору сайта