"Информатика (в 2 частях)", Павлов Д.И., Полежаева О.А., Коробкова Л.Н. и др./ Под ред. Горячева А.В.
Алгоритм — это точный порядок действий, который приводит к нужному результату. Его выполняет исполнитель: человек, робот или компьютер, понимающий определённые команды. Чтобы компьютер мог выполнить алгоритм, его записывают в виде программы. В Скретче программа создаётся из соединённых графических блоков: событий, команд движения, условий и повторений. Умение составлять алгоритмы помогает решать задачи по шагам, находить ошибки и создавать собственные модели.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Алгоритм — точное и понятное описание последовательности действий для достижения результата. Он нужен, чтобы не пропустить шаг и выполнить задачу в правильном порядке. Например, рецепт приготовления блюда тоже можно считать алгоритмом.
Исполнитель — объект, который может выполнять команды алгоритма из заданного набора действий. Исполнителем бывает человек, робот или компьютерная программа. Это понятие помогает заранее определить, какие команды доступны и какой результат от них можно получить.
Программа — алгоритм, записанный на языке, понятном компьютеру или исполнителю. Обычное описание приходится переводить в команды, потому что компьютер не понимает свободную человеческую речь. Программа позволяет исполнителю выполнить алгоритм автоматически.
Скретч — визуальная среда программирования, в которой программа создаётся соединением графических блоков. Блоки заменяют запись команд текстом и подсказывают, какие элементы можно соединить. Поэтому в Скретче удобно учиться составлять алгоритмы и сразу видеть результат их работы.
Решение задачи сначала представляют в виде алгоритма, потому что так легче выделить цель и порядок действий. Человек может проверить такой план ещё до работы с компьютером и обнаружить пропущенные шаги. Затем алгоритм переводят в программу: каждая команда записывается на языке, который понимает выбранный исполнитель.
Хороший алгоритм должен быть понятным, точным, определённым и результативным. Понятность означает, что исполнитель знает смысл каждой команды, а точность не оставляет лишних толкований. Определённость гарантирует одинаковый выбор действий в одинаковой ситуации, а результативность означает, что выполнение в итоге приводит к цели.
Исполнитель получает команды по одному шагу или из специальной конструкции, например цикла. Он может выполнить только действия, входящие в его систему команд, то есть в список доступных ему операций. Поэтому нельзя приказать персонажу Скретча выполнить неизвестное действие: сначала нужно найти подходящий блок или составить нужную последовательность из доступных блоков.
В Скретче блоки соединяют в сценарии — цепочки команд для персонажа или другого объекта. Выполнение обычно начинается после события: нажатия зелёного флага, клавиши или сообщения от другого объекта. Событие служит сигналом запуска, а следующие блоки определяют, что именно произойдёт после него.
Из простых команд строят сложные алгоритмы тремя основными способами. Последовательность задаёт шаги один за другим, повторение позволяет не записывать одинаковую команду много раз, а ветвление выбирает один из вариантов по условию. Например, персонаж может повторять движение, пока не коснётся края, а затем повернуть в другую сторону.
| Признак | Алгоритм | Программа в Скретче |
|---|---|---|
| Назначение | План решения задачи | Выполнение плана исполнителем |
| Форма записи | Слова, схема или список шагов | Соединённые графические блоки |
| Исполнитель | Заранее выбранный объект | Персонаж, сцена или другой объект Скретча |
| Основные действия | Команды, условия и повторения | Блоки движения, событий, управления и других групп |
| Способ запуска | Начало выполнения первого шага | Событие: флаг, клавиша или сообщение |
| Проверка результата | Сравнение с целью алгоритма | Наблюдение за сценой и исправление блоков |
Сначала найдите в таблице назначение и форму записи: они показывают разницу между планом и его компьютерной реализацией. Затем проверьте исполнителя и способ запуска, чтобы понять, кто и когда выполняет команды. Последняя строка помогает оценить, достигнута ли цель и где искать ошибку.
Условие: составить алгоритм, по которому исполнитель рисует квадрат. У квадрата четыре равные стороны и четыре поворота на 90 градусов. Значит, повторяющиеся действия можно объединить в цикл.
Ответ: алгоритм состоит из цикла «повторить 4 раза», внутри которого находятся команды «пройти 100 шагов» и «повернуть на 90 градусов». Цикл сокращает запись, но сохраняет все четыре одинаковых стороны.
Условие: создать в Скретче программу, в которой персонаж перемещается по сцене и здоровается при нажатии клавиши. Сначала нужно выбрать событие, затем расположить команды в нужном порядке. Движение должно происходить после запуска, а сообщение — после нажатия клавиши.
Ответ: персонаж движется по первой цепочке команд, а при нажатии выбранной клавиши произносит сообщение. Проверить программу можно, запустив сцену и нажав нужную клавишу.
Условие: программа должна проверить число и сообщить, является ли оно чётным. Число чётное, если при делении на 2 остаток равен 0. Поэтому в алгоритме нужны ввод числа, вычисление остатка и ветвление.
Ответ: программа использует условие вида «число mod 2 = 0». Ветвление выбирает одно из двух сообщений, поэтому результат появляется для любого введённого числа.
Команды могут быть записаны в неправильном порядке, поэтому исполнитель начинает действия не с того шага. Так происходит, когда блоки добавляют без предварительного плана. Проверьте сценарий по шагам и проговорите, что произойдёт после каждой команды.
Неоднозначная команда вроде «сделай красиво» непонятна исполнителю, потому что допускает разные действия. Её часто используют по привычке, как в разговоре с человеком. Замените её точными командами и укажите число, направление, цвет или другое нужное значение.
Программа не начинается, если пропущен блок запуска или блоки соединены не с тем объектом. Ошибку допускают, когда проверяют только наличие блоков, но не событие и выбранного персонажа. Нажмите нужный флаг или клавишу и убедитесь, что сценарий относится к активному объекту.
Неверно составленные цикл или условие могут зациклить программу либо навсегда оставить нужную ветвь недоступной. Такое случается, если условие не меняется или проверяется не тот результат. Проверьте начальное значение, изменение переменных и оба возможных исхода условия.
До изучения темы нужно уметь представлять действия по шагам, пользоваться командами и понимать последовательности. Дальше эти знания пригодятся при изучении циклов, ветвлений, переменных и событий, а также при создании компьютерных моделей. Алгоритмы связывают информатику с математикой, технологией и робототехникой и помогают планировать повседневные дела.
Чем алгоритм отличается от программы?
Алгоритм описывает порядок действий в понятной для человека форме. Программа — это тот же алгоритм, записанный на языке, который понимает компьютер или другой исполнитель.
Почему исполнитель не может выполнить обычную фразу вроде «сделай красиво»?
Такая фраза не задаёт точных действий и допускает разные толкования. Исполнителю нужны конкретные команды из его системы команд: например, изменить размер, цвет или положение объекта.
Зачем в Скретче нужны блоки событий?
Блок события сообщает, когда нужно начать выполнение сценария. Например, после нажатия зелёного флага или клавиши персонаж получает связанные с событием команды.
Когда в алгоритме используют цикл, а когда ветвление?
Цикл используют, когда одни и те же действия нужно повторить несколько раз или пока выполняется условие. Ветвление нужно, когда дальнейшие действия зависят от проверки условия.
Почему программа может не работать, хотя все блоки соединены?
Возможно, отсутствует блок запуска, выбран не тот объект или условие никогда не выполняется. Также ошибка может быть в порядке команд или в настройках самого сценария.
15. Алгоритмы и программа Скретч