Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2009, 13:32   #1
polyarnik
Пользователь
 
Регистрация: 04.06.2009
Сообщений: 11
По умолчанию Вопрос по обьектно-ориентированному программированию - pascal

Помогите/ответьте, пожалуйста на следующий вопрос:

Требуется внести в программу необходимые исправления и дополнения, чтобы в результате выполнения команды bs.Move(b,5) в клетке (b,5) появился король.
{TChessMan – шахматная фигура; TKing – король; TBishop – слон}

Type TColumns=’a’..’h’;
TRows=1..8;
TChessMan=object
Column: TColumns;
Row: TRows;
procedure Move (C: TColumns; R: TRows); virtual;
procedure Clear; virtual;
procedure Display;
End;
TKing=object (TChessMan)
procedure Display;
End;
TBishop=object (TChessMan)
procedure Display;
End;
Procedure TChessMan.Move (C: TColumns; R: TRows);
Begin
Clear;
Column:= C;
Row:= R;
Display;
End;


-----------------------------------------------------------------------

procedure ChessMan.Clear;
begin
{Очистка клетки шахматной доски. В теле метода не используются никакие методы. Для всех классов реализация очистки одинаковая.}
end;
Procedure TChessMan.Display;
begin
{рисует символ *}
end;
Procedure TKing.Display;
begin
{рисует Короля}
end;
Procedure TBishop.Display;
begin
{рисует Слона}
end;

var bs: TKing;
begin

bs.Move(b,5);

end.


Указания к ответу на вопрос:
Чтобы ответить на поставленный в задаче вопрос надо определить: Выполнится ли в результате работы предложенного фрагмента программы метод TKing.Display или нет? Это уже почти и будет Вашим ответом.
Как это определить? Проанализируйте работу программы, начиная с операторов выполняемой части (другими словами, с операторов раздела описания действий). Повторите это дважды:
до внесения каких-либо изменений в приведенный фрагмент программы и после (если, конечно, Вы посчитаете необходимым что-либо изменить). Таким образом, проанализировав программу в первоначальном виде, Вам станет понятно: надо ли что-нибудь в ней изменять, дополнять и, если надо, аналогично проанализировав программу еще раз после внесения изменений, Вы проверите – правильно ли она работает, а именно: выполнится ли в результате ее работы метод TKing.Display или нет?

Вам необходимо в ответе на данный вопрос изобразить цепочки вызовов методов: до внесения каких-либо изменений в код программы и после (если, конечно, Вы что-то измените).
Важно! Не надо доводить приведенный фрагмент до полностью работающей программы. Если написано, что, например, здесь рисуется то-то, то пусть это так и остается – код вместо комментариев дописывать не требуется. Вы вносите изменения (редактируете, добавляете или удаляете) только в тот код, который написан.
Итак, ответом на 1-ый вопрос являются:
1) Цепочка вызовов методов до внесения каких-либо изменений в приведенный фрагмент программы;
2) Ответ на вопрос: выполнится ли в результате работы предложенного фрагмента программы метод TKing.Display или нет?
если да – Ваш ответ закончен, если нет – переходите к п. 3);
3) Внесенные Вами изменения в код программы.
(Не обязательно переписывать весь код программы, напишите только измененные строки, например, так: строка из программы и эта же строка после внесения изменений);
4) Цепочка вызовов методов после внесения Ваших изменений.

Огромное спасибо всем, кто помогает.
polyarnik вне форума Ответить с цитированием
Старый 18.12.2009, 08:14   #2
polyarnik
Пользователь
 
Регистрация: 04.06.2009
Сообщений: 11
По умолчанию

Неужели никто не может помочь? Я в долгу не останусь...
polyarnik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по Pascal. NitriNKa Помощь студентам 5 03.05.2009 20:50
Вопрос по программированию в C++(ООП) Katya Melody Помощь студентам 2 24.04.2009 01:08
Вопрос по программированию Mister Been Свободное общение 13 01.06.2008 20:23
Вопрос по программированию Mister Been Помощь студентам 0 31.05.2008 13:32