"Математика (в 2 частях)", Миракова Т.Н., Пчелинцев С.В., Разумовский В.А. и др.
Алгоритм — это точное описание действий, которое помогает решить задачу и получить нужный результат. Его составляют для конкретного исполнителя: человека или устройства, способного выполнить записанные команды. Поэтому важно учитывать, какие действия исполнителю доступны, формулировать команды понятно и располагать их в правильном порядке. На примерах вычислений разберём, как составить алгоритм, выполнить его шаг за шагом и проверить ответ.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Алгоритм — точное и понятное описание последовательности действий, которая приводит к решению задачи. Он нужен, чтобы не ограничиваться общим намерением, а знать, что делать шаг за шагом. Например, указания «найти сумму» недостаточно, если не сказано, какие числа складывать и где записать ответ. Хороший алгоритм позволяет исполнителю действовать без догадок.
Исполнитель алгоритма — человек или устройство, которое выполняет команды. Это может быть ученик, калькулятор или компьютерная программа. Исполнитель должен понимать команды: иначе он не сможет выбрать нужное действие и выполнить его правильно. Поэтому алгоритм всегда адресован кому-то конкретному.
Команда — отдельное указание исполнителю выполнить определённое действие. Например, «сложи числа 4 и 7» — команда, потому что в ней ясно указано, что сделать. Команда должна быть доступна исполнителю и понятна ему. Если исполнитель не умеет выполнять действие или не может понять формулировку, такой шаг не сработает.
Система команд исполнителя — набор команд, которые исполнитель способен выполнять. У человека, калькулятора и компьютера эти возможности различаются. Алгоритм нужно составлять с учётом таких ограничений, иначе исполнитель встретит невыполнимое указание. Проверяя алгоритм, полезно заранее убедиться, что каждый его шаг входит в систему команд исполнителя.
Сначала задачу превращают в план действий. Для этого определяют исходные данные — то, что уже известно, — и цель, то есть какой результат требуется получить. Затем выбирают действия, которые связывают данные с целью. Например, если нужно найти сумму двух чисел, исходные данные — сами числа, цель — их сумма, а необходимое действие — сложение.
Команды формулируют точно, потому что исполнитель не должен угадывать замысел автора. Указание «сделай вычисление» не сообщает, какое действие выбрать, с какими числами работать и куда записать результат. Более точная команда называет действие и нужные данные: «сложи числа a и b, результат обозначь S». Чем яснее команда, тем меньше риск выполнить не то, что требуется.
Действия располагают в определённом порядке, потому что последующие шаги могут зависеть от предыдущих. Чтобы сообщить сумму, сначала нужно получить числа и сложить их; до сложения результата ещё нет. Если переставить команды, исполнитель может столкнуться с отсутствующими данными или получить другой результат. Поэтому при изменении порядка нужно проверить, остаются ли все действия выполнимыми и ведут ли они к прежней цели.
Один и тот же алгоритм подходит не каждому исполнителю. Например, человек может выполнить команду «начерти отрезок», а калькулятор — нет, если такой команды в его возможностях нет. Алгоритм выполняет только тот исполнитель, которому доступны все его команды. Это объясняет, почему при составлении инструкции важно заранее выбрать исполнителя и учитывать его систему команд.
Проверка по шагам показывает, действительно ли алгоритм приводит к нужному ответу. Выполняют первую команду, фиксируют результат, затем переходят к следующей и используют уже полученные данные. Такой порядок помогает заметить пропущенное действие, неверную команду или ошибку в вычислении. В конце сравнивают полученный результат с целью задачи: если цель достигнута, алгоритм сработал для данных условий.
| Понятие | Что означает | Пример |
|---|---|---|
| Алгоритм | Точная последовательность действий для решения задачи | Получить два числа, сложить их, сообщить сумму |
| Исполнитель алгоритма | Человек или устройство, выполняющее команды | Ученик, который считает по инструкции |
| Команда | Отдельное указание выполнить действие | «Сложи числа 4 и 7» |
| Система команд исполнителя | Набор команд, доступных исполнителю | Действия, которые может выполнить калькулятор |
Таблица помогает различать четыре понятия: сам план, того, кто его выполняет, отдельный шаг и доступные исполнителю действия. При составлении алгоритма можно проверить каждый шаг по столбцам: понятна ли команда и умеет ли исполнитель её выполнить. Примеры показывают, как определения проявляются в простой задаче.
Задача 1. Составить последовательность действий, чтобы вычислить сумму двух заданных чисел. Обозначим числа a и b, а искомую сумму — S. Исполнитель должен получить оба числа, выполнить сложение и сообщить результат. Проверим, чтобы сначала появились исходные данные, а команда сложения использовала именно их.
Ответ: алгоритм состоит из получения чисел, их сложения и сообщения результата именно в таком порядке. Если, например, a = 6, а b = 3, то на втором шаге получится S = 9. Последний шаг сообщает уже найденную сумму.
Задача 2. Описать алгоритм нахождения периметра прямоугольника по заданным длине a и ширине b. Периметр — сумма длин всех сторон. У прямоугольника две стороны имеют длину a и две — длину b, поэтому можно сложить a и b, а полученную сумму умножить на 2. Запись формулы P = 2(a + b) задаёт вычисление, но для исполнителя полезно разложить его на отдельные команды.
Ответ: алгоритм находит периметр по формуле P = 2(a + b). Например, при a = 5 и b = 3 сначала получаем s = 8, затем P = 16. Промежуточная сумма нужна, чтобы не потерять скобки и правильно выполнить действия.
Задача 3. По описанию алгоритма вычисления выражения определить результат при заданных значениях переменных. Пусть дан алгоритм: получить x и y; вычислить u = x + y; вычислить v = 2u; сообщить v. При x = 4 и y = 1 нельзя сразу подставить числа в последний шаг: сначала нужно выполнить команды по порядку. Так мы проследим, какие значения получают переменные на каждом этапе.
Ответ: результат равен 10. Значение u стало известно только после второго шага, поэтому команда с переменной v выполняется позже. Проверка промежуточных значений помогает обнаружить ошибку, если итог отличается.
Считать алгоритмом любое описание задачи. Так поступают, когда формулируют только цель: например, «найти периметр», но не указывают, как это сделать. Исполнителю тогда приходится самостоятельно выбирать действия, а решение может отличаться от задуманного. Проверьте себя: можно ли по записи выполнить задачу, не придумывая ни одного шага?
Записывать неоднозначную команду вроде «сделай вычисление». Такая формулировка не объясняет, что и с чем вычислять, поэтому разные исполнители могут понять её по-разному. Часто неясная команда кажется достаточной тому, кто уже знает решение. Чтобы проверить себя, представьте, что исполнитель впервые видит задачу: сможет ли он точно определить действие и данные?
Менять порядок команд без проверки. Ошибка возникает, когда кажется, что порядок шагов не важен, хотя один из них использует результат предыдущего. Например, нельзя вычислить удвоенную сумму, пока сама сумма не найдена. Перед перестановкой проверьте, доступны ли все нужные данные на каждом шаге и сохраняется ли результат.
Предлагать исполнителю команду, которой нет в его системе команд. Такой шаг невозможно выполнить, даже если для человека он выглядит простым. Иногда составитель забывает, что возможности исполнителей различаются. Сверьте каждую команду с тем, что умеет выбранный исполнитель; если нужного действия нет, алгоритм для него надо изменить.
Для работы с алгоритмами нужно уметь выполнять арифметические действия и следовать инструкциям в заданном порядке. Эти навыки помогают не только вычислять, но и отслеживать, какие данные получены после каждого шага. Алгоритмический подход пригодится при решении математических задач: формулу можно разложить на последовательность понятных действий. Он также служит основой для изучения программирования, где команды записывают так, чтобы их мог выполнить компьютер.
Чем алгоритм отличается от обычного описания решения?
Обычное описание может сообщать только цель или общий замысел. Алгоритм задаёт конкретные действия в таком порядке, чтобы исполнитель мог выполнить их и получить результат.
Кто может быть исполнителем алгоритма?
Исполнителем может быть человек, компьютер или другое устройство. Он должен уметь понимать и выполнять каждую команду алгоритма.
Почему команда должна быть точной?
Точная команда сообщает исполнителю, какое именно действие выполнить. Если формулировка расплывчата, исполнитель может понять её по-разному или не суметь продолжить работу.
Что такое система команд исполнителя?
Это набор команд, которые конкретный исполнитель способен выполнить. Алгоритм для него составляют только из команд этого набора.
Можно ли переставлять команды местами?
Иногда можно, если действия независимы и результат не меняется. Но часто команда использует результат предыдущей, поэтому перестановка приведёт к ошибке или другому ответу.
Урок 1.Алгоритмы