Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

для студентов группы ВТВ-367 5 семестр

Задания для лабораторных работ по курсу

«Основы программирования»

для студентов группы ВТВ-367 5 семестр

 

1.1.Создать класс для обработки информации о багаже.

Багаж характеризуется количеством вещей, общим весом вещей и сообщением адресату.

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

Найти багаж, средний вес которого отличается не более, чем на 0,3кг от общего среднего веса. Вывести на экран информацию о багаже, содержащем более 3 вещей.

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

Создать массив объектов класса “почтовый багаж”.

Вывести на экран фамилии отправителей, посылающих багаж с количеством вещей больше n. Подсчитать количество получателей, средний вес багажа у которых отличается не более, чем на 0,3кг от общего среднего веса.

Для обработки информации о почтовом багаже использовать как собственные функции класса “почтовый багаж”, так и унаследованные из класса “багаж”.

1.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “багаж” корректирует количество вещей;

б) для класса “почтовый багаж” выводит на экран сообщение получателю.

Также создать виртуальную функцию вывода объектов классов “багаж” и “почтовый багаж” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “багаж” и “почтовый багаж”. Вывести массив на экран. Откорректировать элементы массива и вывести сообщения получателям. Откорректированный массив снова вывести на экран.

1.4. Для класса “багаж” перегрузить операцию “>” (большим считается тот багаж, общий вес вещей которого больше) и перегрузить операцию “+” (операция увеличивает на заданное значение количество вещей). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса “багаж”. Увеличить количество вещей каждого багажа на произвольное значение. Найти багаж с наименьшим весом.


 

 

2.1. Создать класс для обработки информации о человеке.

Данные о человеке содержат его имя, фамилию, год рождения.

Создать массив объектов класса, содержащий сведения о нескольких людях.

Вывести на экран информацию о самом старшем человеке. Вывести на экран фамилии и имена людей, чья фамилия начинается символа, задаваемого переменной Х.

2.2. На базе класса “человек” создать класс “сотрудник учреждения”. Информация о сотруднике содержит имя, фамилию, должность, стаж, год рождения.

Создать массив объектов класса “сотрудник”.

Вывести на экран информацию о сотрудниках, имеющих заданную должность. Вывести на экран информацию о самом старшем сотруднике.

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

2.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “человек” корректирует фамилию;

б) для класса “сотрудник учреждения” выводит на экран фамилию и должность.

Также создать виртуальную функцию вывода объектов классов “человек” и “сотрудник учреждения” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “человек” и “сотрудник учреждения”. Вывести массив на экран. Откорректировать элементы массива и вывести фамилии и должности сотрудников в массиве. Откорректированный массив снова вывести на экран.

2.4. Для класса “ сотрудник учреждения” перегрузить операцию “==” (равными считаются два сотрудника, если их возраст равен) и перегрузить операцию “++” (операция увеличивает на 1 значение стажа). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса “сотрудник учреждения”. Увеличить на год стаж каждого сотрудника. Найти всех сотрудников, родившихся в заданном году.


 

 

3.1. Создать класс для обработки информации о книге.

Сведения о книге состоят из названия, фамилии автора, года издания, тиража.

Создать массив объектов класса, хранящий сведения о нескольких книгах.

Функции:

А) функция ввода информации о книге;

В) функция вывода информации о книге;

Г) функция, возвращающая тираж книги;

Д) функция, возвращающая год издания книги.

Подсчитать средний тираж всех книг. Вывести на экран сведения о книгах, изданных позже года Х.

3.2. На базе класса “книга” создать классы “карта” и «словарь». Информация о карте содержит название, фамилию автора, года издания, тираж, тип карты (географическая, политическая и т.п.), масштаб. Функции:

а) функция ввода информации о карте;

б) функция вывода информации о карте;

в) функция вывода на экран названия и типа карты заданного масштаба Х.

Информация о словаре содержит название, фамилию автора, года издания, тираж, количество слов. Функции:

а) функция ввода информации о словаре;

б) функция вывода информации о словаре;

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

Создать массивы объектов класса “карта” и «словарь».

Подсчитать средние тиражи всех карт и всех словарей в массивах. Вывести на экран информацию о картах масштаба 1:100. Откорректировать и вывести на экран информацию обо всех словарях.

3.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “книга” выводит на экран название и фамилию автора;

б) для класса “карта” выводит на экран название и масштаб;

