Пиши Дома Нужные Работы

Обратная связь

Форма отчета по лабораторной работе

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

Вопросы для самоконтроля

1. Особенности CRL.

2. Система общих типов.

3. Обработка событий в NET Framework.

4. Примеры классов элементов управления.

 

Заключение

В методических указаниях рассмотрены содержание и особенности выполнения лабораторных работ по дисциплине «Алгоритмические языки». Работы выполняются в течение второго семестра со студентами, обучающимися на кафедре ИУ8, и в течение четвертого семестра со студентами факультета ГУИМЦ, обучающимися по специальностям кафедры ИУ8.

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

Выполнение предложенных работ позволит студенту получить знания, навыки и умения по основным объектно-ориентированным возможностям языка Си++, библиотекам классов MFC и .NET FrameWork и подготовится к изучению таких объектно-ориентированных языков программирования как Си# и Java на последующих этапах обучения.

 

Рекомендуемые источники

1. Страуструп Б. Язык программирования С++. – М.: Бином, 2011. – 1136 с.

2. Распространение программного обеспечения по подписке DreamSpark Premium (MSDNAA). [Электронный ресурс] // URL: http://msdnaa.lib.bmstu.ru/default.aspx (дата обращения: 30.06.2015).

3. Подбельский В.В. Язык Си++: Учебное пособие. – М.: Финансы и статистика, 2009. – 560 с.



4. Румянцев П.В. Азбука программирования в Win 32 API. – М.: Горячая Линия - Телеком, 2004. – 312 с.

5. Энтони Уильямс. Параллельное программирование на С++ в действии. Практика разработки многопоточных программ. – М.: ДМК Пресс, 2012. – 672 с.

6. Давыдов В.Г. Visual C++. Разработка Windows-приложений с помощью MFC и API-функций. – СПб.: БХВ- Петербург, 2008. – 576 с.

7. Зиборов В.В. MS Visual C++ 2010 в среде .NET. Библиотека программиста. – СПб.: Питер, 2012. – 320 с.

Приложение А. Варианты заданий для выполнения лабораторных работ

Варианты заданий для лабораторной работы № 1

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

Вариант № 1

Разработать калькулятор для вычисления операции объединения 2-х множеств. Множество является множеством целых чисел, которые вводятся в текстовое поле через пробелы.

 

Вариант № 2

Разработать калькулятор для вычисления операции пересечения 2-х множеств. Множество является множеством целых чисел, которые вводятся в текстовое поле через пробелы.

 

Вариант № 3

Разработать калькулятор для вычисления операции разности 2-х множеств. Множество является множеством целых чисел, которые вводятся в текстовое поле через пробелы.

 

Вариант № 4

Разработать калькулятор для вычисления операции симметричной разности 2-х множеств. Множество является множеством целых чисел, которые вводятся в текстовое поле через пробелы.

 

Вариант № 5

Разработать калькулятор для вычисления 2-х арифметических операций (+, -).

 

Вариант № 6

Разработать калькулятор для получения целой части вещественного числа и округления вещественного числа до ближайшего целого.

 

Вариант № 7

Разработать калькулятор для вычисления остатка от деления и целочисленного деления целых чисел.

 

Вариант № 8

Разработать калькулятор для длины вектора на плоскости, заданного координатами x, y. Начало вектора находится в точке с координатами (0, 0).

 

Вариант № 9

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

 

Вариант № 10

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

 

Вариант № 11

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

 

Вариант № 12

Разработать калькулятор для вычисления площади треугольника. Треугольник задается длинами трех сторон (использовать формулу Герона).

 

Вариант № 13

Разработать калькулятор для вычисления площади параллелограмма. Параллелограмм задается длинами 2-х сторон и углом между ними в градусах.

 

Вариант № 14

Разработать калькулятор для вычисления площади эллипса. Эллипс задается длинами большой и малой полуосей.

 

Вариант № 15

Разработать калькулятор для вычисления площади треугольника. Треугольник задается длинами двух сторон и углом между ними в градусах.

 

Вариант № 16

