"Информатика", Горячев А.В., Суворова Н.И.
Алгоритм — это точная последовательность команд, которая помогает решить задачу и получить нужный результат. Команды выполняет конкретный исполнитель: человек или устройство, умеющее понимать эти указания. Поэтому алгоритм учитывает возможности исполнителя, задаёт порядок действий и заканчивается за конечное число шагов. Записать его можно словами или изобразить схемой: блоки показывают действия, а стрелки — переходы между ними.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Алгоритм — конечная последовательность точных команд, которая приводит к решению задачи. Точность означает, что каждое указание можно понять только одним способом, без догадок. Конечность нужна, чтобы выполнение не продолжалось бесконечно, а завершилось получением результата.
Команда — отдельное указание исполнителю, что нужно сделать. Она должна быть понятна именно тому, кто её выполняет: слова, которые ясны человеку, могут быть непонятны устройству. Если команда допускает разные толкования, исполнитель может выполнить не то действие.
Исполнитель алгоритма — человек или устройство, способное выполнять команды из своего набора. Такой набор называют системой команд исполнителя. При составлении алгоритма нужно выбирать указания, которые этот исполнитель действительно понимает и умеет выполнять.
Схема алгоритма — графическое представление последовательности действий с помощью условных обозначений и стрелок. Блоки изображают действия или проверки, а стрелки связывают их и показывают порядок перехода. Схема помогает увидеть весь ход выполнения и возможные пути алгоритма.
Алгоритм создают не просто для перечисления действий, а для решения конкретной задачи. Сначала выясняют, какие данные известны, то есть что дано на входе, и какой результат нужно получить. Затем подбирают действия, которые превращают исходные данные в нужный результат. Если эти две точки не определены, нельзя понять, какие шаги нужны и когда задача решена.
Команды выполняет конкретный исполнитель, поэтому один и тот же план не подходит автоматически всем. Человек способен понимать бытовые указания, а устройство — только команды, предусмотренные для него. Если в алгоритм включить недоступное действие, исполнитель остановится или не сможет выполнить план. Значит, прежде чем записывать шаги, нужно выяснить возможности исполнителя и его систему команд.
Точная запись делает ход работы предсказуемым. Например, указание «положи немного сыра» каждый человек может понять по-своему, а команда «положи один ломтик сыра на хлеб» задаёт действие определённее. Исполнитель не должен угадывать намерение автора или самостоятельно выбирать пропущенные шаги. Чем точнее команды и порядок их записи, тем надёжнее получится результат.
Алгоритм должен завершаться за конечное число шагов и приводить к результату, ради которого его составили. Если команда повторяется бесконечно, выполнение не закончится, а задача останется нерешённой. Если действия завершились, но нужный ответ не получен, алгоритм тоже не выполнил назначение. Поэтому при проверке полезно спросить себя: можно ли указать последний шаг и что именно будет получено после него?
В схеме алгоритма отдельные действия помещают в условные блоки, а стрелками соединяют их в нужном порядке. Чтобы проследить выполнение, начинают с первого блока и переходят по направлению стрелок к следующему. Если встречается проверка условия, выбирают выход, соответствующий ответу, и продолжают путь по этой ветви. Так схема показывает не только сами действия, но и то, как одно из них приводит к другому.
| Понятие | Что означает | Как связано с алгоритмом |
|---|---|---|
| Алгоритм | Конечная последовательность точных команд для решения задачи. | Задаёт действия, ведущие от исходных данных к результату. |
| Команда | Отдельное понятное исполнителю указание. | Составляет шаг алгоритма и должна быть доступна исполнителю. |
| Исполнитель алгоритма | Человек или устройство, выполняющее команды из своего набора. | Определяет, какие команды допустимо включить в алгоритм. |
| Схема алгоритма | Графическое изображение действий и переходов. | Показывает порядок выполнения с помощью блоков и стрелок. |
Сначала найдите в таблице нужное понятие и прочитайте его значение, затем посмотрите, какую роль оно играет в алгоритме. При составлении своего плана проверьте, связаны ли команды с возможностями исполнителя и ведут ли они к результату. Для схемы отдельно проследите стрелки от первого действия до завершения.
Условие. Нужно составить алгоритм для исполнителя-человека: приготовить бутерброд из хлеба и сыра. Человек понимает обычные указания и может выполнить действия руками. Поэтому достаточно записать их в понятном порядке и убедиться, что все нужные продукты и предметы доступны.
Ответ. Алгоритм состоит из четырёх последовательных команд и приводит к бутерброду из хлеба и сыра. Порядок важен: сначала нужно подготовить основу и положить её на тарелку, затем добавить сыр. Каждое указание понятно человеку и выполнимо.
Условие. Нужно записать алгоритм нахождения суммы двух чисел, которые вводит пользователь. Чтобы получить ответ, недостаточно выполнить сложение: сначала числа нужно принять, а после вычисления сообщить результат. Поэтому выделим ввод данных, действие над ними и вывод.
Ответ. Алгоритм — ввод a, ввод b, вычисление s = a + b, вывод s. Переменные a и b обозначают введённые числа, а s — полученную сумму. Если пропустить ввод, исполнителю нечего будет складывать; если не вывести s, пользователь не узнает ответ.
Условие. Нужно составить схему алгоритма, которая проверяет введённое число и выводит один из двух ответов. Чётное число делится на 2 без остатка, поэтому после ввода проверим, равен ли остаток от деления нулю. От ответа зависит, какой текст нужно вывести.
Ответ. В схеме после ввода числа нужен блок проверки условия с двумя выходами: «да» и «нет». Ветвь «да» ведёт к выводу «Чётное», а ветвь «нет» — к выводу «Нечётное»; затем обе ветви заканчиваются. Такая схема учитывает оба возможных ответа и показывает, куда переходить дальше.
Расплывчатое указание вроде «сделай как обычно» — не точная команда: разные исполнители могут понять её по-разному. Так пишут, когда считают действие очевидным и забывают, что исполнитель не должен додумывать смысл. Проверьте себя: сможет ли другой человек выполнить указание без уточняющих вопросов? Если нет, замените его конкретными шагами.
Команда, недоступная выбранному исполнителю, делает алгоритм невыполнимым. Эту ошибку допускают, когда составляют план, не выяснив, какие действия умеет выполнять человек или устройство. Проверка простая: сопоставьте каждую команду с системой команд исполнителя и исключите те, которые он не понимает или не может выполнить.
Алгоритм без завершения или результата не решает поставленную задачу. Иногда забывают предусмотреть последний шаг или повторяют действия, не задав условие остановки. Проследите весь ход выполнения: есть ли конечный шаг и можно ли после него назвать полученный результат? Если нет, добавьте завершение или исправьте порядок действий.
Неправильное направление стрелок или пропущенный переход мешают понять схему. Ошибку легко допустить, если нарисовать блоки, но не проверить, куда ведёт каждый выход. Начните с первого блока и пройдите по стрелкам до конца, проверяя все возможные ветви. Если путь обрывается или ведёт не к тому действию, переход нужно исправить.
Чтобы составить алгоритм, нужно понимать устройство задачи: какие данные заданы и какой результат требуется получить. Также помогает умение записывать действия в последовательном порядке. Эти знания позволяют проверить, действительно ли каждый шаг приближает исполнителя к ответу.
При изучении программирования команды алгоритма записывают на языке программирования, понятном компьютеру. Схема помогает заранее спланировать действия и проверить логику программы до её записи. Если порядок шагов в схеме неверен, такая же ошибка появится и в программе.
Чем алгоритм отличается от обычного описания действий?
Алгоритм задаёт точные команды и порядок их выполнения, чтобы исполнитель мог действовать без догадок. Обычное описание может быть расплывчатым и не приводить к однозначному результату.
Почему одну и ту же команду нельзя дать любому исполнителю?
Исполнитель выполняет только те команды, которые входят в его систему команд и понятны ему. Например, человек может взять кусок сыра, а простой робот — только выполнить доступное ему действие.
Обязательно ли алгоритм должен приводить к результату?
Да, иначе поставленная задача не решена. Алгоритм должен закончиться за конечное число шагов и дать предусмотренный результат.
Зачем изображать алгоритм схемой, если его можно записать словами?
Схема наглядно показывает действия и переходы между ними. По ней удобно проверять порядок шагов, особенно если алгоритм предусматривает выбор одного из нескольких путей.
Как по схеме понять, в каком порядке выполняются действия?
Нужно проследить по стрелкам путь от начала до завершения, переходя от одного блока к следующему. Если в схеме есть проверка условия, дальше следуют по той ветви, которая соответствует ответу.
§ 2. Алгоритм. Схема алгоритма