в) для класса “словарь” увеличивает количество слов на заданное значение.

Также создать виртуальную функцию вывода объектов классов «книга», “карта” и «словарь» на экран.

Создать массив, вперемешку хранящий указатели на объекты классов «книга», “карта” и «словарь». Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

3.4. Для класса “карта” перегрузить операцию “<” (меньшей считается карта с меньшим масштабом) и перегрузить операцию “– –” (операция уменьшает на 100 масштаб карты). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса “карта”. Уменьшить масштаб каждой карты. Найти карту с самым большим масштабом.


 

 

4.1. Создать класс для обработки информации об автомобиле.

Сведения об автомобиле состоят из его марки, номера, цвета, года выпуска.

Функции:

а) функция ввода информации об автомобиле;

б) функция вывода информации об автомобиле;

в) функция, возвращающая год выпуска автомобиля;

г) функция, возвращающая цвет автомобиля.

Создать массив объектов класса, содержащий сведения о нескольких автомобилях.

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

4.2. На базе класса “автомобиль” создать класс “рейсовый автобус”. Данные: марка, номера, цвет, год выпуска, пробег, № маршрута. Функции:

а) функция ввода информации о рейсовом автобусе;

б) функция вывода информации о рейсовом автобусе;

в) функция корректировки пробега и № маршрута рейсового автобуса.

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

4.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “автомобиль” выводит на экран маку и цвет;

б) для класса “рейсовый автобус” увеличивает пробег на заданное значение;

Также создать виртуальную функцию вывода объектов классов «автомобиль», “рейсовый автобус” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов «автомобиль», “рейсовый автобус”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

4.4. Для класса “рейсовый автобус” перегрузить операцию «>» (большим считается автобус, год выпуска которого меньше) и перегрузить операцию «–» (операция вычитает из пробега необходимое количество километров). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса “рейсовый автобус”. Вывести на экран информацию об автобусах, старших заданного года. Уменьшить пробег автобусов с четными номерами на 100 км, с нечетными — на 200 км.

 


 

 

5.1. Создать класс для обработки информации о различных датах.

Каждая дата - это число, месяц, год, название даты.

Функции:

а) функция ввода информации о дате;

б) функция вывода информации о дате;

в) функция, возвращающая год даты;

г) функция, определяющая, принадлежит ли дата сезону, заданному переменной Х.

Создать массив объектов класса, содержащий сведения о нескольких датах.

Найти:

а) год с наименьшим номером;

б) все даты сезона, название которого задано переменной Х.

5.2. На базе класса “дата” создать класс “сообщение”. Данные: число, месяц, год, тема сообщения, имя адресата, имя отправителя, объем сообщения. Функции:

а) функция ввода информации о сообщении;

б) функция вывода информации о сообщении;

в) функция, возвращающая имя адресата;

г) функция, возвращающая объем сообщения.

Создать массив объектов класса “сообщение”. Найти самое раннее сообщение. Вывести имя отправителя самого длинного сообщения.

5.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “ дата ” корректирует день, месяц, год;

б) для класса “сообщение” увеличивает объем сообщения на заданное значение;

Также создать виртуальную функцию вывода объектов классов “дата”, “сообщение” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “дата”, “сообщение”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

5.4. Для класса «дата» перегрузить операцию «>» (большей считается дата, которая младше по календарю). Перегрузить операцию «++» (прибавляет к дате 1 день). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса «дата». Вывести на экран все даты, которые позже 20/01/1999. Прибавить к первым пяти элементам массива 1 день.


 

 

6.1. Создать класс для обработки информации о спортсменах.

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

Функции:

а) функция ввода информации о спортсмене;

б) функция вывода информации о спортсмене;

в) функция, возвращающая клуб спортсмена;

г) функция, возвращающая число результативных атак;

д) функция, выводящая на экран фамилию спортсмена.

Создать массив объектов класса, содержащий сведения о нескольких спортсменах.

Вывести на экран фамилии всех игроков, выступающих за "Спартак".

Вывести на экран информацию о самом результативном игроке.

6.2. На базе класса “спортсмен” создать класс “ветеран спорта”. Данные: фамилия, название клуба, число результативных атак, количество наград, год ухода из спорта. Функции:

а) функция ввода информации о ветеране спорта;

б) функция вывода информации о ветеране спорта;

в) функция, возвращающая год ухода из спорта.