Разработать калькулятор для вычисления 2-х арифметических операций (*, /).

 

Вариант № 17

Разработать калькулятор для вычисления тригонометрических функций sin, cos (угол задается в градусах).

 

Вариант № 18

Разработать калькулятор для вычисления тригонометрических функций tn, ctn (угол задается в градусах).

 

Вариант № 19

Разработать калькулятор для вычисления квадратного корня и возведения аргумента в любую степень.

 

Вариант № 20

Разработать калькулятор для вычисления функций десятичный и натуральный логарифмы.

 

Вариант № 21

Разработать калькулятор для вычисления функций экспонента и 2x.

 

Вариант № 22

Разработать калькулятор для вычисления операций сложения и вычитания 2-х комплексных чисел (комплексные числа задаются действительной и мнимой частями).

 

Вариант № 23

Разработать калькулятор для вычисления тригонометрических функций arcsin, arccos (угол выдается в градусах).

 

Вариант № 24

Разработать калькулятор для вычисления тригонометрических функций arctn, arcctn (угол выдается в градусах).

 

Вариант № 25

Разработать калькулятор для вычисления логарифма по любому допустимому основанию.

 

Вариант № 26

Разработать калькулятор для вычисления поразрядных операций «И» и «ИЛИ» над целыми числами.

 

Вариант № 27

Разработать калькулятор для вычисления поразрядных операций «НЕ» и «исключающее ИЛИ» над целыми числами.

 

 

Варианты заданий для лабораторной работы № 2

Во всех вариантах требуется следующее:

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

 

Вариант 1

Класс – аппаратно- программное средство защиты (СЗ) от несанкционированного доступа (НСД). Параметры (поля класса) – название и номер класса защищенности от НСД (Существует семь классов защищенности от НСД, наивысший 1-ый, самый низкий 7, например, если требуется обеспечить защищенность по 3- му классу, то можно использовать СЗ с классами 1, 2 или 3). Статус доступа всех полей private. Класс включает: конструктор, при необходимости функции доступа к полям, функцию, проверяющую можно ли это СЗ использовать для заданного класса (номер заданного класса – параметр функции), функцию печати параметров СЗ. Вывести на печать параметры тех СЗ, которые можно использовать для заданного класса защищенности, номер класса защищенности вводится с клавиатуры.

 

Вариант 2

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

 

Вариант 3

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

 

Вариант 4

Класс – сотрудник предприятия. Параметры (поля класса) – ФИО, оклад, надбавка к окладу в %. Статус доступа всех полей private. Класс включает: конструктор, при необходимости функции доступа к полям, функцию печати параметров, функцию вычисления зарплаты (зарплата = оклад + процентная надбавка от оклада). Вывести на печать параметры всех сотрудников и суммарную их зарплату.

 

Вариант 5

Класс – автомобиль. Параметры (поля класса) – марка, максимальная скорость (км/ч). Статус доступа всех полей private. Класс включает: конструктор, при необходимости функции доступа к полям, функцию печати параметров. Вывести на печать параметры тех автомобилей, максимальная скорость которых превышает заданное значение, введенное с клавиатуры.

 

Вариант 6

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

 

Вариант 7

Класс – квадратное уравнение ах2 + bx + c = 0 (a ≠ 0). Параметры (поля класса) – a, b, c. Статус доступа всех полей private. Класс включает: конструктор, при необходимости функции доступа к полям, функцию печати параметров, функцию расчета дискриминанта. Вывести на печать параметры тех уравнений, которые имеют вещественные корни.

 

Вариант 8

Класс – полином . Параметры (поля класса): n и массив коэффициентов . Статус доступа всех полей private. Класс включает: конструктор, при необходимости функции доступа к полям, функцию печати параметров, функцию вычисления значения полинома при заданном x (x- параметр функции). Вывести на печать параметры всех полиномов и сумму их значений при заданном значении x, вводимом с клавиатуры.

 

Вариант 9

