На Горох
Информатика, 7 класс

§ 1. Алгоритм

"Информатика (в 2-х частях)", Горячев А.В., Макарина Л.А., Паволоцкий А.В., Платонова Н.С.

Объяснение темы В оглавлении: § 1. Алгоритм

Кратко о теме

Алгоритм — точное описание действий, которые помогают решить задачу и получить нужный результат. Его выполняет человек или устройство, но только если понимает каждую команду и умеет её выполнить. Поэтому при составлении алгоритма нужно учитывать возможности исполнителя, выбирать ясные команды и располагать их в правильном порядке. Записанный на понятном исполнителю языке алгоритм называют программой.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Алгоритм — точное и понятное исполнителю описание последовательности действий для решения задачи. Обычный совет вроде «постарайся быстрее» оставляет выбор самому человеку, а алгоритм указывает, что делать. Поэтому по нему можно выполнять задачу шаг за шагом и проверять, получен ли нужный результат.

Исполнитель алгоритма — человек или устройство, способное выполнять команды алгоритма. Команды должны быть ему понятны: нельзя поручить исполнителю действие, смысл которого он не может определить. Это помогает составлять инструкции с учётом того, кто именно будет их выполнять.

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

Программа — алгоритм, записанный на языке, понятном исполнителю. В программе команды расположены в нужном порядке, и исполнитель выполняет их одну за другой. Такая запись позволяет передать алгоритм устройству или другому исполнителю.

Как это устроено

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

Алгоритм может выполнять только тот исполнитель, которому доступны все его команды. Человек способен понять указание «поверни налево», а простое устройство может распознавать только команды «вперёд» и «назад». Поэтому сначала выясняют возможности исполнителя, а затем подбирают подходящие действия. Иначе алгоритм остановится на команде, которую исполнитель не умеет выполнять.

Точность означает, что каждое действие сформулировано так, чтобы его можно было выполнить без догадок. Например, команда «положи тетрадь на парту» понятнее, чем «разберись с тетрадью»: во втором случае непонятно, что именно нужно сделать. Чёткая формулировка помогает разным исполнителям одинаково понять команду. Она также упрощает поиск ошибки, если результат оказался неверным.

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

Представим, что нужно сложить числа 8 и 5. Исполнитель сначала берёт первое число, затем прибавляет к нему второе и сообщает полученную сумму. Он выполняет действия по порядку: 8 + 5 = 13, значит, результат — 13. Если исполнитель понимает команды и умеет складывать числа, алгоритм приводит его к ответу.

Исполнитель, команда и алгоритм

ПонятиеЧто означаетПример или пояснение
АлгоритмТочная последовательность действий для решения задачи.Шаги, по которым находят сумму чисел.
Исполнитель алгоритмаЧеловек или устройство, выполняющее команды.Ученик, робот или компьютер.
Система команд исполнителяВсе команды, которые исполнитель умеет выполнять.Для робота: «вперёд», «назад», «поворот».
ПрограммаАлгоритм, записанный на понятном исполнителю языке.Запись команд, которую выполняет компьютер.
Связь между исполнителем и командамиКоманды должны входить в систему команд исполнителя и быть ему понятны.Роботу нельзя дать команду, которой он не умеет следовать.

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

Разбор задач

Задача 1. Составить инструкцию, как пройти от входа в класс до своей парты. Выберем исполнителя — человека, который знает, где находится его парта. Команды «иди вперёд» и «поверни направо» ему понятны, но направление и число шагов нужно указать достаточно точно. Сначала мысленно определим маршрут, затем запишем его без расплывчатых указаний.

  1. Встань у входа в класс лицом к доске.
  2. Иди прямо до прохода между рядами парт.
  3. Поверни направо и иди вдоль ряда до своей парты.
  4. Остановись у своей парты.

Ответ: инструкция задаёт последовательность действий от входа до парты. Если расположение парт или исходное направление другие, маршрут нужно уточнить, иначе команды могут привести не туда.

