Урок 12. Использование условий

Цель урока: изучить использование условий, понятие условия, цикл с предусловием.


Исполнитель Робот может оценить обстановку вокруг себя с помощью проверки специальных условий.

Условие – вопрос, на который исполнитель может дать один из двух ответов: да(условие истинно) или нет (условие ложно).

Система условий исполнителя Робот

WallFromLeftИстинно, если слева от Робота стена
WallFromRightИстинно, если справа от Робота стена
WallFromUp Истинно, если сверху от Робота стена
WallFromDown  Истинно, если снизу от Робота стена
FreeFromLeft Истинно, если слева от Робота свободно
FreeFromRight Истинно, если справа от Робота свободно
FreeFromUp Истинно, если сверху от Робота свободно
FreeFromDownИстинно, если снизу от Робота свободно
CellIsPaintedИстинно, если ячейка, в которой находится Робот, закрашена
CellIsFree Истинно, если ячейка, в которой находится Робот, не закрашена

Цикл с предусловием

Цикл с параметром используется при составлении алгоритма в том случае, когда заранее известно количество повторений. Однако часто до выполнения цикла количество повторений не известно.

Алгоритмическая конструкция цикл с предусловием (цикл «пока») — способ организации цикла, при котором количество выполнений команд тела цикла зависит от истинности или ложности условия цикла.
Цикл с предусловием используется в том случае, когда количество повторений тела цикла заранее не известно, но известно условие продолжения работы.

Условие цикла определяет, как долго будет выполняться цикл. Пока условие истинно, выполняются команды, составляющие тело цикла. Цикл прекращает выполняться тогда, когда условие становится ложным. Цикл с предусловием имеет такое название, поскольку проверка условия предваряет выполнение команд тела цикла.

Алгоритмическая конструкция цикла с предусловием может изображаться на блок-схеме следующим образом:

В данной конструкции в прямоугольнике(-ах) записываются повторяющиеся команды алгоритма (тело цикла), которые совершаются, пока верно условие (Да). При этом после каждого выполнения команд тела цикла происходит проверка, истинно ли условие. Как только условие станет ложным (Нет), цикл завершается.

Если условие сразу ложно, то цикл не выполнится ни разу. Если условие в цикле будет всегда истинно (всегда Да), то такой цикл не сможет завершиться. Возникшую ситуацию называют зацикливанием.

Для записи цикла с предусловием используется команда while. Формат записи команды следующий:

while <условие> do
  begin
     тело цикла;
  end;

Строка while <условие> do является заголовком цикла. Эту строку можно прочитать следующим образом: «Пока верно условие, делай». Команды begin и end; в данном случае играют роль операторных скобок.

Пример 1. Выполним проверяемое задание w2. Необходимо закрасить коридор переменной длины.

uses Robot;
begin
  Task('w2');
  while FreeFromRight do
  begin
    paint;
    right;
  end; 
  paint;
end. 

Пример 2. Создать поле размером 10х10. Составить программу, в результате которой Робот переместится из начального положения и закрасит клетки вдоль верхней границы поля.

begin
  field(10, 10);
{перемещение Робота в левый верхний угол}
  while FreeFromLeft do
    left;
  while FreeFromUp do
    up;
//Робот закрашивает клетки
//вдоль верхней границы
  while FreeFromRight do
  begin
    paint;
    right;
  end; 
  paint;
end. 

Результат работы программы:


Задания по теме урока

Если необходимо, скачайте и установите среду разработки PascalABC.NET (скачать)

Задание 1. Составьте программу для решения проверяемого задания w3 из встроенного задачника (дойти до конца стены переменной длины). Обращайте внимание на начальное и конечное положение Робота.

Задание 2. Составьте программу для решения проверяемого задания w4 из встроенного задачника (дойти до конца закрашенного ряда клеток). Обращайте внимание на начальное и конечное положение Робота.

Задание 3.  Составьте программу для решения проверяемого задания w9 из встроенного задачника (обойти стену с закрашиванием). Обращайте внимание на начальное и конечное положение Робота.

Задание 4. Создайте поле размером 10х10. Составьте программу, в результате которой Робот закрасит одну из диагоналей поля, используя цикл while.

Задание 5. Создайте поле размером 9х9. Составьте программу, в результате которой Робот закрасит все клетки по краю поля, используя цикл while.

Дополнительное задание

Это изображение имеет пустой атрибут alt; его имя файла - hw-e1653285769766.png

Домашнее задание

§ 11 учебного пособия, ответить на вопросы


Форма отправки решений

Форма видна только зарегистрированным пользователям.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *