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