«Весна — лето 2024»

Презентация "Использование условий"

Презентация по теме "Использование условий"

Олимпиады: Информатика 1 - 11 классы

Содержимое разработки

Использование условий

Использование условий

Понятие условия В жизни человека принятие решений зачастую зависит от различных условий. Если на улице идет дождь, то нужно взять с собой зонтик; если хорошо подготовился к уроку, то получишь высокую отметку, иначе низкую; пока не выполнил домашнее задание, не будешь развлекаться и др. Человек способен понимать условия, сформулированные в произвольной форме. Но для того, чтобы Робот  или другой исполнитель мог принимать решения, нужно «научить» его «понимать» условия. Условием  для исполнителя является понятное исполнителю высказывание, которое может быть истинным (соблюдаться) либо быть ложным (не соблюдаться). Примеры использования условий а) Правила дорожного движения Если горит зеленый свет, можно переходить улицу. б) Фольклор

Понятие условия

  • В жизни человека принятие решений зачастую зависит от различных условий. Если на улице идет дождь, то нужно взять с собой зонтик; если хорошо подготовился к уроку, то получишь высокую отметку, иначе низкую; пока не выполнил домашнее задание, не будешь развлекаться и др.
  • Человек способен понимать условия, сформулированные в произвольной форме. Но для того, чтобы Робот  или другой исполнитель мог принимать решения, нужно «научить» его «понимать» условия.
  • Условием  для исполнителя является понятное исполнителю высказывание, которое может быть истинным (соблюдаться) либо быть ложным (не соблюдаться).
  • Примеры использования условий

а) Правила дорожного движения

  • Если горит зеленый свет, можно переходить улицу.

б) Фольклор

  • Выбор пути сказочными героями.
Система условий для учебного компьютерного исполнителя Робот WallFromLeft Истинно, если слева от Робота стена WallFromRight Истинно, если справа от Робота стена WallFromUp Истинно, если сверху от Робота стена WallFromDown Истинно, если снизу от Робота стена FreeFromLeft Истинно, если слева от Робота свободно FreeFromRight Истинно, если справа от Робота свободно FreeFromUp Истинно, если сверху от Робота свободно FreeFromDown Истинно, если снизу от Робота свободно CellIsPainted Истинно, если ячейка, в которой находится Робот, закрашена CellIsFree Истинно, если ячейка, в которой находится Робот, не закрашена

Система условий для учебного компьютерного исполнителя Робот

WallFromLeft

Истинно, если слева от Робота стена

WallFromRight

Истинно, если справа от Робота стена

WallFromUp

Истинно, если сверху от Робота стена

WallFromDown

Истинно, если снизу от Робота стена

FreeFromLeft

Истинно, если слева от Робота свободно

FreeFromRight

Истинно, если справа от Робота свободно

FreeFromUp

Истинно, если сверху от Робота свободно

FreeFromDown

Истинно, если снизу от Робота свободно

CellIsPainted

Истинно, если ячейка, в которой находится Робот, закрашена

CellIsFree

Истинно, если ячейка, в которой находится Робот, не закрашена

Образцы истинных и ложных условий для исполнителя Робот

Образцы истинных и ложных условий для исполнителя Робот

  • Рассмотрим начальную обстановку поля Робота:
  • Для Робота будут истинны следующие условия:
  • WallFromLeft
  • WallFromUp
  • FreeFromRight
  • FreeFromDown
  • CellIsPainted
  • Ложными будут условия :
  • WallFromRight
  • WallFromDown
  • FreeFromLeft
  • FreeFromUp
  • CellIsFree
Цикл с предусловием

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

  • Цикл  с параметром используется при составлении алгоритма в том случае, когда заранее известно количество повторений. Однако часто до выполнения цикла количество повторений не известно.
  • Пример 11.2.  Вы с родителями пошли в лес собирать грибы. Ваши действия можно описать командами: найти гриб, срезать гриб, положить гриб в корзину. Эти действия будут выполняться в цикле, но вы заранее не знаете, сколько грибов поместится в корзину. Поэтому следует говорить не о количестве повторений (количестве грибов), а об условии, при котором вы будете продолжать сбор грибов: пока корзина не заполнена.
Алгоритмическая конструкция цикл с предусловием (цикл «пока») — способ организации цикла, при котором количество выполнений команд тела цикла зависит от истинности или ложности условия цикла.  Цикл  с предусловием используется в том случае, когда количество повторений тела цикла  заранее не известно, но известно условие продолжения работы. Условие цикла определяет, как долго будет выполняться цикл. Пока условие истинно, выполняются команды, составляющие тело цикла.  Цикл  прекращает выполняться тогда, когда условие становится ложным.  Цикл  с предусловием имеет такое название, поскольку проверка условия предваряет выполнение команд тела цикла. Алгоритмическая конструкция цикла с предусловием может изображаться на блок-схеме следующим образом: Если условие в цикле будет всегда истинно (всегда Да), то такой цикл не сможет завершиться. Возникшую ситуацию называют  зацикливанием .

Алгоритмическая конструкция цикл с предусловием (цикл «пока») — способ