Класс - книга. Параметры (поля): автор, название, количество страниц. Статус доступа всех полей private. Класс включает: конструктор, функцию печать параметров, при необходимости функции доступа к полям. Распечатать параметры книги с максимальным количеством страниц.

 

Вариант 10

Класс – межсетевой экран (МЭ). Параметры (поля класса) – название и номер класс защищенности (Существует пять классов защищенности МЭ, наивысший 1-ый, самый низкий 5, например, если требуется использовать МЭ 3- го класса защищенности, то можно использовать МЭ с классами 1, 2 или 3). Статус доступа всех полей private. Класс включает: конструктор, при необходимости функции доступа к полям, функцию, проверяющую можно ли МЭ использовать для заданного класса (номер заданного класса – параметр функции), функцию печати параметров МЭ. Вывести на печать параметры тех МЭ, которые можно использовать для заданного класса защищенности, номер класса защищенности вводится с клавиатуры.

 

Вариант 11

Класс – персональный компьютер (ПК). Параметры (поля класса): название процессора, тактовая частота. Статус доступа всех полей private. Класс включает: конструктор, при необходимости функции доступа к полям, функцию печати параметров. Вывести на печать параметры всех компьютеров в порядке невозрастания тактовой частоты.

 

Вариант 12

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

 

Вариант 13

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

 

Вариант 14

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

 

Вариант 15

Класс - предложение. Параметры: массив слов (n<10) и их количество. Статус доступа всех полей private. Класс включает: конструктор и функцию, определяющую количество слов, длиннее 5 букв, при необходимости функции доступа к полям, функцию печати параметров. Напечатать параметры предложений и процент слов длиннее 5 букв в заданном тексте.

 

 

Вариант 16

Класс - выражение, состоящее из целых чисел и знаков операций (скобок нет).

Параметры: массив значений чисел (n<10), количество чисел и массив знаков операций (тип char). Статус доступа всех полей private. Класс включает: конструктор и функцию, вычисляющую результат (приоритеты операций не учитывать, считать приоритет операций одинаковым), при необходимости функции доступа к полям, функцию печати параметров. Ввести несколько выражений и вывести результаты в порядке, обратном вводу.

 

Вариант 17

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

 

Вариант 18

Класс - некоторый товар в магазине. Параметры: наименование, количество и закупочная цена. Статус доступа всех полей private. Класс включает: конструктор и функцию, определяющую стоимость товара исходя из заданного процента прибыли (процент прибыли – параметр функции), при необходимости функции доступа к полям, функцию печати параметров. Напечатать параметры всех товаров и суммарную стоимость всех товаров в магазине с учетом заданного процента прибыли, который вводится с клавиатуры.

 

Вариант 19

Класс - студент. Параметры (поля): ФИО, массив экзаменационных оценок (m=4). Статус доступа всех полей private. Класс включает: конструктор и функцию определения среднего балла, при необходимости функции доступа к полям, функцию печати параметров. Напечатать параметры всех студентов и 3-х самых сильных студентов группы.

 

Вариант 20

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

 

Вариант 21

Класс - квартира. Параметры (поля): общая площадь и стоимость одного квадратного метра. Статус доступа всех полей private. Класс включает: конструктор и функцию, определяющую стоимость квартиры, при необходимости функции доступа к полям, функцию печати параметров. Напечатать параметры всех квартир и все квартиры, стоимость которых не превышает заданной суммы (сумма вводится с клавиатуры).

 

Вариант 22

Класс - квартира. Параметры (поля): стоимость и количество комнат. Статус доступа всех полей private. Класс включает: конструктор и функцию, определяющую среднюю стоимость одной комнаты, при необходимости функции доступа к полям, функцию печати параметров. Напечатать параметры всех квартир и все квартиры, стоимость одной комнаты в которых не превышает заданной суммы (сумма вводится с клавиатуры).

 

Вариант 23

Класс - выставочные экспонаты. Параметры (поля): название, время экспонирования (в днях), стоимость одного дня экспонирования. Статус доступа всех полей private. Класс включает: конструктор и функцию определения стоимости экспонирования, при необходимости функции доступа к полям, функцию печати параметров. Вывести на печать параметры экспонатов и экспонат, стоимость экспонирования которого максимальна.

 

