Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Рабочая тетрадь1_брошюра.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.39 Mб
Скачать

Урок 3. Что такое программа для исполнителя?

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

В формальной записи алгоритма присутствуют только команды, входящие в СКИ, при этом  должны соблюдаться специальные правила оформления, которые позволят исполнителю распознать команды и определить последовательность их выполнения.

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

Итак, алгоритм стирки белья:

  • в зять грязное белье и замочить его в воде со стиральным порошком;

  • тереть белье в воде, пока оно не станет чистым;

  • слить грязную воду и залить чистую;

  • прополоскать белье;

  • отжать.

Программы для исполнителей:

а) человек б) стиральная машина

начало

налить в таз воды нужной

температуры

добавить в воду стиральный

порошок

положить в таз с водой

грязное белье

стирать белье пока оно

 не станет чистым

слить грязную воду

налить в таз чистой воды

полоскать белье пока пена

не исчезнет

слить воду

налить в таз чистой воды

добавить в воду

ополаскиватель

полоскать белье 1 мин. достать белье

отжимать белье пока, с него

не перестанет капать вода

конец

начало

залить воду

добавить в воду стиральный

порошок

нагреть воду до заданной

температуры

вращать барабан с бельем

заданное время

слить воду

залить воду

вращать барабан с бельем

заданное время

слить воду

залить воду

добавить в воду

ополаскиватель

вращать барабан с бельем

заданное время

слить воду

вращать барабан с бельем с заданной скоростью

конец

В результате у нас получилось, что алгоритм один и тот же, а программы совершенно разные, причем стиральная машина программу, написанную для человека, выполнить не сможет, она просто-напросто не поймет команды, записанные в ней. Следовательно, алгоритм можно записать разными способами, но далеко не каждый будет понятен исполнителю.

Программа – это алгоритм, записанный в форме, понятной исполнителю.

Рассмотрим следующую задачу:

Есть двое песочных часов: на 3 минуты и на 8 минут. Для приготовления эликсира здоровья его надо варить 2 минуты. Как это сделать?

Для начала придумаем систему команд исполнителя Колдун, умеющего обращаться с песочными часами.

Теперь необходимо записать последовательность команд этого исполнителя при изготовлении эликсира. Придумайте, как описывать состояние системы для контроля над ситуацией и оформите решение в виде таблицы:

команды

Команда

Состояние системы

Начало

 

 

Конец

 

 

Для приготовления эликсира бессмертия его надо варить непрерывно ровно 7 минут. Оформите решение в виде таблицы:

команды

Команда

Состояние системы

Начало

 

 

Конец

 

 

Задания:

  1. Автоматическое устройство имеет 2 кнопки и экран. При включении на экране загорается число 0. При нажатии на одну кнопку число на экране удваивается (команда х2). При нажатии на другую кнопку число увеличивается на 1 (команда +1). Было произведено несколько нажатий на эти кнопки, определите состояние экрана в каждом из случаев:

команды

Команда

Состояние экрана

Начало

 

0

1

+1

2

х2

3

+1

4

х2

5

х2

6

+1

7

х2

8

+1

9

х2

10

х2

11

+1

12

х2

13

+1

14

х2

15

х2

Конец

 

 

команды

Команда

Состояние экрана

Начало

 

0

1

+1

2

х2

3

х2

4

х2

5

х2

6

х2

7

+1

8

х2

9

+1

10

х2

11

+1

Конец

 

 


  1. Автоматическое устройство имеет 2 кнопки и экран. При включении на экране загорается число 0. При нажатии на одну кнопку число на экране удваивается (команда х2). При нажатии на другую кнопку число увеличивается на 1 (команда +1). Но устройство не позволяет нажимать на кнопку +1 более одного раза подряд. Как надо нажимать на кнопки, чтобы на экране появилось:

а) число 5; б) число 99;

команды

Команда

Состояние экрана

Начало

 

0

Конец

 

 5

команды

Команда

Состояние экрана

Начало

 

0

Конец

 

 99


  1. Имеются три емкости для жидкости — А, Б и В, вместимостью соответственно 8, 5 и 3 литров, и автомат, который может переливать жидкость из одной емкости в другую. Автомат управляется нажатием кнопок: А-Б, А-В, Б-В, Б-А, В-Б и В-А.

Емкость 8 литров полностью заполнена жидкостью, остальные две пусты. При этом емкости не имеют делений и поэтому можно либо полностью вылить из них всю жидкость, либо заполнить полностью другую емкость. Напишите программу для этого исполнителя, с помощью которой через конечное число шагов: а) в емкости А остается ровно 7 литров жидкости; б) в емкости А и Б по 4 литра.

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

команды

Команда

Состояние системы

А

Б

В

Начало

 

8

0

0

Конец

 

 

 

Решение оформите в виде таблицы:

команды

Команда

Состояние системы

А

Б

В

Начало

 

8

0

0

Конец

 

4

4

 


  1. Имеются три емкости для жидкости — А, Б и В. Вместимостью соответственно 14, 8 и 5 литров, и автомат, который может переливать жидкость из одной емкости в другую. Емкость 14 литров полностью заполнена жидкостью, остальные две пусты. Определите состояние системы на каждом шаге исполнителя.

команды

Команда

Состояние системы

А

Б

В

Начало

 

14

0

0

1

А-В

2

В-Б

3

А-В

4

В-Б

5

Б-А

6

В-Б

7

А-В

8

В-Б

Конец