8.1. Понятие алгоритма
Вспомним некоторые понятия, с которыми вы познакомились в 6-м классе.
Алгоритм — понятная и конечная последовательность точных действий (команд), формальное выполнение которых позволяет получить решение поставленной задачи.
Исполнитель алгоритма — человек (группа людей) или техническое устройство, которые понимают команды алгоритма и умеют правильно их выполнять.
Система команд исполнителя — команды, которые понимает и может выполнить исполнитель.
Любой исполнитель имеет ограниченную систему команд. Все команды исполнителя можно разделить на группы:
- 1) команды, которые непосредственно выполняет исполнитель;
- 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 м.
Словесное описание алгоритма:
- Длина участка в два раза больше ширины, поэтому в сумме длина и ширина составят три одинаковых части. Забор огораживает участок по периметру. Периметр прямоугольника равен удвоенной сумме длины и ширины, следовательно, он равен шести одинаковым частям.
- Значение ширины получим так: 120 : 6 = 20 м.
- Длина в 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. Запись алгоритма по действиям:
Блок-схема алгоритма: Исполнитель Чертежник должен нарисовать прямоугольник длиной 4 клетки и шириной 2 клетки. Программа для исполнителя Чертежник :
Результат работы программы: |
Пример 8.4. Алгоритм изготовления бутерброда:
Пример 8.5. Алгоритм выполнения лабораторной работы по биологии «Строение инфузории туфельки»:
|
Пример 8.6. Программа для исполнителя Чертежник:
Результат выполнения программы: |