Создание классов. Конструкторы и деструкторы. Перегрузка операций



Скачать 38.63 Kb.
Дата06.07.2013
Размер38.63 Kb.
ТипЛабораторная работа
Лабораторная работа по дисциплине
«Языки и методы программирования»
для студентов 2 курса факультета ММ и АР


Лабораторная работа по дисциплине «Языки и методы программирования» состоит из нескольких заданий. В данном документе описано задание №1.

Тема работы

Создание классов. Конструкторы и деструкторы. Перегрузка операций.

Сроки представления работы

12 октября 2012г.

Форма представления работы

Электронный носитель. Отчет отправляется на электронную почту преподавателя или другие электронные ресурсы (по договоренности с преподавателем, ведущим практические занятия).

Оформление работы

Отчет о работе является частью общего отчета, который сдается преподавателю после выполнения всех заданий лабораторной работы. Данная часть включает следующие разделы:

  • постановка задачи;

  • решение задачи;

  • набор тестов.

Отчет выполняется в текстовом процессоре MS Word. Имя документа – ваша фамилия.

Решение задачи – это тексты программ. Полные тексты модулей нужно скопировать и разместить в отчете, добавив необходимые комментарии.

Набор тестов содержит входные данные для вашей программы и результаты ее работы. Можно поместить в отчет копию окна консоли, если в нем содержится нужная информация с необходимыми комментариями.

Требования к лабораторной работе

Работа выполняется на языке программирования C++ в среде программирования Visual Studio 2008 (2010).

Оценка работы

При оценке работы учитываются:

  • полнота решения задачи;

  • отлаженность программы;

  • оформление работы;

  • сроки сдачи работы.

Максимальное количество баллов за работу к аттестации – 30.

Варианты задания

Все классы должны иметь метод, выводящий на экран информацию об объекте в удобном для восприятия виде.

  1. Создать класс «n-мерный вектор». Вектор задается координатами своего конца в n-мерном пространстве. В классе реализовать метод для вычисления длины вектора, операции сложения векторов (+), умножения на число (*), присваивания (=), вычисления скалярного произведения двух векторов (*).

  2. Создать класс «многочлен от одной переменной». Многочлен задается степенью многочлена и массивом коэффициентов. В классе реализовать метод вычисления значения многочлена для заданного значения, операции сложения многочленов (+), умножения на число (*), умножения многочленов (*), присваивания (=).

  3. Создать класс «выпуклый многоугольник». Многоугольник задается количеством вершин и массивом их координат. Предполагается, что координаты заданы корректно.
    В классе реализовать методы для вычисления площади и периметра, операции сложения с числом (+) – перемещение многоугольника по оси Y на указанную величину, вычитание числа (-) - перемещение многоугольника по оси X на указанную величину, присваивания (=).

  4. Создать класс «одномерный массив целых чисел». Предусмотреть возможность задавать произвольный диапазон изменения индекса. Реализовать методы, позволяющие получить и присвоить значение элементу массива с указанным индексом, контролируя выход за пределы массива. Реализовать операции сравнения массивов (==), умножения (*) и деления (*) всех элементов массива на число, присваивания (=).

  5. Создать класс «множество целых чисел». Элементы множества храните в динамическом массиве. Каждый элемент множества уникален. Элементы не упорядочены. Реализовать метод, проверяющий принадлежность элемента множеству. Реализовать операции: вычитания множеств (-), сравнения множеств (==), добавления элемента (+ целое), удаления элемента (- целое), присваивания (=).

  6. Создать класс «ломаная линия». Линия задается количеством вершин и их координатами. В классе реализовать метод, вычисляющий длину ломаной, и метод, проверяющий, является ли она замкнутой. Реализовать операции < (линия меньше, если она короче), присваивания (=).

  7. Создать класс «вещественная матрица». Реализовать методы: заполнение матрицы случайными числами от 0 до 1, вычисление транспонированной матрицы, получения количества строк и столбцов в матрице. Реализовать операции: сложения (+) и умножения (*) матриц, присваивания(=).

  8. Создать класс «целая матрица». Реализовать методы: получить и присвоить значение элементу матрицы с указанными индексами, проверить, является ли матрица симметрической. Реализовать операции вычитания (--), умножения матрицы на число (*), присваивания (=).

  9. Создать класс «последовательность целых чисел». Элементы последовательности хранить в динамическом массиве. Реализовать методы: проверка, что последовательность возрастающая, выделение подпоследовательности без заданного элемента. Реализовать операции: добавление элемента к последовательности (+ число), удаление элемента из последовательности (- число), объединение последовательностей (+), присваивание (=).

  10. Создать класс «мультимножество целых чисел». Мультимножество – это множество с повторяющимися элементами. Реализовать метод, вычисляющий количество вхождений заданного элемента в множество. Реализовать операции: объединения множеств (+), добавления элемента (+ целое), удаления элемента (- целое), присваивания (=).

  11. Создать класс «двоичная матрица». Реализовать методы: получить и присвоить значение элементу матрицы с указанными индексами, возвести матрицу в заданную степень. Реализовать операции умножения матриц (*), присваивания (=).

Похожие:

Создание классов. Конструкторы и деструкторы. Перегрузка операций iconУказатель this. Перегрузка функций. Перегрузка операций. Виртуальные функции
Классификация яву по способу определения типа. Классификация яву по способу контроля типов (типизация)
Создание классов. Конструкторы и деструкторы. Перегрузка операций iconРезультатом плохой организации труда менеджера, как правило, является постоянное увеличение его рабочего дня до 10, 12 и даже до 14 часов, а также перегрузка его подчиненных
А также перегрузка его подчиненных. Рациональная организация труда — это не личное дело каждого менеджера
Создание классов. Конструкторы и деструкторы. Перегрузка операций iconШаг за шагом
Создание хозяйственных операций на основании реквизитов, созданных в Системе кассовых документов 30
Создание классов. Конструкторы и деструкторы. Перегрузка операций iconВыбираем Создание экземпляра объекта
Можно параллельно с Domain Model построить диаграмму классов, которую потом использовать для генерации кода классов на языке программирования....
Создание классов. Конструкторы и деструкторы. Перегрузка операций iconПриложение №1 к порядку проведения открытого конкурса по организации структурированной кабельной системы в зданиях Центра Сопровождения Клиентских Операций Западно-Сибирского банка Сбербанка России ОАО техническое задание
На создание структурированной кабельной системы в здании №1 Центра сопровождения клиентских операций Западно-Сибирского банка
Создание классов. Конструкторы и деструкторы. Перегрузка операций icon«Ученые и конструкторы, создававшие подводные лодки»
Дальнейшее развитие техники подводного кораблестроения
Создание классов. Конструкторы и деструкторы. Перегрузка операций iconСтатья 1 Создание Специального союза; принятие международной классификации
Списком классов и подклассов является список, прилагаемый к настоящему Соглашению
Создание классов. Конструкторы и деструкторы. Перегрузка операций iconХарактеристики системы водоснабжения Максимальное рабочее давление
Перегрузка по току, перегрев, высокое/низкое напряжение сети, защита двигателя от заклинивания/холостого хода
Создание классов. Конструкторы и деструкторы. Перегрузка операций iconИнформационные технологии как средство повышения профессиональной компетентности логопеда
Современный этап развития общества свидетельствует о формировании «информационной культуры». Создание, обработка и передача информации...
Создание классов. Конструкторы и деструкторы. Перегрузка операций iconНазвание книги: Перегрузка
Однажды жизнь нарушает свой нормальный, привычный ход — и обращается в дикую, все нарастающую круговерть событий, захватывающих в...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org