Описание классов и тексты методов задачи "Об обезьяне и бананах" (Приложение)

Страницы работы

Содержание работы

Приложение

Ниже приводятся описания классов и тексты методов задачи "Об обезьяне и бананах", рассмотренной в разделе 3.4.

Класс Обезьяны(подкласс класса Объект)

Переменные экземпляра: координаты, наЯщике,

                                             держитБананы

Методы экземпляра:

взятьБананы

   "Обезьяна берет бананы"

 (Ящик координаты = СвязкаБананов координаты) &

 (сам наЯщике)

       еслиИстина: [сам держитБананы: истина.

                               сам ответ: ' Обезьяна взяла бананы'.

 сам ответ: ' Ура!']

       еслиЛожь: [сам ответ: ' Обезьяна не может взять бананы']

держитБананы

    "Выдает значение 'истина' или 'ложь'  в зависимости от состояния обезьяны"

 ^держитБананы

держитБананы: экзЛогический

   "Устанавливает состояние обезьяны"

держитБананы:= экзЛогический

достатьБананы

"Обезьяна добывает бананы"

сам держитБананы

   еслиИстина: [сам ответ: ' Бананы у обезьяны. Ура!']

   еслиЛожь: [сам наЯщике  еслиИстина:[

                          сам координаты = СвязкаБананов координаты

                               еслиИстина: [сам взятьБананы]

                              еслиЛожь: [сам слезтьСЯщика;

                                                           подвинутьЯщикКБананам;

                                                           залезтьНаЯщик;

                                                           взятьБананы]

]

                                               еслиЛожь: [

                                 сам координаты = Ящик координаты

                                                     еслиИстина: [

                          сам координаты = СвязкаБананов координаты

                                еслиИстина: [сам залезтьНаЯщик;

взятьБананы]

                               еслиЛожь: [сам подвинутьЯщикКБананам;

        залезтьНаЯщик;

                                                           взятьБананы]

                                                                        ]

                                                 еслиЛожь: [

                       СвязкаБананов координаты = Ящик координаты

                                еслиИстина: [сам подойтиКЯщику;

   залезтьНаЯщик;

  взятьБананы]

                                еслиЛожь: [сам подойтиКЯщику;

  подвинутьЯщикКБананам;

 залезтьНаЯщик;

 взятьБананы]

                                                                  ]

                                                               ]

                        ]

забратьсяНаЯщик

   "Обезьяна залезает на ящик"

 сам наЯщике

    еслиИстина: [сам ответ: ' Обезьяна уже на ящике!']

    еслиЛожь:[(сам координаты = Ящик координаты)

                еслиЛожь: [сам ответ: ' Обезьяна не подошла   к ящику!']

                          еслиИстина:[сам наЯщике: истина.

                                                 сам ответ: ' Обезьяна забралась на ящик']

                      ]

Похожие материалы

Информация о работе