Создать массив объектов класса “ветеран спорта”. Вывести на экран информацию о ветеране, позже всех ушедшем из спорта. Найти среднюю результативность всех ветеранов.

6.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “спортсмен” корректирует число результативных атак;

б) для класса “ветеран спорта” увеличивает число наград на заданное значение;

Также создать виртуальную функцию вывода объектов классов “спортсмен”, “ветеран спорта” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “спортсмен”, “ветеран спорта”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

6.4. Для класса «спортсмен» перегрузить операцию «==» (равенство считается истинным, если число атак спортсмена равно заданному числу). Перегрузить операцию «+»(операция прибавляет необходимое количество результативных атак).

Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса «спортсмен». Вывести на экран всех спортсменов, число результативных атак у которых равно 100.


 

 

7.1. Создать класс для обработки информации о кубиках.

Сведения о кубиках: размер (длина ребра в сантиметрах), цвет (красный, желтый, зеленый, синий) и материал (деревянный, металлический, картонный).

Создать массив объектов класса, содержащий сведения о нескольких кубиках.

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

7.2. На базе класса “кубик” создать класс “строительный блок”. Информация о “строительном блоке” содержит название, длину ребра, вес, материал.

Создать массив объектов класса “строительный блок”.

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

7.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “кубик” выводит на экран размер и цвет кубика;

б) для класса “строительный блок” увеличивает вес на заданное значение;

Также создать виртуальную функцию вывода объектов классов “кубик”, “строительный блок” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “кубик”, “строительный блок”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

7.4. Для класса «строительный блок» перегрузить операцию «>» (условие выполнено, если объем блока больше указанного значения объема). Перегрузить операцию «+» (результатом операции будет новый блок, имеющий суммарные длину ребра и вес, если название и материал блоков совпадают). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса «строительный блок». Вывести на экран все блоки, объем которых больше 100. Увеличить каждый блок в массиве на первый элемент (для тех элементов, для которых это возможно).


 

 

8.1. Создать класс для обработки информации о веществах.

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

Создать массив объектов класса, содержащий сведения о нескольких веществах.

Найти удельные веса и названия всех веществ с указанной проводимостью.

Вывести на экран данные о веществах с удельным весом выше заданного и вывести этот массив на экран.

8.2. На базе класса “вещество” создать класс “отделочный материал”. Информация об отделочном материале содержит его название, плотность, проводимость, температуру и влажность в отделываемом помещении.

Создать массив объектов класса “отделочный материал”.

Вывести на экран названия всех отделочных материалов, которые можно использовать в помещении с указанной влажностью и температурой. Подсчитать количество материалов с указанной проводимостью.

8.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “вещество” выводит на экран название вещества и его удельный вес;

б) для класса “отделочный материал” увеличивает температуру в помещении на заданное значение;

Также создать виртуальную функцию вывода объектов классов “вещество”, “отделочный материал” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “вещество”, “отделочный материал”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

8.4. Для класса «отделочный материал» перегрузить операцию «<» (условие выполнено, если температура, для которой предназначен материал, меньше указанной). Перегрузить операцию «–» (уменьшает на заданное значение плотность отделочного материала). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса «отделочный материал». Вывести на экран материалы, которые выдерживают температуру ниже –30°С. Уменьшить плотность каждого материала на 100.


 

 

9.1. Создать класс для обработки информации о товарах.

Для каждого товара указывается наименование, объём партии, цена единицы товара.

Создать массив объектов класса, содержащий сведения о нескольких товарах.

Найти товар с самым большим объёмом партии и вывести на экран его суммарную стоимость и цену единицы товара.

9.2. На базе класса “товар” создать класс “импортируемый товар”.

Сведения об импортируемом товаре содержат название, страну-импортёр, объём партии, цену единицы товара, накладные расходы на импорт.

Создать и распечатать массив объектов класса “импортируемый товар”.

Вывести на экран названия стран-импортёров, поставляющих товар с объёмом партии выше заданного. Вывести на экран сведения о товаре с наименьшими накладными расходами на импорт.

9.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “товар” выводит на экран наименование и цена единицы товара;

б) для класса “импортируемый товар” выводит на экран название, страну-импортёр и накладные расходы на импорт;

Также создать виртуальную функцию вывода объектов классов “товар”, “импортируемый товар” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “товар”, “импортируемый товар”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