Вариант 24

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

 

Вариант 25

Класс - выражение, состоящее из целых чисел и знаков операций (скобок нет).

Параметры (поля): строка, содержащая выражение. Статус доступа всех полей private. Класс включает: конструктор и функцию, определяющую количество операций, при необходимости функции доступа к полям. Ввести несколько выражений и определить суммарное количество операций в них.

 

Вариант 26

Класс – вектор на плоскости. Параметры (поля): координаты конца вектора: x, y (начало вектора в точке с координатами 0, 0), Статус доступа всех полей private. Класс включает: конструктор, функцию печати параметров, при необходимости функции доступа к полям, функцию вычисления длины вектора. Вывести на печать все вектора и вектор с наибольшей длиной.

 

Вариант 27

Класс - скаковая лошадь. Параметры: кличка и массив рекордов, содержащий 5 лучших результатов, показанных лошадью на скачках (результат определяется временем). Статус доступа всех полей private. Класс включает: конструктор и функцию, определяющую среднее время, показанное лошадью, при необходимости функции доступа к полям, функцию печати параметров. Вывести на печать параметры лошадей и среднее время по всей конюшне.

Варианты заданий для лабораторной работы № 3

 

Дан класс (например, с именем Vector), задающий вектор размерности n. Поля класса: указатель на массив, задающий вектор (тип элемента int или double в зависимости от варианта), массив должен создаваться динамически, число элементов (размерность) вектора (тип int). Класс включает: конструктор без параметров, задающий пустой вектор (число элементов равно 0), конструктор, создающий объект вектор на основе обычного одномерного массива размерности n, деструктор.

Необходимо перегрузить операции и продемонстрировать их работу. Перегрузить операцию [] (обращение к элементу вектора по индексу) и операцию = (копирование вектора или создание копии вектора).

Варианты заданий представлены в таблице А.1.

Таблица А.1 – Варианты заданий

Описание операции перегруженной операции Тип элемента вектора (массива) Типы операндов и результата для перегруженной операции № варианта
Первый операнд Второй операнд Результат  
+ сложение векторов одинаковой размерности, на выходе вектор такой же размерности элемент которого равен сумме соответствующих элементов двух векторов double Vector Vector Vector
Vector double * Vector
double * Vector Vector
double * Vector double *
Vector Vector double *
Vector double * double *
+ сложение векторов, на выходе вектор, длина которого сумме длин векторов вначале идут элементы первого вектора, затем второго, если один из векторов задан обычным массивом, то считать, что его длина равна длине вектора, заданным объектом класса double Vector Vector Vector
Vector double * Vector
double * Vector Vector
double * Vector double *
Vector Vector double *
Vector double * double *
* умножение вектора на число, на выходе вектор такой же размерности, каждый элемент которого равен произведению соответствующего элемента исходного вектора на число double Vector double Vector
double Vector Vector
Vector double double *
double Vector double *
++ каждый элемент исходного вектора увеличивается на 1 int Vector _____ Vector (тот же объект)
* скалярное произведение векторов (одинаковой размерности), на выходе значение этого произведения double Vector Vector double
Vector double * double
double * Vector double
^ побитовая операция с двумя векторами одинаковой размерности, на выходе вектор такой же размерности элемент, которого равен битовой операции ^ соответствующих элементов двух векторов int Vector Vector Vector
Vector int * Vector
int * Vector Vector
int * Vector int *
Vector Vector int *
Vector int * int *
-- каждый элемент исходного вектора уменьшается на 1 int Vector _____ Vector (тот же объект)

 

 

Варианты заданий для лабораторной работы № 4

 

Вариант № 1

