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