Контрольная работа на тему «Организация программ с использованием классов»
ЦЕЛЬ ЗАДАНИЯ
1. Изучение средств языка С++ для определения новых типов данных через механизм классов.
2. Получение навыков в написании программ с использованием классов.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
Разработать программу, реализующую абстрактный тип данных, через механизм классов (для демонстрации использовать библиотеки graphics.h и conio.h).
А. Минимальное задание
1. Составить программу с использованием классов для реализации «бегущей» точки из левого верхнего угла экрана в нижний правый угол экрана по строкам. Цвет точки выбирается произвольно. Продемонстрировать работу двух конструкторов: обычного конструктора и конструктора по умолчанию. Сделать выводы.
2. Для классов: class Point {int x,y;
public:
Point (int a, int b) {x=a; y=b; };
…..
};
class Rect {Point lt, rb;
public:
Rect (Point a, Point b):lt(a), rb(b){ };
void draw(void);
};
доопределить соответствующие член-функции таким образом, чтобы, объявив в main-программе объект класса Rect, вызовом функции draw() можно было бы вычертить на экране прямоугольник с указанием заданных размеров с помощью псевдографических символов. Сделать выводы.
Символы псевдографики, требуемые для выполнения задания:
Требуемые библиотечные функции из conio.h: gotoxy(x,y) и putch(ch).
Б.Основное задание
– Выбрать объект. Объект выбирается согласно варианта.
– Спроектировать класс для программного представления таких объектов.
– Нарисовать его схему в нотации UML.
ВАРИАНТЫ ОСНОВНОГО ЗАДАНИЯ
1. Создайте класс, который содержит информацию об имени и адресе. Храните всю эту информацию в символьных строках закрытой части класса. Включите в класс открытую функцию для запоминания имени и адреса, а также открытую функцию, которая выводит эти имя и адрес на экран.
2. Создайте класс, который поддерживает каталог библиотечных карточек. Этот класс должен хранить заглавие книги имя автора и выданное на руки число экземпляров книги. Заглавие и имя автора храните в виде строки символов, а количество экземпляров в виде целого числа. Включите в класс открытую функцию для запоминания информации о книгах, а также открытую функцию, которая выводит информацию на экран.
3. Создайте класс, реализующий стек символов. Сделайте стек длиной 10 символов. Члены класса: стек (массив символов), индекс вершины стека. Обязательны функции-члены класса для инициализации стека (присваивает индексу нулевое значение), помещения значения в стек, выталкивания значения из стека. Продемонстрировать использование класса.
4. Создайте класс, с циклической очередью целых. Сделайте очередь длиной 100 целых. Члены
5. класса: очередь (массив целых чисел), индекс вершины и индекс хвоста. Обязательны функции-члены класса для инициализации очереди (присваивает индексам нулевые значения), помещения значения в очередь, удаления значения из очереди. Продемонстрировать использование класса.
6. Создайте класс для имитации секундомера. Члены класса: переменные типа double для хранения начального и конечного значения времени. Обязательны функции- члены класса для инициализации секундомера (присваивает переменным нулевые значения), для запуска и остановки секундомера, для вывода на экран величины истекшего времени.
7. Определить класс эллипс, а также продемонстрировать использование класса. Члены класса: переменные, необходимые для того, чтобы иметь возможность пользоваться стандартными функциями рисования. Обязательны функции-члены класса: нарисовать, стереть, передвинуть эллипс, изменить радиусы эллипса.
8. Определить класс отрезок, а также продемонстрировать использование класса. Члены класса: переменные, необходимые для того, чтобы иметь возможность пользоваться стандартными функциями рисования. Обязательны функции-члены класса: нарисовать, стереть, передвинуть отрезок, вращать отрезок относительно его середины или описывать окружность одним его концом.
9. Определить класс треугольник, а также продемонстрировать использование класса. Члены класса: переменные, необходимые для того, чтобы иметь возможность пользоваться стандартными функциями рисования. Обязательны функции-члены класса: нарисовать, стереть, передвинуть треугольник, вращать треугольник относительно его вершины, изменить размеры треугольника.
10. Определить класс трапеция, а также продемонстрировать использование класса. Члены класса: переменные, необходимые для того, чтобы иметь возможность пользоваться стандартными функциями рисования. Обязательны функции-члены класса: нарисовать, стереть, закрасить, передвинуть, повернуть трапеции, изменить размеры трапеции.
11. Определить класс ромб, а также продемонстрировать использование класса. Члены класса: переменные, необходимые для того, чтобы иметь возможность пользоваться стандартными функциями рисования. Обязательны функции-члены класса: нарисовать, стереть, закрасить, передвинуть, повернуть ромб, изменить размеры ромба.
В. Дополнительное задание
ВАРИАНТЫ ДОПОЛНИТЕЛЬНОГО ЗАДАНИЯ
1. Вектор в трехмерном евклидовом пространстве задан своими полярными координатами. Обязательны функции — члены класса:
• ввод вектора;
• вывод вектора;
• функция, которая возвращает рабочий вектор в декартовых координатах.
Другие функции можно ввести по желанию. Описать класс и продемонстрировать его использование.
2. Угол на плоскости. Обязательные члены класса: величина угла в градусах; функции-члены для ввода и вывода величины угла, перевода величины угла в радианы, нахождения синуса угла. Описать класс и продемонстрировать его использование.
3. Комплексное число, задаваемое своей вещественной и мнимой частями (например, 5 + 3i задается парой ( 5, 3 ) ). Обязательны функции-члены класса для ввода и вывода числа, сложения, произведения двух чисел, а также возведения числа в целую степень. Описать класс и продемонстрировать его использование.
4. Комплексное число, задаваемое своим модулем и углом (например, число 10 * ( cos( /6) + i * sin( /6) ) задается парой ( 10, /6 ) ). Обязательны функции-члены класса для ввода и вывода числа, сложения, произведения двух чисел, а также возведения числа в целую степень. Описать класс и продемонстрировать его использование.
5. Кольцевой буфер емкостью 1024 вещественных чисел. Доступ к элементам буфера – как к элементам очереди. Обязательны функции-члены класса для инициализации буфера, добавления и удаления элемента, определения количества свободного и занятого пространства в буфере. Описать класс и продемонстрировать его использование.
6. Стек вещественных чисел. Обязательны функции-члены класса для добавления и удаления элемента, проверке присутствия указанного элемента, вывода текущих элементов стека. Описать класс и продемонстрировать его использование.
7. Двунаправленный список. Обязательны функции-члены класса для добавления и удаления элемента, проверке присутствия указанного элемента, вывода текущих элементов списка. Описать класс и продемонстрировать его использование.
8. Кольцевой список. Обязательны функции-члены класса для добавления и удаления элемента, проверке присутствия указанного элемента, вывода текущих элементов списка. Описать класс и продемонстрировать его использование.
9. Бинарное дерево. Обязательны функции-члены класса для добавления и удаления элемента, проверке присутствия указанного элемента, вывода текущих элементов дерева. Описать класс и продемонстрировать его использование.
10. Точка на экране в текстовом (или графическом режиме). Должны быть предоставлены возможности:
• высветить точку в определенном месте экрана определенным цветом;
• определить, видима ли точка в данный момент;
• получить координаты точки после поворота отрезка, соединяющего эту точку с началом координат, на заданный угол.
Описать класс и продемонстрировать его использование.
Может быть интересно
Здравствуйте. Скажите пожалуйста, планирую поступать в магистратуру на факультет Психологии « Психология личности»в РГГУ скажите пожалуйста, есть ли у вас, ответы на вступительные экзамены? так как, планирую, сделать акцент на бюджет. Спасибо.
Арсений, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Дистанционная помощь в защите ВКР
Анастасия, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте. Нужна срочно практическая часть вкр, третья глава. Скину похожие работы, на которые можно ориентироваться
Александр, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
вкр по теме: экологический туризм России : анализ состояния, проблемы и перспективы
Людмила, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте вы защищаете ВКР?
Ольга, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Написать магистерскую ВКР на тему «Совершенствование логистических бизнес-процессов на примере торговой компании». Не менее 100 страниц.
Миша, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте нужна работа Вкр
Лена, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Написать ВКР 3 раздела Тема строительство строительство жилого дома с применением каркасно-монолитных технологий Антиплагиат от 75% ПЗ и чертежи
Владимир, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.