4. Коллоквиум - методика его проведения и типовые вопросы (972454)
Текст из файла
Кафедра Компьютерных методов физики: программирование, первый курс, второй семестрЯзык программирования Си++Иванов А.П., Князева О.С.Семинар 4. Коллоквиум: методика его проведения итиповые вопросы.Коллоквиум проводится на семинарском занятии в середине семестра (обычно –до 1-го апреля) в форме тотального опроса с билетами. На семинаре, следующим заколлоквиумом, рекомендуется провести разбор типичных ошибок студентов при ответе навопросы.1. Билеты1. Билет1) Объектно–ориентированноепрограммирование:инкапсуляция,наследование, полиморфизм.2) Динамическая память.
Операторы newи delete.2. Билет1) Классы. Конструкторы, деструктор.2) Передача и возврат параметров вфункции по значению, по ссылке, поуказателю.7. Билет1) Перегрузка операторов «+» и «+=»,ключевое слово this.2) Передача и возврат параметров вфункции по значению, по ссылке, поуказателю.8. Билет1) Динамическаяnew и delete.память.Операторы2) Дружественные классы и функции(friend).3. Билет1) Статические методы и поля.9. Билет1) Ссылки.2) Наследование, модификаторы доступаprivate, protected, public.2) Полиморфизм, виртуальные функции.4. Билет1) Explicit-конструкторы.2) Абстрактные классы.5. Билет1) Оператор «::». Определение теламетодов вне класса.2) Потоки ввода–вывода Си++ cin иcout и их использование.10.
Билет1) Передача и возврат параметров вфункции по значению, по ссылке, поуказателю.2) Множественное наследование.11. Билет1) Перегрузкатипа.оператораприведения2) Ссылки.6. Билет1) Перегрузка операторов и функций.12. Билет1) Указатели.2) Ссылки.2) Полиморфизм, виртуальные функции.07.11.20111Кафедра Компьютерных методов физики: программирование, первый курс, второй семестр13.
Билет1) Наследование,модификаторыдоступа private, protected, public.2) Перегрузка операторов ввода–вывода.14. Билет1) Дружественные классы и функции(friend).2) Виртуальный деструктор.15. Билет1) Полиморфизм, виртуальные функции.2) Динамическая память. Операторы newи delete.16. Билет1) Виртуальный деструктор.2) Передача и возврат параметров вфункции по значению, по ссылке, поуказателю.17. Билет1) Значения аргументов функций поумолчанию.2) Виртуальный деструктор.18. Билет1) Чистовиртуальныеабстрактные классы.функции,2) Указатели.20. Билет1) Виртуальное наследование.2) Оператор «::».
Определение теламетодов вне класса.21. Билет1) Перегрузка операторов ввода–вывода.2) Динамическая память. Операторы newи delete.22. Билет1) Перегрузка операторов «+» и «+=»,ключевое слово this.2) Чистовиртуальныеабстрактные классы.функции,23. Билет1) Значения аргументов функций поумолчанию.2) Виртуальное наследование.24. Билет1) Explicit-конструкторы.2) Множественное наследование.25. Билет1) Перегрузкатипа.оператораприведения2) Наследование, модификаторы доступаprivate, protected, public.19. Билет1) Множественное наследование.2) Дружественные классы и функции(friend).07.11.20112Кафедра Компьютерных методов физики: программирование, первый курс, второй семестр2. Факультативные заданияТак как коллоквиум проводится на семинарском занятии, то у студентов появляютсядополнительные 2 недели, которые следует использовать для доделки и сдачи всехвыданных ранее задач.
Практика показывает, что к этому моменту «хвосты» имеет, какминимум, половина группы.Студенты, которые успешно сдали все предыдущие задания, могут получитьфакультативное задание по теме «полиморфизм». Учет этих факультативных задачотличается от учета обычных заданий: они не являются обязательными, то есть, ихотсутствие – не ухудшает оценки за успеваемость в течение семестра, хотя их наличие –улучшает эту оценку.
Если студент не успевает их сдать до 5–го семинара, то такомустуденту рекомендуется сначала сдавать плановые, обычные задания и лишь когдаплановые задания сданы – возвращаться к выполнению факультативных заданий.1. ВариантСоздайте абстрактный класс – числа. Определите в нем чистую виртуальную функцию –модуль числа. Создайте на его базе 2 производных класса – рациональные числа икомплексные числа. Создайте массив, которые содержит указатели на объекты этихклассов. Напишите функцию вычисляющую сумму модулей чисел в массиве.2. ВариантСоздайте абстрактный класс – уравнения. Определите в нем чистую виртуальнуюфункцию solve() – решение уравнения. Создайте на его базе 2 производных класса –линейные уравнения вида ax+b=0 и уравнения вида sin(x)=a.
Создайте массив, которыесодержит указатели на объекты этих классов. Напишите функцию вычисляющуюинтервал, в котором лежат решения уравнений в массиве.3. ВариантСоздайте абстрактный класс – геометрических объектов. Определите в нем чистуювиртуальную функцию – площадь фигуры. Создайте на его базе 2 производных класса –окружность на плоскости и ромб на плоскости. Создайте массив, которые содержитуказатели на объекты этих классов. Напишите функцию, вычисляющую суммарнуюплощадь всех объектов в массиве.4. ВариантСоздайте абстрактный класс – геометрических объектов.
Определите в нем чистуювиртуальную функцию – объем объекта. Создайте на его базе 2 производных класса – куби сфера. Создайте массив, которые содержит указатели на объекты этих классов.Напишите функцию, вычисляющую суммарный объем всех объектов в массиве.5. ВариантСоздайте абстрактный класс – геометрических объектов. Определите в нем чистуювиртуальную функцию – площадь фигуры. Создайте на его базе 2 производных класса –равносторонний треугольник и квадрат. Создайте массив, которые содержит указатели наобъекты этих классов.
Напишите функцию, вычисляющую суммарную площадь всехобъектов в массиве.6. ВариантСоздайте абстрактный класс – геометрических объектов. Определите в нем чистуювиртуальную функцию – объем объекта. Создайте на его базе 2 производных класса –07.11.20113Кафедра Компьютерных методов физики: программирование, первый курс, второй семестрпирамида и цилиндр. Создайте массив, которые содержит указатели на объекты этихклассов. Напишите функцию, вычисляющую суммарный объем всех объектов в массиве.7. ВариантСоздайте абстрактный класс – геометрических объектов.
Определите в нем чистуювиртуальную функцию – поворот фигуры на указанное количество градусов. Создайте наего базе 2 производных класса – равносторонний треугольник и квадрат. Создайте массив,которые содержит указатели на объекты этих классов. Напишите функцию,поворачивающую каждый объект массива на один и тот же угол.8. ВариантЕсть два набора «зверей» – волки и зайцы. Количество зверей определяется пользователемв самом начале (например, параметрами командной строки).Рождаются все существа в случайном месте экрана 25 рядов на 80 столбцов, за один ходволк может перемеситься на 2 клеточки в случайном направлении, заяц перемещается на 1клетку в случайном направлении (направление – одна из четырех сторон света).Граничные условия – периодические, т.е.
если существо переместилось за границу экрана,то оно появляется на противоположной его стороне.Заяц живет 10 ходов. Волки живут 20 ходов. Волк, съевший 5 зайцев размножается,порождая еще одного волка в той точке, где он находится. Зайцы размножаются каждые 5ходов – в тех клетках, где они находятся. Заяц может быть съеден волком, если он попална одну клетку с волком, если волков и зайцев в клетке несколько, то первый же волксъедает всех зайцев.Необходимо создать абстрактный класс – «зверь» и 2 производных класса – «волки» и«зайцы».Все звери хранятся в массиве указателей на их абстрактный базовый класс, реализующийвсе нужные методы (в базовом классе соответствующие методы должны быть чистыми) исодержащий все данные о возрасте, сытости и положении существа на экране.Считаем, что между кадрами проходят одинаковые интервалы времени, каждый кадррассчитывается в виде массива символов 25х80 (заяц *, волк #, остальное – пробел) ивыводится на экран с небольшой задержкой.Задание может варьироваться заданием разных правил взаимодействия объектов: волкимогут при каких-то условиях поедать друг друга, несколько зайцев могут убить волка,находящегося не далее некоторого расстояния от них и т.п.07.11.20114.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.