Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
YaPLR2012_090303.docx
Скачиваний:
16
Добавлен:
22.08.2019
Размер:
439.04 Кб
Скачать
    1. Порядок выполнения работы.

1. При домашней подготовке необходимо изучить литературу по теме лабораторной работы.

2. Получить задание у преподавателя.

3. Разработать алгоритм решения задачи и написать программу, реализующую задание.

4. Проверить правильность ее работы.

5. Составить отчет и защитить работу.

    1. Требования к отчету.

Отчет по лабораторной работе должен соответствовать требованиям, предъявляемым стандартами ТулГУ. Он должен содержать титульный лист, цели и задачи работы, текст задания, алгоритм и программную реализацию решения, теоретические положения, которые были использованы при выполнении лабораторной работы и контрольные примеры.

    1. Варианты заданий.

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

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

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

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

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

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

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

    1. Контрольные вопросы.

1. В чем заключается отличие объектно-ориентированного программирования от структурированного? Перечислите достоинства и недостатки объектно-ориентированного подхода.

2. В чем заключается смысл инкапсуляции?

3. В чем заключается смысл полиморфизма?

4. В чем заключается смысл наследования?

5. Классы в С++. Их объявление, описание и использование.

6. Что такое конструкторы и деструкторы? Для чего они используются?

7. Каким образом можно передавать объекты в функции? Может ли функция возвращать объекты?

8. Что такое перегрузка функций? Для чего она используется?

9. Что такое перегрузка операторов? Для чего она используется?

10. Что означает ключевое слово this в тексте программы на С++?

11. Объясните работу перегруженного оператора присваивания в примере, предложенном в теоретических положениях. Почему он возвращает значение?

  1. Наследование классов в С++

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]