9.4. Для класса «товар» перегрузить операцию «>» (условие считается выполненным, если цена товара больше заданной цены). Перегрузить операцию «+» (складывает два товара с одинаковым названием. Новый товар сохраняет название, имеет суммарный объем партии, цену, равную средней цене суммируемых товаров). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса «товар». Вывести на экран товары с ценой больше 100. Сложить все товары в массиве с названием «книга», результат сохранить в переменной Х.

 


 

 

10.1. Создать класс для обработки информации об игрушках.

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

Создать массив объектов класса, содержащий сведения о нескольких игрушках.

Найти:

- название самой дорогой игрушки;

- сведения об игрушках, которые подходят как детям 4 лет, так и детям

10 лет.

10.2. На базе класса “игрушка” создать класс для обработки информации о поставке игрушек со склада.

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

Создать и распечатать массив объектов класса “поставляемая игрушка”.

Вывести на экран сведения об игрушках с количеством выше заданного. Вывести на экран название и количество игрушек с указанной ценой.

10.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “игрушка” выводит на экран название игрушки, ее стоимость в рублях;

б) для класса “поставляемая игрушка” корректирует возрастные границы детей и количество поставленных игрушек;

Также создать виртуальную функцию вывода объектов классов “игрушка”, “поставляемая игрушка” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “игрушка” и “поставляемая игрушка”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

10.4. Для класса «игрушка» перегрузить операцию «==» (равными считаются игрушки, если совпадают возрастные границы детей, которым они предназначены). Перегрузить операцию «+» (увеличивает на заданное значение цену игрушки). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса «игрушка». Вывести на экран все игрушки, равные первой в массиве. Увеличить цену всех игрушек на 100р.


 

 

11.1. Создать класс для обработки информации о сотрудниках учреждения.

Сведения об одном сотруднике включают фамилию и имя, стаж, оклад.

Создать массив объектов класса, содержащий сведения о нескольких сотрудниках.

Найти самого высокооплачиваемого работника. Вывести на экран сведения о сотрудниках, проработавших в учреждении не менее 10 лет и имеющих оклад не ниже среднего по учреждению.

11.2. На базе класса “сотрудник” создать класс “работник”. Информация о работнике содержит фамилию и имя, стаж, оклад, возраст, должность.

Создать и распечатать массив объектов класса “работник”.

Найти самого высокооплачиваемого работника заданной должности. Вывести на экран сведения о работниках со стажем выше указанного и возрастом старше заданного.

11.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “сотрудник” выводит на экран фамилию и имя;

б) для класса “работник” корректирует должность;

Также создать виртуальную функцию вывода объектов классов “сотрудник” и “работник” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “сотрудник” и “работник”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

11.4. Для класса «работник» перегрузить операцию «>» (большим считается работник, оклад которого больше). Перегрузить операцию «++» (увеличивает на 1 год стаж). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса «работник». Найти самого высокооплачиваемого работника. Увеличить стаж всех работников на 1 год.

 

 


 

 

12.1. Создать класс для обработки информации о монете.

Сведения о монете: название, номинал, год выпуска, масса.

Функции:

а) функция ввода информации о монете;

б) функция вывода информации о монете;

в) функция, возвращающая массу монеты;

г) функция, выводящая на экран название монеты, если она старше заданного года.

Создать массив объектов класса, содержащий сведения о нескольких монетах.

Найти самую массивную монету. Вывести на экран информацию обо всех монетах с указанным названием, старших заданного года.

12.2. На базе класса “монета” создать класс “медаль”. Данные: название, год выпуска, масса, стоимость, рег.№, фамилия владельца. Функции:

а) функция ввода информации о медали;

б) функция вывода информации о медали;

в) функция, выводящая на экран фамилию владельца, если у медали заданный рег.№.

Создать массив объектов класса “медаль”. Найти среднюю массу всех медалей. Вывести на экран фамилию владельца медали с заданным рег.№.

12.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “монета” выводит на экран название и год выпуска;

б) для класса “медаль” корректирует регистрационный №;

Также создать виртуальную функцию вывода объектов классов “сотрудник” и “работник” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “сотрудник” и “работник”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

12.4. Для класса «монета» перегрузить операцию «==» (монеты равны, если равны их названия и номинал). Перегрузить операцию «+» (увеличивает на заданное значение год выпуска монеты). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса «монета». Вывести на экран монеты, равные первой. Увеличить на 100 год выпуска первой и последней монет в массиве.


 

 

