На Горох
Информатика

21. Алгоритмы и программы

"Информатика (в 2 частях)", Павлов Д.И., Полежаева О.А., Коробкова Л.Н. и др./ Под ред. Горячева А.В.

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

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

Один и тот же алгоритм можно записать словами, изобразить блок-схемой или представить на языке программирования. Слова удобны для объяснения человеку, а блок-схема показывает порядок шагов и возможные переходы наглядно. Язык программирования нужен, когда алгоритм должен выполнить компьютер. Разные формы записи помогают решать разные задачи, но должны передавать одну и ту же логику.

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

Сравнение алгоритма и программы

ПризнакАлгоритмПрограмма
НазначениеОписывает решение задачиПозволяет компьютеру выполнить решение
Форма записиСлова, схема или другая точная записьЗапись на языке программирования
Для кого предназначенДля исполнителя, понимающего командыДля выполнения компьютером
Требования к командамЯсные и доступные исполнителюСоответствующие правилам языка и возможностям компьютера
Результат выполненияРешение задачи, если алгоритм веренРезультат работы программы
ПримерПошаговый план приготовления чаяКоманды для сложения двух чисел

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

Разбор задач

Алгоритм приготовления чая

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

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

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

Блок-схема для нахождения большего из двух чисел

Условие: из двух чисел a и b определить большее и представить алгоритм блок-схемой. Для схемы потребуются начало, ввод чисел, проверка условия и два направления выполнения. Сравнение a ≥ b удобно выбрать так, чтобы при равенстве чисел ответ тоже был определён.

  1. Начинаем схему с блока «Начало», затем добавляем блок ввода значений a и b.
  2. Добавляем проверку условия «a ≥ b?». Это точный вопрос, на который возможен ответ «да» или «нет».
  3. Из ветви «да» ведём стрелку к действию «вывести a», а из ветви «нет» — к действию «вывести b».
  4. Обе ветви соединяем с блоком «Конец» и проверяем схему на разных парах чисел, включая равные.

Ответ: схема сравнивает числа, выводит a при a ≥ b и b в противном случае. Разветвление показывает, что дальнейшие действия зависят от результата проверки. При равных числах будет выведено a, которое в этом случае равно b.

Программа для суммы двух чисел

Условие: перевести в программу алгоритм вычисления суммы двух введённых чисел. Для компьютера нужно явно указать, откуда взять значения, какое действие выполнить и что показать пользователю. Запишем пример на языке Python, где правила языка задают точную форму команд.

  1. Определяем ввод: команда input() получает запись с клавиатуры, а int() превращает её в целое число.
  2. Сохраняем введённые значения в переменные a и b, чтобы затем использовать их в вычислении.
  3. Вычисляем сумму командой s = a + b. Переменная s хранит результат сложения.
  4. Организуем вывод: команда print(s) показывает найденную сумму.

Ответ: программа может выглядеть так: a = int(input()); b = int(input()); s = a + b; print(s). В ней есть ввод данных, операция и вывод результата. Если язык требует вводить каждую команду на отдельной строке, именно так и нужно оформить запись.

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

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

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

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

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

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

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

Алгоритмы применяются не только в информатике. В математике с их помощью описывают последовательность решения задачи, а в технологических процессах — порядок операций для получения изделия или результата. Умение точно задавать шаги помогает проверять решение и в учебных задачах, и в практической работе.

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

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

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

Можно ли считать программой алгоритм, записанный обычными словами?

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

Почему компьютер не может выполнить команду, сформулированную неточно?

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

Чем исполнитель алгоритма отличается от пользователя программы?

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

Можно ли один алгоритм записать на разных языках программирования?

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

Почему программа может быть написана без ошибок, но давать неверный результат?

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

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

21. Алгоритмы и программы

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

Учебник

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