Создать базовый класс «вектор на плоскости». Элементы класса: поля, задающие координаты точки (статус доступа protected), определяющей конец вектора (начало вектора находится в точке с координатами 0, 0); конструктор для инициализации полей; функция для вычисления длины вектора, функция для печати полей и длины вектора. Создать производный класс «вектор в трехмерном пространстве». Элементы класса: дополнительное поле, задающее дополнительную координату; конструктор для инициализации полей; переопределенная функция для вычисления длины вектора; переопределенная функция для печати полей и длины вектора. Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 2

Создать базовый класс «точка на плоскости». Элементы класса: поля, задающие координаты точки (статус доступа protected); конструктор для инициализации полей; функция для печати значений полей. Создать производный класс «точка в трехмерном пространстве». Элементы класса: дополнительное поле, задающее дополнительную координату; конструктор для инициализации полей; переопределенная функция для печати значений полей (внутри переопределенной функции в первую очередь должна вызываться функция из базового класса). Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 3

Создать базовый класс «квадрат». Элементы класса: поле, задающее длину стороны (статус доступа protected); конструктор для инициализации поля; функция для вычисления площади квадрата; функция для печати поля и площади квадрата. Создать производный класс «куб». Элементы класса: конструктор для инициализации поля; переопределенная функция для вычисления объема куба (вместо площади) (внутри переопределенной функции должна вызываться функция из базового класса). Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 4

Создать базовый класс «прямоугольник». Элементы класса: поля, задающие длины сторон (статус доступа protected); конструктор для инициализации полей; функция для вычисления площади прямоугольника; функция для печати полей и значения площади. Создать производный класс «прямоугольный параллелепипед». Элементы класса: дополнительное поле, задающее высоту; конструктор для инициализации полей; переопределенная функция для вычисления объема (вместо площади) (внутри переопределенной функции должна вызываться функция из базового класса); переопределенная функция для печати полей и значения объема. Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 5

Создать базовый класс «круг». Элементы класса: поле, задающее радиус; конструктор для инициализации поля (статус доступа protected); функция для вычисления площади круга (площадь круга ); функция для печати полей и площади. Создать производный класс «шар». Элементы класса: конструктор для инициализации поля; переопределенная функция для вычисления объема (вместо площади круга) шара (площадь шара ). Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 6

Создать базовый класс «автомобиль». Элементы класса: поле, содержащее наименование модели автомобиля; поле, содержащее значение максимальной скорости (статус доступа protected); конструктор для инициализации полей; функция для печати параметров автомобиля. Создать производный класс «грузовой автомобиль». Элементы класса: дополнительно поле, содержащее грузоподъемность автомобиля в тоннах; конструктор для инициализации полей; переопределенная функция печати параметров автомобиля (внутри переопределенной функции должна вызываться функция из базового класса). Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 7

Создать базовый класс «вещественное число». Элементы класса: поле, задающее значение числа (статус доступа protected); конструктор для инициализации поля; функция для вычисления модуля числа; функция для печати поля и модуля числа. Создать производный класс «комплексное число». Элементы класса: дополнительно поле, задающее значение мнимой части числа; конструктор для инициализации полей; переопределенная функция для вычисления модуля числа (модуль числа – корень квадратный из суммы квадратов вещественной и мнимой частей числа); переопределенная функция для печати полей и модуля числа. Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 8

Создать базовый класс «вектор на плоскости». Элементы класса: поля, задающие координаты точки (статус доступа protected), определяющей конец вектора (начало вектора находится в точке с координатами 0, 0); конструктор для инициализации полей; функция для печати координат вектора. Создать производный класс «вектор в трехмерном пространстве». Элементы класса: дополнительное поле, задающее дополнительную координату; конструктор для инициализации полей; переопределенная функция для печати координат вектора (внутри переопределенной функции должна вызываться функция из базового класса). Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 9

Создать базовый класс «квадрат». Элементы класса: поле, задающее длину стороны (статус доступа protected); конструктор для инициализации поля; функция для вычисления периметра квадрата; функция для печати длины стороны и периметра. Создать производный класс «прямоугольник». Элементы класса: дополнительное поле, задающее другую сторону; конструктор для инициализации полей; переопределенная функция для вычисления периметра прямоугольника; переопределенная функция для печати длин сторон и периметра. Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 10