организации цикла, при котором количество выполнений команд тела цикла зависит от

истинности или ложности условия цикла.

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

заранее не известно, но известно условие продолжения работы.

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

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

когда условие становится ложным.  Цикл  с предусловием имеет такое название,

поскольку проверка условия предваряет выполнение команд тела цикла.

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

следующим образом:

Если условие в цикле будет всегда истинно

(всегда Да), то такой цикл не сможет завершиться.

Возникшую ситуацию называют  зацикливанием .

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

Для записи цикла с предусловием используется команда while.

Формат записи команды следующий:

while  условие   do

begin

тело цикла;

end ;

Строка  while  условие   do  является заголовком цикла.

Эту строку можно прочитать следующим образом: «Пока верно условие, делай».

Команды  begin  и  end ; в данном случае играют роль операторных скобок.

Пример 11.3.  Напишем программу для решения задачи w2 из встроенного задачника. Робот  должен закрасить коридор переменной длины. В данной задаче нам не известна длина коридора, но известно, что  Робот  может двигаться, пока справа пусто, и закрашивать клетки: Пока  справа пусто,  повторять закрасить; вправо. После прохода всего коридора  Робот  должен закрасить последнюю клетку. Это действие происходит после выполнения цикла, так как для последней клетки условие «справа пусто» уже не выполняется. uses  Robot ; begin  Task (‘ w2’ ); while  FreeFromRight do begin paint ; right ; end ;  paint ; end .

Пример 11.3.  Напишем программу для решения задачи w2 из встроенного задачника.

Робот  должен закрасить коридор переменной длины.

В данной задаче нам не известна длина коридора, но известно, что  Робот  может

двигаться, пока справа пусто, и закрашивать клетки:

Пока  справа пусто,  повторять

закрасить;

вправо.

После прохода всего коридора  Робот  должен закрасить последнюю клетку.

Это действие происходит после выполнения цикла, так как для последней клетки

условие «справа пусто» уже не выполняется.

uses Robot ;

begin

Task (‘ w2’ );

while FreeFromRight do

begin

paint ;

right ;

end ;

paint ;

end .

Пример 11.4.  Напишем программу для решения следующей задачи.  Робот  находится в верхнем левом углу поля. Снизу от Робота вдоль всего поля расположена горизонтальная линия с проходом в одну клетку. Составить алгоритм, выполнив который Робот   сможет пройти через проход и закрасить клетку. Расположение прохода заранее не известно. Мы знаем, что проход не ограничен стеной снизу.  Робот  может двигаться вправо до тех пор, пока внизу есть стена: Пока  снизу стена,  повторять вправо.  Робот  остановится в той клетке, у которой снизу нет стены. После этого  Робот  должен сдвинуться вниз и закрасить клетку. 1 2 uses  Robot ,  RobTasks ; 3 begin 4 Task ( ‘myrob3’ ); 5 while  WallFromDown do 6 right ; 7 down ; 8 paint ; end .   Модуль RobTasks, можно скачать по адресу  http://e-vedy.adu.by/mod/resource/view.php?id=25684

Пример 11.4.  Напишем программу для решения следующей задачи. 

Робот  находится в верхнем левом углу поля. Снизу от Робота вдоль всего поля

расположена горизонтальная линия с проходом в одну клетку. Составить алгоритм,

выполнив который Робот   сможет пройти через проход и закрасить клетку.

Расположение прохода заранее не известно.

Мы знаем, что проход не ограничен стеной снизу.  Робот  может двигаться вправо до тех

пор, пока внизу есть стена:

Пока  снизу стена,  повторять

вправо.

Робот  остановится в той клетке, у которой снизу нет стены.

После этого  Робот  должен сдвинуться вниз и закрасить клетку.

1

2

uses Robot , RobTasks ;

3

begin

4

Task ( ‘myrob3’ );

5

while WallFromDown do

6

right ;

7

down ;

8

paint ;

end .

  Модуль RobTasks, можно скачать по адресу  http://e-vedy.adu.by/mod/resource/view.php?id=25684

Задания

Задания

  • Напишите программу для решения задач w3 и w8 из встроенного задачника. Обращайте внимание на начальное и конечное положение Робота.
  • Робот  находится на квадратном поле неизвестного размера. Начальное положение Робота — верхний левый угол. Составьте и выполните алгоритм, по которому  Робот  переместится из начального положения в нижний правый угол и закрасит все клетки своего пути. На каком (на каких) из рисунков изображено решение этой задачи? Почему?
3.* Решите задачу w10 из встроенного задачника. Напишите вспомогательный алгоритм для обхода одной стены.

3.* Решите задачу w10 из встроенного задачника.

Напишите вспомогательный алгоритм для обхода одной стены.

Получите свидетельство о публикации сразу после загрузки работы



Получите бесплатно свидетельство о публикации сразу после добавления разработки


Серия олимпиад «Весна — лето 2024»



Комплекты учителю



Качественные видеоуроки, тесты и практикумы для вашей удобной работы

Подробнее

Вебинары для учителей



Бесплатное участие и возможность получить свидетельство об участии в вебинаре.


Подробнее