Что называется командой алгоритма
Информатика. 7 класс
Электронное приложение к учебному пособию
Напишите нам
белый — основные материалы, обязательные для изучения;
голубой — примеры, иллюстрирующие основные материалы;
желтый — определения основных понятий;
светло-зеленый — исторические сведения, информация об ученых, внесших вклад в развитие информатики, и другие интересные факты.
В учебном пособии используются следующие условные обозначения:
— вопросы и задания для проверки знаний;
— раздел «Упражнения» содержит задания, при выполнении которых используется компьютер;
— раздел «Упражнения» содержит задания для выполнения в тетради;
— раздел «Упражнения» содержит задания, при выполнении которых может быть использована информация, размещенная на Национальном образовательном портале;
* — задание или пример для любознательных.
§ 8. Алгоритмы и исполнители
8.1. Понятие алгоритма
Вспомним некоторые понятия, с которыми вы познакомились в 6-м классе.
Алгоритм — понятная и конечная последовательность точных действий (команд), формальное выполнение которых позволяет получить решение поставленной задачи.
Исполнитель алгоритма — человек (группа людей) или техническое устройство, которые понимают команды алгоритма и умеют правильно их выполнять.
Система команд исполнителя — команды, которые понимает и может выполнить исполнитель.
Любой исполнитель имеет ограниченную систему команд. Все команды исполнителя можно разделить на группы:
Компьютер является универсальным исполнителем.
Запись алгоритма в виде последовательности команд, которую может выполнить компьютер, называют программой.
Существуют следующие способы представления алгоритмов:
(Схематически данные способы представлены в примере 8.1.)
8.2. Исполнитель Чертежник
В прошлом учебном году вы познакомились с исполнителем Чертежник, который предназначен для построения рисунков и чертежей на координатной плоскости (пример 8.2).
Чертежник имеет перо, с помощью которого он может рисовать отрезки на плоскости. Исходное положение пера исполнителя Чертежник поднято и находится над точкой (0, 0) — началом координат. После завершения рисования перо также должно быть поднято.
Напомним систему команд исполнителя Чертежник:
Переместить перо Чертежника в точку (x,y)
Поднять перо Чертежника
Опустить перо Чертежника
Создать поле размером N x M
Сместить перо Чертежника на а единиц по горизонтали и b единиц по вертикали
Пример 8.3. Составим алгоритм решения задачи.
Прямоугольный участок, длина которого в 2 раза больше ширины, огородили забором длиной 120 м. Определите длину и ширину участка. Напишите программу, выполнив которую исполнитель Чертежник построит чертеж забора этого участка. Масштаб: 1 клетка равна 10 м.
Словесное описание алгоритма:
8.3. Алгоритмическая конструкция следование
Существует большое количество алгоритмов, в которых все команды выполняются последовательно одна за другой в том порядке, в котором они записаны. В подобных алгоритмах отсутствуют команды, меняющие порядок выполнения других команд. Такие программы вы составляли в прошлом году для исполнителя Чертежник.
Алгоритмическая конструкция следование — последовательность команд алгоритма, которые выполняются в том порядке, в котором они записаны.
Следование использовалось в примере 8.3, в котором описывались алгоритмы вычисления длины и ширины участка и построения прямоугольника исполнителем Чертежник.
Алгоритмическая конструкция следование представлена в примере 8.4 и примере 8.5.
8.4. Вспомогательные алгоритмы
Нередко в одной программе приходится рисовать одно и то же изображение несколько раз. Получение этого изображения удобно оформить в виде вспомогательного алгоритма, который можно использовать нужное число раз, обращаясь к его названию.
Вспомогательный алгоритм — алгоритм, целиком используемый в составе другого алгоритма.
Вспомогательный алгоритм решает некоторую подзадачу основной задачи. Вызов вспомогательного алгоритма в программе заменяет несколько команд одной командой.
Пример 8.6. Напишем программу, выполнив которую исполнитель Чертежник нарисует следующий рисунок:
Описание основного алгоритма будет следующим:
При решении задач над проектом могут работать несколько человек (или десятков человек). Каждый из членов коллектива делает часть своей работы и оформляет ее как отдельный вспомогательный алгоритм.
Алгоритмы построения чертежей человек разрабатывает с глубокой древности. Появление чертежей связано с практической деятельностью человека — возведением укреплений и городских построек. Первые сведения о чертежах, напоминающих современные, связаны с именем Леонардо да Винчи (1452—1519) —итальянского ученого и художника, который в технических рисунках и эскизах раскрывал свои идеи в области техники и строительства.
В настоящее время чертежи широко применяются в различных отраслях строительства, сельского хозяйства, промышленности и т. д. Сегодня для построения чертежей используются специальные программы, позволяющие автоматизировать процесс черчения. Для применения таких программ специалист должен овладеть навыками работы с имеющимися в них инструментами и алгоритмами построения различных чертежей. Вот логотипы подобных программ:
Пример 8.2. Поле исполнителя Чертежник.
Пример 8.3. Запись алгоритма по действиям:
Исполнитель Чертежник должен нарисовать прямоугольник длиной 4 клетки и шириной 2 клетки. Программа для исполнителя Чертежник :
Что называется командой алгоритма
Уважаемый подписчик! Сразу же вынужден извиниться за некорректную ссылку, указанную в материалах предыдущего занятия. С сылка http://a-morgun.narod.ru/a08-01/a0008-0001-0001-0001.html – правильная.
Нам уже известно, что написанию программы решения задачи предшествует разработка соответствующего алгоритма. Поэтому сегодня мы с вами приступаем к рассмотрению достаточно эффективного современного способа представления алгоритмов в виде словесных описаний на, так называемом, алгоритмическом языке (АЯ).
Зап омните! Только алгоритмы на АЯ допускают практически формальное (понятное, простое и удобное) своё преобразование в подпрограммы на языке Паскаль.
ОСНОВНЫЕ ПОНЯТИЯ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
К основным понятиям алгоритмического языка относятся алгоритм, команда, служебный объект, величина и имя.
Алгоритмом на АЯ будем называть определённый текст, представляющий с использованием формальных правил условие и процесс решения некоторой задачи, и состоящий из заголовка и основной части .
Говорят, что заголовок алгоритма определяет его с внешней стороны. Для этого заголовок содержит имя алгоритма, перечень параметров, распределённых на аргументы и результаты, указание типа каждого из параметров, а также произвольный комментарий к решаемой задаче.
Основная часть алгоритма передаёт его внутреннее содержание. Она содержит в себе последовательность команд , реализующих процесс решения задачи, а также перечень вспомогательных промежуточных переменных с указанием их типов.
Команда алгоритма – это указание исполнителю на выполнение некоторых действий. Различают простые и структурные команды. Разные команды отличаются между собой правилом записи и правилом выполнения.
Последовательность нескольких команд алгоритма, начало и конец которой отмечены служебными словами нс и кс, называют серией . Серию можно рассматривать как единую составную команду.
Служебные объекты алгоритмического языка предназначены для записи команд и для оформления алгоритмов. Основная особенность любого служебного объекта состоит в том, что его смысл и способ употребления в алгоритме однозначно определён заранее. Среди служебных объектов различают служебные слова и служебные знаки .
Величиной называется любой объект алгоритма, несущий информацию об определённом значении. Если величина принимает участие в выполнении команд, то это может сопровождаться преобразованием формы её представления, а также образованием нового значения для этой величины.
Важнейшей характеристикой величины является её тип . В общем случае тип величины определяет количество и характер отдельных элементарных значений в её составе, а также порядок доступа к ним. Различают простые и структурированные типы. Величина простого типа представляет собой элементарное (единственное, отдельное и неделимое) значение. Величина структурированного типа представляет собой совокупность значений.
Все величины могут быть распределены на постоянные и переменные. Постоянной величиной называется та, значение которой не может быть изменено посредством выполнения какой-то из команд алгоритма и всегда остаётся одним и тем же. Переменной величиной называется такая величина, значение которой может измениться вследствие выполнения определённой команды алгоритма.
Среди постоянных величин выделяют константы . Константа обладает тем свойством, что её значение указывается в тексте алгоритма непосредственно. При этом тип константы можно определить по её внешнему виду.
Среди переменных величин особо выделяют переменные (термин употребляется как имя существительное). Для переменных в алгоритме используют обозначения, которые называют именами переменных. Типы переменных в алгоритме указывают с помощью стандартных имён типов.
Выше упоминались некоторые объекты алгоритма, с которыми должны быть связаны определённые имена . Такие объекты алгоритма называются именованными. К ним относятся сами алгоритмы, а также типы, переменные и константы. Имена могут быть стандартными или выбранными произвольно.
Слишком много новых терминов! Не правда ли? А ведь это пока только алгоритмический язык. В реальном Паскале их ещё больше. Кстати, АЯ тем и хорош, что позволяет нам, в отличие от Паскаля, ограничиться самым главным.
Теперь приведём пример алгоритма, в котором можно было бы обнаружить всё вышеупомянутое.
дано произвольные значения уровней x и y
надо значение суммы уровней z и сообщение s об их допустимости
нач p: вещ
если ( p p > 5 + 5 )
то s := ”выход уровней за допустимые пределы”
иначе нс z := x + y ; s := ”уровни в норме” кс
кон
2. Остальные шесть строк, начинающиеся словом нач и заканчивающиеся словом кон, являются основной частью алгоритма, передающей его внутреннее содержание. Здесь мы видим вспомогательную промежуточную переменную p, имеющую вещественный тип. Кроме того, основная часть алгоритма содержит последовательность из двух команд : команды присваивания p := Ln ( x ) + Ln ( y ) и команды ветвления если ( p 5 ) или ( p > 5 + 5 ) то s := “выход уровней за допустимые пределы” иначе нс z := x + y ; s := “уровни в норме” кс.
4. В составе команды ветвления имеется последовательность двух команд присваивания z := x + y ; s := “уровни в норме”, начало и конец которой отмечены служебными словами нс и кс. Такая последовательность, рассматриваемая как единая составная команда, называется серией .
5. Служебными объектами алгоритма являются служебные слова алг, арг, рез, цел, лит, вещ, дано, надо, нач, кон, предназначенные для оформления алгоритма, служебные слова если, то, иначе, :=, нс, кс, предназначенные для записи команд, а также служебное слово или, предназначенное для указания операции. Кроме того, служебными объектами данного алгоритма являются следующие служебные знаки : знаки препинания точка с запятой и двойные кавычки <; ” >, знаки операций сложения и сравнения < + >, а также круглые скобки < ( ) >.
8. В нашем алгоритме использованы постоянные величины 5, 5 + 5, ”выход уровней за допустимые пределы” и ”уровни в норме”. Их значения соответствуют тому, что написано, и считать их иными невозможно. Все остальные являются переменными величинами . Например, значение величины x + y может быть разным в зависимости от значений величин x и y. Постоянная величина 5 является константой . По её внешнему виду мы легко определяем, что она имеет целочисленный тип. Постоянные величины ”выход уровней за допустимые пределы” и ”уровни в норме” – тоже константы . Вполне очевидно, что они имеют литерный тип.
Обратите внимание, что необходимость истолковать основные понятия АЯ повлекла за собой использование целой группы других новых понятий. Это значит, что между всеми ними существует чрезвычайно тесная взаимосвязь. Невозможно понять что-то одно, не затрагивая при этом другое.
Чтобы получить более подробное изложение материала занятия №3 “Основные понятия алгоритмического языка”, перейдите по ссылке http://a-morgun.narod.ru/a06-01/a0006-0001-0002.html
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
§ 2.1. Алгоритмы и исполнители
Информатика. 8 класса. Босова Л.Л. Оглавление
Ключевые слова:
2.1.1. Понятие алгоритма
Каждый человек в повседневной жизни, в учёбе или на работе решает огромное количество задач самой разной сложности. Сложные задачи требуют длительных размышлений для нахождения решения; простые и привычные задачи человек решает не задумываясь, автоматически. В большинстве случаев решение каждой задачи можно разбить на простые этапы (шаги). Для многих таких задач (установка программного обеспечения, сборка шкафа, создание сайта, эксплуатация технического устройства, покупка авиабилета через Интернет и т. д.) уже разработаны и предлагаются пошаговые инструкции, при последовательном выполнении которых можно прийти к желаемому результату.
Пример 1. Задача «Найти среднее арифметическое двух чисел» решается в три шага:
Пример 2. Задача «Внести деньги на счёт телефона» подразделяется на следующие шаги:
Пример 3. Этапы решения задачи «Нарисовать весёлого ёжика» представлены графически:
Нахождение среднего арифметического, внесение денег на телефонный счёт и рисование ежа — на первый взгляд совершенно разные процессы. Но у них есть общая черта: каждый из этих процессов описывается последовательностями кратких указаний, точное следование которым позволяет получить требуемый результат. Последовательности указаний, приведённые в примерах 1-3, являются алгоритмами решения соответствующих задач. Исполнитель этих алгоритмов — человек.
Алгоритм может представлять собой описание некоторой последовательности вычислений (пример 1) или шагов нематематического характера (примеры 2-3). Но в любом случае перед его разработкой должны быть чётко определены начальные условия (исходные данные) и то, что предстоит получить (результат). Можно сказать, что алгоритм — это описание последовательности шагов в решении задачи, приводящих от исходных данных к требуемому результату.
В общем виде схему работы алгоритма можно представить следующим образом (рис. 2.1).
Алгоритмами являются изучаемые в школе правила сложения, вычитания, умножения и деления чисел, многие грамматические правила, правила геометрических построений и т. д.
Анимации «Работа с алгоритмом» (193576), «Наибольший общий делитель» (170363), «Наименьшее общее кратное» (170390) помогут вам вспомнить некоторые алгоритмы, изученные на уроках русского языка и математики (http://sc.edu.ru/).
Пример 4. Некоторый алгоритм приводит к тому, что из одной цепочки символов получается новая цепочка следующим образом:
Получившаяся таким образом цепочка является результатом работы алгоритма.
Так, если исходной была цепочка А#В, то результатом работы алгоритма будет цепочка #А1В2, а если исходной цепочкой была АБВ@, то результатом работы алгоритма будет цепочка БА@В2.
2.1.2. Исполнитель алгоритма
Каждый алгоритм предназначен для определённого исполнителя.
Исполнитель — это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд.
Различают формальных и неформальных исполнителей. Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Неформальный исполнитель может выполнять команду по-разному.
Рассмотрим более подробно множество формальных исполнителей. Формальные исполнители необычайно разнообразны, но для каждого из них можно указать следующие характеристики: круг решаемых задач (назначение), среду, систему команд и режим работы.
Круг решаемых задач. Каждый исполнитель создаётся для решения некоторого круга задач — построения цепочек символов, выполнения вычислений, построения рисунков на плоскости и т. д.
Среда исполнителя. Область, обстановку, условия, в которых действует исполнитель, принято называть средой данного исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.
Система команд исполнителя. Предписание исполнителю о выполнении отдельного законченного действия называется командой. Совокупность всех команд, которые могут быть выполнены некоторым исполнителем, образует систему команд данного исполнителя (СКИ). Алгоритм составляется с учётом возможностей конкретного исполнителя, иначе говоря, в системе команд исполнителя, который будет его выполнять.
Режимы работы исполнителя. Для большинства исполнителей предусмотрены режимы непосредственного управления и программного управления. В первом случае исполнитель ожидает команд от человека и каждую поступившую команду немедленно выполняет. Во втором случае исполнителю сначала задаётся полная последовательность команд (программа), а затем он выполняет все эти команды в автоматическом режиме. Ряд исполнителей работает только в одном из названных режимов.
Рассмотрим примеры исполнителей.
Пример 5. Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. Система команд Черепашки состоит из двух команд:
Запись Повтори k [ … ] означает, что последовательность команд в скобках повторится k раз.
Подумайте, какая фигура появится на экране после выполнения Черепашкой следующего алгоритма.
Повтори 12 [Направо 45 Вперёд 20 Направо 45]
Пример 6. Система команд исполнителя Вычислитель состоит из двух команд, которым присвоены номера:
1 — вычти 1
2 — умножь на 3
Первая из них уменьшает число на 1, вторая увеличивает число в 3 раза. При записи алгоритмов для краткости указываются лишь номера команд. Например, алгоритм 21212 означает следующую последовательность команд:
С помощью этого алгоритма число 1 будет преобразовано в 15: ((1 • 3 — 1) • 3-1) • 3 = 15.
Пример 7. Исполнитель Робот действует на клетчатом поле, между соседними клетками которого могут стоять стены. Робот передвигается по клеткам поля и может выполнять следующие команды, которым присвоены номера:
1 — вверх
2 — вниз
3 — вправо
4 — влево
При выполнении каждой такой команды Робот перемещается в соседнюю клетку в указанном направлении. Если же в этом направлении между клетками стоит стена, то Робот разрушается.
Что произойдёт с Роботом, если он выполнит последовательность команд 32323 (здесь цифры обозначают номера команд), начав движение из клетки А? Какую последовательность команд следует выполнить Роботу, чтобы переместиться из клетки А в клетку В, не разрушившись от встречи со стенами?
При разработке алгоритма:
Можно сказать, что алгоритм — модель деятельности исполнителя алгоритмов.
2.1.3. Свойства алгоритма
Не любая инструкция, последовательность предписаний или план действий может считаться алгоритмом. Каждый алгоритм обязательно обладает следующими свойствами: дискретность, понятность, определённость, результативность и массовость.
Свойство дискретности означает, что путь решения задачи разделён на отдельные шаги (действия). Каждому действию соответствует предписание (команда). Только выполнив одну команду, исполнитель может приступить к выполнению следующей команды.
Свойство понятности означает, что алгоритм состоит только из команд, входящих в систему команд исполнителя, т. е. из таких команд, которые исполнитель может воспринять и по которым может выполнить требуемые действия.
Свойство определённости означает, что в алгоритме нет команд, смысл которых может быть истолкован исполнителем неоднозначно; недопустимы ситуации, когда после выполнения очередной команды исполнителю неясно, какую команду выполнять следующей. Благодаря этому результат алгоритма однозначно определяется набором исходных данных: если алгоритм несколько раз применяется к одному и тому же набору исходных данных, то на выходе всегда получается один и тот же результат.
Свойство результативности означает, что алгоритм должен обеспечивать получение результата после конечного, возможно, очень большого, числа шагов. При этом результатом считается не только обусловленный постановкой задачи ответ, но и вывод о невозможности продолжения по какой-либо причине решения данной задачи.
Свойство массовости означает, что алгоритм должен обеспечивать возможность его применения для решения любой задачи из некоторого класса задач. Например, алгоритм нахождения корней квадратного уравнения должен быть применим к любому квадратному уравнению, алгоритм перехода улицы должен быть применим в любом месте улицы, алгоритм приготовления лекарства должен быть применим для приготовления любого его количества и т. д.
Пример 8. Рассмотрим один из методов нахождения всех простых чисел, не превышающих некоторое натуральное число п. Этот метод называется «решето Эратосфена» по имени предложившего его древнегреческого учёного Эратосфена (III в. до н. э.).
Для нахождения всех простых чисел, не больших заданного числа n, следуя методу Эратосфена, нужно выполнить следующие шаги:
Более наглядное представление о методе нахождения простых чисел вы сможете получить с помощью размещённой в Единой коллекции цифровых образовательных ресурсов анимации «Решето Эратосфена» (180279).
Рассмотренная последовательность действий является алгоритмом, так как она удовлетворяет свойствам:
Рассмотренные свойства алгоритма позволяют дать более точное определение алгоритма.
Алгоритм — это предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату, которое обладает свойствами дискретности, понятности, определённости, результативности и массовости.
2.1.4. Возможность автоматизации деятельности человека
Разработка алгоритма — как правило, трудоёмкая задача, требующая от человека глубоких знаний, изобретательности и больших временных затрат.
Решение задачи по готовому алгоритму требует от исполнителя только строгого следования заданным предписаниям.
Пример 9. Из кучки, содержащей любое, большее трёх, количество каких-либо предметов, двое играющих по очереди берут по одному или по два предмета. Выигрывает тот, кто своим очередным ходом сможет забрать все оставшиеся предметы.
Рассмотрим алгоритм, следуя которому первый игрок наверняка обеспечит себе выигрыш.
Исполнитель может не вникать в смысл того, что он делает, и не рассуждать, почему он поступает так, а не иначе, т. е. он может действовать формально. Способность исполнителя действовать формально обеспечивает возможность автоматизации деятельности человека. Для этого:
Самое главное: Алгоритмы и исполнители
Исполнитель — некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд.
Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Для каждого формального исполнителя можно указать: круг решаемых задач, среду, систему команд и режим работы.
Алгоритм — предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату, которое обладает свойствами дискретности, понятности, определённости, результативности и массовости.
Способность исполнителя действовать формально обеспечивает возможность автоматизации деятельности человека.