13.1. Создать класс для обработки информации о людях.

Сведения о каждом человеке содержат ФИО, рост и вес.

Функции:

а) функция ввода информации о человеке;

б) функция вывода информации о человеке;

в) функция, возвращающая вес человека;

г) функция, возвращающая рост человека.

д) функция, возвращающая ФИО человека.

Создать массив объектов класса, содержащий сведения о нескольких людях.

Вычислить средний вес людей. Вывести на экран информацию обо всех людях, а также фамилии самого высокого и самого тяжёлого человека.

13.2. На базе класса “ человек” создать класс “атлет”. Данные: ФИО, рост, вес, поднимаемый вес, количество встреч, количество побед. Функции:

а) функция ввода информации об атлете;

б) функция вывода информации об атлете;

в) функция, возвращающая количество встреч атлета с др. атлетами.

Создать массив объектов класса “атлет”. Вывести на экран ФИО самого высокого атлета. Подсчитать среднее количество встреч в массиве.

13.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “человек” выводит на экран ФИО;

б) для класса “атлет” корректирует количество побед;

Также создать виртуальную функцию вывода объектов классов “человек” и “атлет” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “человек” и “атлет”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

13.4. Для класса «человек» перегрузить операцию «==» (люди равны, если совпадают их фамилии). Перегрузить операцию «++» (увеличивает на 1 значение роста человека). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса «человек». Вывести на экран людей, равные последнему человеку в массиве. Увеличить на 1 рост всех людей в массиве в массиве.

 


 

 

14.1. Создать класс для обработки информации об учащемся.

Сведения об учащемся содержат ФИО, год обучения, среднюю оценку за текущий год. Функции:

а) функция ввода информации об учащемся;

б) функция вывода информации об учащемся;

в) функция, возвращающая среднюю оценку учащегося;

г) функция, возвращающая ФИО учащегося.

Создать массив объектов класса, содержащий сведения о нескольких учащихся.

Вычислить общий средний балл. Вывести на экран ФИО учащихся со средним баллом, превышающим общий средний балл.

14.2. На базе класса “учащийся” создать класс “студент”. Данные: ФИО, год обучения, среднюю оценку, специальность, факультет. Функции:

а) функция ввода информации о студенте;

б) функция вывода информации о студенте;

в) функция, возвращающая специальность студента.

Создать массив объектов класса “студент”. Вывести на экран ФИО студентов со средним баллом, превышающим 4,5. Подсчитать количество студентов, обучающихся по заданной специальности.

14.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “учащийся” выводит на экран ФИО и год обучения;

б) для класса “студент” корректирует специальность;

Также создать виртуальную функцию вывода объектов классов “учащийся” и “студент” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “учащийся” и “студент”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

14.4. Для класса «студент» перегрузить операцию «>» (условие считается выполненным, если средний балл студента больше заданного). Перегрузить операцию «++» (переводит студента на следующий курс). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса «студент». Вывести на экран студентов, средний балл которых. Перевести всех студентов второго курса на третий.


 

 

15.1. Создать класс “мебель” для описания предмета мебели. Информация о предмете мебели описывается названием, цветом, весом.

Функции класса:

а) ввод данных о предмете мебели;

б) вывод на экран информации о предмете мебели;

в) функция, возвращающая информацию о весе мебели;

г) функция, возвращающая информацию о названии мебели;

д) функция, выводящая на экран информацию о предмете мебели заданного цвета.

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

15.2. На базе класса “мебель” создать классы “стол” и “шкаф”.

Информация о столе описывается следующими данными: название, цвет, вес, площадь поверхности крышки, количество ножек. Функции:

а) ввод информации о столе;

б) вывод информации о столе на экран;

в) функция, возвращающая количество ножек.

Информация о шкафе описывается следующими данными: название, цвет, вес, количество секций, высота. Функции:

а) ввод информации о шкафе;

б) вывод информации о шкафе на экран;

в) функция, возвращающая высоту шкафа.

Создать массивы объектов классов “стол” и “шкаф”. Вычислить средние веса всех столов и шкафов. Вывести на экран информацию о столах с заданным количеством ножек. Вывести на экран информацию о шкафах с высотой больше заданной.

15.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “мебель” корректирует вес;

б) для класса “стол” корректирует количество ножек;