Создать базовый класс «автомобиль». Элементы класса: поле, содержащее наименование модели автомобиля; поле, содержащее значение максимальной скорости (статус доступа protected); конструктор для инициализации полей; функция для печати параметров автомобиля. Создать производный класс «автобус». Элементы класса: дополнительно поле, содержащее максимальное число перевозимых пассажиров; конструктор для инициализации полей; переопределенная функция печати параметров автобуса (внутри переопределенной функции должна вызываться функция из базового класса). Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 11

Создать базовый класс «школа». Элементы класса: поле, содержащее название школы; поле, содержащее значение числа обучаемых в школе (статус доступа protected); конструктор для инициализации полей; функция для печати параметров школы. Создать производный класс «специализированная школа». Элементы класса: дополнительно поле, содержащее название специализации школы; конструктор для инициализации полей; переопределенная функция печати параметров школы (внутри переопределенной функции должна вызываться функция из базового класса). Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 12

Создать базовый класс «круг». Элементы класса: поле, содержащее значение радиуса круга (статус доступа protected); конструктор для инициализации поля; функция для печати радиуса круга. Создать производный класс «эллипс». Элементы класса: дополнительно поле, содержащее значение второй полуоси эллипса (для задания первой полуоси использовать наследуемое поле радиуса круга); конструктор для инициализации полей; переопределенная функция печати параметров эллипса (внутри переопределенной функции должна вызываться функция из базового класса). Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить динамический полиморфизм, показать его особенности в программе.

 

Вариант № 13

Создать базовый класс - сотрудник предприятия. Компоненты класса: поля: ФИО, оклад, надбавка за стаж (в процентах от оклада за 1 год), стаж (в годах), статус доступа полей protected;

конструктор для инициализации полей;

функция для вычисления зарплаты;

функция для печати параметров сотрудника.

Создать производный класс - начальник подразделения.

Дополнительные поля: процентная надбавка к окладу за выполнение обязанностей начальника и название подразделения.

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

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

 

Вариант № 14

Создать базовый класс – простой счет в банке. Компоненты класса: поля: ФИО владельца, начальная сумма счета, ставка вклада (проценты в год), время существования вклада в годах, статус доступа полей protected;

конструктор для инициализации полей;

функция для вычисления суммы на счете с учетом начисленных процентов за время существования вклада;

функция для печати параметров счета.

Создать производный класс – привилегированный счет.

Дополнительные поля: процент кредита предоставляемому по счету (проценты от доступной на счете суммы с учетом времени существования вклада).

Переопределенная функция для вычисления суммы на счете с учетом доступного кредита.

Переопределенная функция для печати параметров счета.

Внутри переопределенных функций вызывать соответствующие функции из базового класса.

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

 

Вариант № 15

Создать базовый класс «вектор на плоскости». Элементы класса: поля, задающие координаты точки (статус доступа protected), определяющей конец вектора (начало вектора находится в точке с координатами 0, 0); конструктор для инициализации полей; функция для вычисления длины вектора, функция для печати полей и длины вектора. Создать производный класс «вектор в трехмерном пространстве». Элементы класса: дополнительное поле, задающее дополнительную координату; конструктор для инициализации полей; переопределенная функция для вычисления длины вектора; переопределенная функция для печати полей и длины вектора. Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить статический полиморфизм, показать его особенности в программе.

 

Вариант № 16

Создать базовый класс «точка на плоскости». Элементы класса: поля, задающие координаты точки (статус доступа protected); конструктор для инициализации полей; функция для печати значений полей. Создать производный класс «точка в трехмерном пространстве». Элементы класса: дополнительное поле, задающее дополнительную координату; конструктор для инициализации полей; переопределенная функция для печати значений полей (внутри переопределенной функции в первую очередь должна вызываться функция из базового класса). Создать по 1 объекту каждого из классов. Показать вызов созданных функций. При переопределении функций обеспечить статический полиморфизм, показать его особенности в программе.

 

Вариант № 17






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2017 pdnr.ru Все права принадлежат авторам размещенных материалов.