Четвер, 22.01.2026, 12:31
Вітаю Вас Гість | RSS

Наш журнал

Меню сайту
Категорії розділу
Астрономія [2]
Статті з астрономії
Інформатика [3]
Статті з інформатики та інформаційних технологій
Природознавство [0]
Статті з природознавства
Фізика [3]
Статті з фізики
Наше опитування
Оцініть мій сайт
Всього відповідей: 84
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0
Форма входу

Каталог статей

Головна » Статті » Інформатика

Лабіринт для виконавця Робот в Pascal ABC(Net)

Виконавець – це пристрій, який може виконувати певний набір команд. Зазвичай із виконавцем пов'язане деяке поле, на якому він працює. Традиційно виконавці використовують для швидкого навчання основним конструкціям мови програмування. У Pascal ABC реалізовані виконавці Робот та Кресляр. Виконавець Робот діє прямокутному клітинному полі. Між деякими клітинами, а також периметром поля знаходяться стіни. Основна мета Робота – зафарбувати зазначені клітини та переміститися у кінцеву клітинку.

Для цього виконавця є стандартні завдання, а також можна створювати нові за допомогою модуля RobotMake. Для цього необхідно змінити файл RobTasks.pas, який знаходиться в каталозі C:\Program Files\PABC\UNITS\Tasks на цей файл з кодом завдання.

На основі незначної зміни програми генерації лабіринту MazeGen.pas, файл з якої знаходиться в каталозі C:PABCWorkSAMPLESProjectsLabyrinth ми створили завдання для виконавця Робот - знайти вихід з лабіринту.

Щоб викликати завдання, замініть файл RobTasks.pas на Вашому комп'ютері.

uses Robot, RobTasks;

begin

Task('MyRob4');

end.

Віктно завдання виглядає так:

Необхідно потрапити на зафарбовану клітинку - це вихід з лабіринта. 
Ось що у нас вийшло. Це программа.

Код: 

 

uses Robot, RobTasks;
 var i: integer;

 label R_Right,R_Up,R_Left,R_Down;

begin
  Task('MyRob4');
   while CellIsFree = true do
   begin
   R_Right: if FreeFromRight = true then Right
            else goto R_Down;

                 R_Up: if FreeFromUp = true then Up
                       else goto R_Right;

                            R_Left: if FreeFromLeft = true then Left
                                    else goto R_Up;

                                          R_Down: if FreeFromDown = true then Down
                                                 else goto R_Left;

   end
end.

 

Тільки не забудьте замінити файл RobTasks.pas, який знаходиться в каталозі C:\Program Files\PABC\UNITS\Tasks на цей файл з кодом завдання.

 

Категорія: Інформатика | Додав: fiziki (17.01.2017)
Переглядів: 5436 | Рейтинг: 0.0/0
Всього коментарів: 0
Ім`я *:
Email *:
Код *:
Пошук
Друзі сайту