Подведем итоги
- Алгоритм — это предписание, набор точных инструкций, записанных в строгом
порядке и направленных на решение поставленной задачи.
- Тот, кто (или То, что) выполняет алгоритм, называется исполнителем.
- Исполнитель способен понимать и выполнять определенный набор команд, который
называют системой команд исполнителя.
- Для того, чтобы алгоритм мог быть реализован, его необходимо сообщить
исполнителю.
- Алгоритм, описанный на языке исполнителя, называется программой.
- Программа пишется по строгим правилам языка исполнителя, никакие отклонения
от правил не допустимы.
- На основе одного и того же алгоритма могут быть написаны разные программы
для разных исполнителей.
- Исполнитель реализует не намерения программиста, а инструкции программы. "Неправильное" поведение исполнителя или отказ выполнить инструкцию свидетельствуют об ошибках в алгоритме или программе.
Вопросы и задания
- Что такое алгоритм, исполнитель алгоритма?
- Что такое система команд исполнителя?
- В чем различие между формальным и неформальным исполнителями алгоритма?
- Почему для общения с формальными исполнителям разрабатывают специальные искусственные языки?
- Приведите свои примеры неоднозначности слов и выражений русского или английского языков.
- Опишите алгоритм умножения столбиком двух двухзначных чисел.
- Опишите алгоритм перехода улицы, если переход не регулируется светофором.
- Опишите алгоритм перехода улицы в общем случае.
- Имеются три емкости для жидкости — А, Б и В, вместимостью 8, 5 и 3 литра соответственно, и автомат, который может переливать жидкость из одной емкости в другую. Автомат регулируется нажатием кнопок: А=>Б, А=>В, Б=>В, Б=>А, В=>Б и В=>А.
Емкость 8 литров полностью заполнена жидкостью, остальные две пусты. Автоматом управляет абсолютно формальный и совершенно бездумный исполнитель, понимающий только обозначения кнопок. Напишите программу для этого исполнителя, с помощью которой через конечное число шагов в емкости А остается ровно 7 литров жидкости. Проливать жидкость или добавлять ее из внешнего источника не разрешается.
Решение оформите в виде таблицы:N команды Команда Состояние системы А Б В Начало 8 0 0 ... ... ... ... ... ... ... 7 ... ... Конец - Автоматическое устройство имеет 2 кнопки и экран. При включении на экране загорается число 0. При нажатии на одну кнопку число на экране удваивается (вместо х появляется 2х). При нажатии на другую кнопку число увеличивается на 1 (вместо х появляется х+1). Как надо нажимать на кнопки, чтобы на экране появилось
а) число 5;
6) число 99;
в) число 99, если разрешается нажимать на кнопки не более 10 раз?
Решение оформите в виде таблицы:
N команды Команда Состояние
экранаНачало 0 ... ... ... ... ... 5 Конец -
Есть двое песочных часов: на 3 минуты и на 8 минут. Для приготовления эликсира бессмертия его надо варить непрерывно ровно 7 минут. Как это сделать?
Придумайте систему команд исполнителя Колдун, умеющего обращаться с песочными часами. Запишите последовательность команд этого исполнителя при изготовлении эликсира. Придумайте, как описывать состояние системы для контроля над ситуацией и оформите решение в виде таблицы:N команды Команда Состояние системы Начало ... ... ... ... ... ... Конец -
Два встречных поезда, в каждом из которых паровоз и 21 вагон, встретились на дороге с одним тупиком (см. рисунок). Тупик вмещает 11 вагонов или 10 вагонов и паровоз. Как поездам разъехаться (т.е. как должны маневрировать машинисты, чтобы каждый поезд продолжил движение в своем направлении) ?
Придумайте систему команд исполнителя Диспетчер. Запишите последовательность команд, которая позволит поездам разъехаться.

