engineerklub | Дата: Понедельник, 30.10.2017, 11:32 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 28524
Статус: Offline
| Экзаменационная работа по дисциплине: «Объектно-ориентированное программирование». Билет №4
Форматы файлов: Microsoft Word Сдано в учебном заведении: СибГУТИ
Описание: Билет № 4
1. Требуется: 1) Оставить метод Proc только в классе TFigura; 2) Изменить программу так, чтобы после выполнения п.1 результат ее работы не изменился. {TFigura – фигура; TLine – линия; TRectangl – прямоугольник}
Type int=integer; TFigura=object X, Y: int; procedure Proc(X,Y:int); procedure Display; End; TLine=object (TFigura) procedure Proc(X,Y:int); procedure Display(); End; TRectangl=object (TLine) procedure Proc(X,Y:int); procedure Display; End; Procedure TFigura.Proc(X,Y:int); Begin End; Procedure TLine.Proc(X,Y:int); Begin {рисует цветом фона} Display (); X:= X; Y:= Y; {рисует заданным цветом} Display(); {реализация метода Proc класса TRectangl аналогична} End; Procedure TFigura.Display; begin {рисует символ *} end; Procedure TLine.Display; begin {рисует линию} end; Procedure TRectangl.Display; begin {рисует прямоугольник} end;
var p: TRectangl; begin … p.Proc(100,120); … end.
Указания к ответу на 1-ый вопрос билета: Чтобы ответить на поставленный в задаче вопрос надо определить: Выполнится ли в результате работы предложенного фрагмента программы метод TRectangl.Display или нет? Это уже почти и будет Вашим ответом. Как это определить? Проанализируйте работу программы, начиная с операторов выполняемой части (другими словами, с операторов раздела описания действий). Повторите это дважды: до внесения каких-либо изменений в приведенный фрагмент программы и после (если, конечно, Вы посчитаете необходимым что-либо изменить). Таким образом, проанализировав программу в первоначальном виде, Вам станет понятно: надо ли что-нибудь в ней изменять, дополнять и, если надо, аналогично проанализировав программу еще раз после внесения изменений, Вы проверите – правильно ли она работает, а именно: выполнится ли в результате ее работы метод TRectangl.Display или нет? Как проанализировать работу программы? Точно так же, как в лекциях анализируется работа программ из примеров 2.5 и 2.6. Так же, как там, Вам необходимо в ответе на данный вопрос билета изобразить цепочки вызовов методов: до внесения каких-либо изменений в код программы и после (если, конечно, Вы что-то измените). Важно! Не надо доводить приведенный фрагмент до полностью работающей программы. Если написано, что, например, здесь рисуется то-то, то пусть это так и остается – код вместо комментариев дописывать не требуется. Вы вносите изменения (редактируете, добавляете или удаляете) только в тот код, который написан.
Итак, ответом на 1-ый вопрос билета являются: 1) Цепочка вызовов методов до внесения каких-либо изменений в приведенный фрагмент программы; 2) Ответ на вопрос: выполнится ли в результате работы предложенного фрагмента программы метод TRectangl.Display или нет? если да – Ваш ответ закончен, если нет – переходите к п. 3); 3) Внесенные Вами изменения в код программы. (Не обязательно переписывать весь код программы, напишите только измененные строки, например, так: строка из программы и эта же строка после внесения изменений); 4) Цепочка вызовов методов после внесения Ваших изменений.
2. Какие обязательные методы должны присутствовать в классе-наследнике в случае наличия виртуального метода в классе-предке? а) конструктор и сам метод; б) конструктор, сам метод, тот же набор полей; в) сам метод с теми же параметрами; г) множество функций с одним и тем же именем виртуального метода, но с разными параметрами.
3. Возможность наследования компонентов из другого класса образует: а) дерево классов; б) стек классов; в) иерархию классов; г) очередь классов.
Указания к ответам на 2-ой и 3-ий вопросы билета: определения пишите полностью (а не просто буквы ответов).
Комментарии: Оценка - отлично!
скачать можно в разделе Объектно-ориентированное программирование
|
|
| |