Задача 2. Записать алгоритм вычисления значения выражения по заданным числам: (a + b) × c. Здесь сначала нужно выполнить действие в скобках, потому что его результат затем умножают на c. Если сразу умножать отдельные числа, получится другое выражение. Поэтому обозначим промежуточный результат и используем его на следующем шаге.

  1. Получить исходные значения a, b и c.
  2. Сложить a и b, результат обозначить s.
  3. Умножить s на c.
  4. Записать полученный результат.

Ответ: алгоритм: s = a + b; результат = s × c. Например, при a = 2, b = 3 и c = 4 получаем s = 5, а затем 5 × 4 = 20.

Задача 3. Исполнитель перемещается по клетчатому полю к цели и умеет выполнять только команды «вверх», «вниз», «влево» и «вправо» на одну клетку. Нужно составить маршрут с учётом того, что исполнитель не может сразу пройти несколько клеток или перепрыгнуть препятствие. Сначала выясним, сколько клеток отделяет его от цели по горизонтали и вертикали. Затем запишем каждое перемещение отдельно и проверим маршрут.

  1. Определи, сколько клеток нужно пройти вправо или влево до столбца с целью.
  2. Запиши нужное число команд движения по горизонтали, по одной клетке за команду.
  3. Определи расстояние по вертикали и добавь команды «вверх» или «вниз».
  4. Проверь, что команды не ведут через препятствие и заканчиваются у цели.

Ответ: алгоритм составляют только из доступных команд, например: «вправо», «вправо», «вверх». Точный маршрут зависит от расположения старта, цели и препятствий на поле.

Типичные ошибки

  • Расплывчатая команда. Указание «сделай аккуратно» не говорит исполнителю, какое действие выполнить. Такую формулировку часто выбирают, потому что человек сам догадывается о смысле совета. Проверь себя: можно ли выполнить команду, не задавая уточняющих вопросов? Если нет, опиши конкретное действие.

  • Команда не входит в систему команд. Исполнитель не сможет выполнить, например, поворот, если не умеет поворачивать. Ошибку допускают, когда пишут алгоритм, не подумав о возможностях исполнителя. Сверь каждую команду с тем, что исполнитель действительно умеет делать.

  • Зависимые действия переставлены местами. Тогда команда может потребовать результат, который ещё не получен, например умножение промежуточной суммы до её вычисления. Обычно шаги меняют местами, потому что не замечают связи между ними. Проверь, есть ли перед каждым действием все нужные данные.

  • Любую последовательность принимают за алгоритм. Набор команд может не привести к цели или выполняться бесконечно. Такое происходит, если проверяют наличие шагов, но не их результат и завершение. Выполни алгоритм по порядку и выясни, решена ли задача и останавливается ли исполнитель.

Связь с другими темами

Чтобы разобраться в алгоритмах, полезно уметь выполнять инструкции по шагам и понимать, что действия образуют последовательность. Это помогает увидеть, почему нельзя пропускать или произвольно менять шаги. Позже понятие алгоритма понадобится при изучении способов записи алгоритмов и программирования. Оно также лежит в основе решения задач на компьютере: компьютер выполняет команды программы в заданном порядке.

Что запомнить

  • Алгоритм описывает действия для решения задачи.
  • Команды алгоритма должны быть точными и понятными исполнителю.
  • Исполнитель выполняет только команды из своей системы команд.
  • Порядок команд может влиять на результат.
  • Алгоритм должен приводить к решению поставленной задачи.
  • Программа — алгоритм, записанный на понятном исполнителю языке.

Частые вопросы по теме

Чем алгоритм отличается от обычной инструкции?

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

Может ли один алгоритм быть понятен разным исполнителям?

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

Что делать, если исполнитель не умеет выполнять одну из команд?

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

Почему важно точно указывать порядок действий?

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

Любая ли последовательность команд является алгоритмом?

Нет. Она должна быть точной, выполнимой данным исполнителем и вести к решению задачи. Кроме того, выполнение должно завершиться, а не продолжаться бесконечно.

Спросить по теме параграфа

§ 1. Алгоритм

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
7 класс
Учебник
"Информатика (в 2-х частях)", Горячев А.В., Макарина Л.А., Паволоцкий А.В., Платонова Н.С.