Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Решение задачи 1

Читайте также:
  1. I. Цель и задачи Всероссийского
  2. II. Цели, принципы и задачи государственной демографической политики в Ульяновской области на период до 2025 года
  3. III. Цели, принципы, приоритетные направления и задачи государственной национальной политики Российской Федерации
  4. XIV. Неприятное решение
  5. АКТУАЛЬНЫЕ ЦЕЛИ и ЗАДАЧИ ФАИ ООУ
  6. Алгоритм решения задачи.
  7. Анализ условия задачи.

Задача

 

Экспериментальная модель робота установлена на прямом рельсе с корзинами и может перемещаться по нему влево и вправо. Робот также может проверять наличие апельсинов в корзине, брать в клешню апельсин (и только один) и класть его в другую корзину. Надо разработать язык управления роботом и выполнить с помощью него следующие задачи:

1. Переложить все апельсины из первого ящика во второй.

2. Робот стоит у пустого первого ящика. Во всех остальных ящиках лежит различное количество апельсинов, причем точно известно, что в одном из ящиков лежит ровно один апельсин (в остальных, кроме пустого первого, больше). Робот должен найти его и перенести в первый ящик.

Цель работы

Закрепить понятие императивного языка программирования, потренироваться в написании собственного императивного языка.

Описание работы

 

Любая программа на императивном языке программирования состоит из набора инструкций и функций, последовательное выполнение которых приводит к требуемому результату. Для решения поставленных задач требуется разработать команды для робота.

Список инструкций, выполняемых роботом:

· LEFT(<число>) – робот перемещается на заданное число ящиков влево

· RIGHT(<число>) - робот перемещается на заданное число ящиков вправо

· INBEGINING – робот перемещается в начало рельса к первому ящику

· PUT – робот кладет апельсин в ящик, напротив которого находится

· TAKE – робот берет апельсин в клешню

· BEGIN – робот начинает работу

· END – робот завершает работу

· IF (<условие>) THEN {<блок_инструкций_1>} ELSE {<блок_инструкций_2>} – робот проверяет выполнение условия в круглых скобках (например, проверяет наличие апельсинов в ящике) и выполняет блок инструкций 1, если верно, и выполняет блок инструкций 2 в противном случае

· WHILE (<условие>) DO {<блок_инструкций>} – робот будет выполнять блок инструкций, пока будет выполняться условие в круглых скобках (например, пока проверка апельсинов в текущем ящике будет давать положительный результат)

Для проверки наличия апельсинов в ящике будет использоваться функция CHECK, которая может принимать значения TRUE, если апельсины есть, и FALSE в противном случае. В данных задачах это будет условием начала выполнения каких-либо инструкций.

 

 

Решение задачи 1

 

В данной задаче, используется всего 2 ящика, первый наполнен апельсинами, второй – пустой. Робот первоначально стоит в начале рельса у ящика 1, второй ящик находится справа от первого. Чтобы переложить все апельсины из первого ящика во второй, робот должен:

1) Проверить, если ли еще апельсины в первом ящике;

2) Если есть, то взять апельсин, переместиться вправо на один ящик, положить апельсин и переместиться влево на один ящик;

3) Выполнять действия 1-2 до того момента, когда после проверки не обнаружит, что апельсины в первом ящике кончились;

4) При завершении работы выключиться.

Пример программы выполнения данной задачи:

BEGIN

WHILE (CHECK=1) DO //робот проверяет наличие апельсинов

{ // и выполняет действия в {}, если результат проверки истина

TAKE

RIGHT(1)

PUT

LEFT(1)

}

END


Дата добавления: 2015-11-04; просмотров: 35 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Доклад Гороховой Светланы Витальевны| Мой личный опыт

mybiblioteka.su - 2015-2024 год. (0.007 сек.)