в) для класса “шкаф” выводит на экран цвет, количество секций, высоту;

Также создать виртуальную функцию вывода объектов классов “мебель”, “стол” и “шкаф” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “мебель”, “стол” и “шкаф”. Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

15.4. Для класса “мебель” перегрузить операцию «==» (предметы мебели считаются равными, если совпадают их названия) и перегрузить операцию «+» (операция увеличивает вес мебели на заданное количество килограммов). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса “мебель”. Вывести на экран информацию о предметах мебели, равных первому предмету из массива.. Увеличить вес предметов мебели с четными номерами на 10 кг, с нечетными — на 20 кг.

 

16.1. Создать класс «транспортное средство». Информация о транспортном средстве — это: название, мощность двигателя, максимальная скорость. Функции:

а) ввод данных о транспортном средстве;

б) вывод на экран информации о транспортном средстве;

в) функция, возвращающая название транспортного средства;

г) функция, возвращающая информацию о мощности двигателя;

д) функция, возвращающая максимальная скорость транспортного средства.

Создать массив объектов класса «транспортное средство». Подсчитать среднюю скорость транспортных средств. Вывести названия транспортных средств с мощностью двигателя выше заданной.

16.2. На базе класса “транспортное средство” создать классы “автомобиль” и “лошадь”. Данные класса “автомобиль”: название, мощность двигателя, максимальная скорость, тип кузова, расход топлива. Функции:

а) ввод данных об автомобиле;

б) вывод на экран информации об автомобиле;

в) функция, возвращающая тип кузова;

г) функция, выводящая на экран название автомобиля, если его расход топлива ниже заданного.

Данные класса “лошадь”: название, мощность двигателя, максимальная скорость, возраст, любимая пища. Функции:

а) ввод данных о лошади;

б) вывод на экран информации о лошади;

в) функция, возвращающая возраст;

г) функция, возвращающая любимую пищу.

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

16.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “транспортное средство” не определена;

б) для класса “автомобиль” корректирует тип кузова;

в) для класса “лошадь” выводит на экран кличку лошади.

Также создать виртуальную функцию вывода объектов классов “автомобиль” и “лошадь” на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “автомобиль” и “лошадь”. Вывести массив на экран. Откорректировать элементы массива и вывести клички лошадей. Откорректированный массив снова вывести на экран.

16.4. Для класса “автомобиль” перегрузить операцию “>” (большим считается тот автомобиль, скорость которого больше) и перегрузить операцию “+” (операция увеличивает на заданное значение мощность двигателя). Перегрузить операцию присваивания. Перегрузить операции ввода и вывода.

Создать массив объектов класса “автомобиль”. Увеличить мощность двигателя каждого автомобиля на произвольное значение. Найти автомобиль с наименьшей скоростью.

 


 

 

17.1. Создать класс для обработки информации о вычислительной машине.

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

а) функция ввода информации о вычислительной машине;

б) функция вывода информации о вычислительной машине;

в) функция вывода информации о годе выпуска вычислительной машины;

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

Создать массив объектов класса, содержащий сведения о нескольких вычислительных машинах.

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

17.2. На базе класса “вычислительная машина” создать класс “компьютер”. Данные о компьютере: название, производитель, год выпуска, объем памяти, частота процессора. Функции:

а) функция ввода информации о компьютере;

б) функция вывода информации о компьютере;

в) функция, которая выводит на экран объем памяти, если производитель соответствует заданному.

Создать массив объектов класса “компьютер”. Вывести на экран объем памяти компьютеров заданного производителя. Подсчитать количество компьютеров заданного производителя.

17.3. Для описанной иерархии классов создать виртуальную функцию, которая:

а) для класса “вычислительная машина” корректирует производителя;

б) для класса “компьютер” выводит на экран название, объем памяти, частоту процессора.

Также создать виртуальную функцию вывода объектов классов “вычислительная машина”и «компьютер» на экран.

Создать массив, вперемешку хранящий указатели на объекты классов “вычислительная машина”и «компьютер». Вывести массив на экран. Применить ко всем элементам массива виртуальную функцию. Массив снова вывести на экран.

17.4. Для класса «компьютер» перегрузить операцию «==» (равными считаются компьютеры, если совпадают частота процессора и объем памяти). Перегрузить операцию «+» (увеличивает на заданное значение объем памяти компьютера). Перегрузить операцию присваивания. Перегрузить <

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...