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