§ 8. Алгоритмы и исполнители

8.1. Понятие алгоритма

Вспомним некоторые понятия, с которыми вы познакомились в 6-м классе.

Алгоритм — понятная и конечная последовательность точных действий (команд), формальное выполнение которых позволяет получить решение поставленной задачи.
Исполнитель алгоритма — человек (группа людей) или техническое устройство, которые понимают команды алгоритма и умеют правильно их выполнять.
Система команд исполнителя — команды, которые понимает и может выполнить исполнитель.

Любой исполнитель имеет ограниченную систему команд. Все команды исполнителя можно разделить на группы:

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

Компьютер является универсальным исполнителем.

Запись алгоритма в виде последовательности команд, которую может выполнить компьютер, называют программой.

Существуют следующие способы представления алгоритмов:

  • словесный (описание алгоритма средствами естественного языка с точной и конкретной формулировкой фраз);
  • графический (блок-схема) (графическое изображение команд алгоритма с использованием геометрических фигур, или блоков, и стрелок, соединяющих эти блоки и указывающих на порядок выполнения команд);
  • программный (запись алгоритма в виде программы).

(Схематически данные способы представлены в примере 8.1.)

8.2. Исполнитель Чертежник

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

Чертежник имеет перо, с помощью которого он может рисовать отрезки на плоскости. Исходное положение пера исполнителя Чертежник поднято и находится над точкой (0, 0) — началом координат. После завершения рисования перо также должно быть поднято.

Напомним систему команд исполнителя Чертежник:

Команда

Действие

ToPoint(x,y)

Переместить перо Чертежника в точку (x,y)

PenUp

Поднять перо Чертежника

PenDown

Опустить перо Чертежника

Field(N,M)

Создать поле размером NxM

OnVector(a,b)

Сместить перо Чертежника на а единиц по горизонтали и b единиц по вертикали

Пример 8.3. Составим алгоритм решения задачи.

Прямоугольный участок, длина которого в 2 раза больше ширины, огородили забором длиной 120 м. Определите длину и ширину участка. Напишите программу, выполнив которую исполнитель Чертежник построит чертеж забора этого участка. Масштаб: 1 клетка равна 10 м.

Словесное описание алгоритма:

  1. Длина участка в два раза больше ширины, поэтому в сумме длина и ширина составят три одинаковых части. Забор огораживает участок по периметру. Периметр прямоугольника равен удвоенной сумме длины и ширины, следовательно, он равен шести одинаковым частям.
  2. Значение ширины получим так: 120 : 6 = 20 м.
  3. Длина в 2 раза больше ширины: 20 ∙ 2 = 40 м.

8.3. Алгоритмическая конструкция следование

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

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

Следование использовалось в примере 8.3, в котором описывались алгоритмы вычисления длины и ширины участка и построения прямоугольника исполнителем Чертежник.

Алгоритмическая конструкция следование представлена в примере 8.4 и примере 8.5.

8.4. Вспомогательные алгоритмы

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

Вспомогательный алгоритм — алгоритм, целиком используемый в составе другого алгоритма.

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

Пример 8.6. Напишем программу, выполнив которую исполнитель Чертежник нарисует следующий рисунок:

Данный рисунок состоит из трех одинаковых фигур, поэтому для рисования одной фигуры можно оформить вспомогательный алгоритм figura.

Описание основного алгоритма будет следующим:

  • перемещение в начальную точку;
  • рисование фигуры;
  • перемещение ко второй фигуре;
  • рисование фигуры;
  • перемещение к третьей фигуре;
  • рисование фигуры.

При решении задач над проектом могут работать несколько человек (или десятков человек). Каждый из членов коллектива делает часть своей работы и оформляет ее как отдельный вспомогательный алгоритм.

Алгоритмы построения чертежей человек разрабатывает с глубокой древности. Появление чертежей связано с практической деятельностью человека — возведением укреплений и городских построек. Первые сведения о чертежах, напоминающих современные, связаны с именем Леонардо да Винчи (1452—1519) —итальянского ученого и художника, который в технических рисунках и эскизах раскрывал свои идеи в области техники и строительства.

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

Пример 8.1.

Пример 8.2. Поле исполнителя Чертежник.

Пример 8.3. Запись алгоритма по действиям:

  1. 1) 1 + 2 = 3 (части);
  2. 2) 3 ∙ 2 = 6 (частей);
  3. 3) 120 : 6 = 20 (м);
  4. 4) 20 ∙ 2 = 40 (м).

Блок-схема алгоритма:

Исполнитель Чертежник должен нарисовать прямоугольник длиной 4 клетки и шириной 2 клетки. Программа для исполнителя Чертежник :

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

Пример 8.4. Алгоритм изготовления бутерброда:

  1. Отрезать ломтик батона.
  2. Положить на батон лист салата.
  3. Отрезать кусочек ветчины.
  4. Положить ветчину на лист салата.
  5. Отрезать кусочек помидора.
  6. Положить помидор на ветчину.

Пример 8.5. Алгоритм выполнения лабораторной работы по биологии «Строение инфузории туфельки»:

  1. Рассмотреть внешний вид и внутреннее строение инфузории.
  2. Зарисовать инфузорию и обозначить названия ее органов.
  3. Подвести итог работе.

Пример 8.6. Программа для исполнителя Чертежник:

Результат выполнения программы:



1. Что такое алгоритм?



2. Какие способы записи алгоритмов вам известны?



3. Что называют алгоритмической конструкцией следование?



4. Какой алгоритм называется вспомогательным?



  1. 1. Какой рисунок получится после выполнения Чертежником следующей программы? Изобразите рисунок и проверьте правильность своих действий, выполнив программу на компьютере.

  1. 2. Напишите для исполнителя Чертежник программы получения следующих изображений:

а)  б) 
  1. 3. Придумайте свои рисунки и составьте программы для их рисования с помощью исполнителя Чертежник.

  1. 4*. Проанализируйте рисунки. Какие из них мог выполнить исполнитель Чертежник? Почему? Какие команды вы можете предложить добавить исполнителю для выполнения остальных рисунков?

    а)  б) в) г)