На Горох
Информатика, 7 класс

§ 33. Линейные алгоритмы

"Информатика. (в 2 частях)", Поляков К.Ю., Еремин Е.А.

Объяснение темы В оглавлении: § 33. Линейные алгоритмы

Кратко о теме

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

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

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

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

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

Команда присваивания вычисляет выражение и записывает полученное значение в переменную. Переменная — это именованное место, где программа хранит число или другой результат; например, запись S := a * b означает: умножить a на b и сохранить произведение в S. Такая команда помогает не только получить ответ, но и сохранить промежуточное значение для следующего шага.

Команда ввода — команда, с помощью которой программа получает исходные данные. Например, пользователь может ввести длину и ширину прямоугольника, а программа сохранит их в переменных a и b. Без ввода алгоритм не узнает значения, с которыми нужно выполнить вычисления.

Команда вывода сообщает пользователю результат работы программы. Например, команда вывода S показывает вычисленную площадь на экране. Она нужна потому, что значение, оставшееся внутри программы, само по себе не становится ответом, доступным пользователю.

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

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

Переменные хранят исходные данные и промежуточные результаты, чтобы программа могла обращаться к ним на следующих шагах. Команда присваивания обновляет значение переменной: сначала программа вычисляет выражение справа, затем записывает ответ вместо прежнего значения. Например, если x равен 4, команда x := x + 1 оставит в x число 5, а не сохранит одновременно оба числа.

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

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

Линейный алгоритм подходит, если для решения заранее известен один порядок действий и каждый шаг выполняется один раз. Но если дальнейший шаг зависит от ответа на вопрос, например нужно выбрать действие при условии, потребуется ветвление. Если некоторые действия надо выполнять снова, понадобится цикл; одной линейной последовательности для выбора или повторения недостаточно.

Этапы выполнения линейного алгоритма

ЭтапЧто происходитПример действия
Ввод исходных данныхПрограмма получает значения, необходимые для решения.Ввести длину a и ширину b.
Вычисление промежуточных значенийНаходятся величины, которые понадобятся в следующих вычислениях.Вычислить путь s := v * t.
Получение итогового результатаВыполняется последнее вычисление, дающее ответ задачи.Найти площадь S := a * b.
Вывод результатаОтвет передаётся пользователю.Вывести S.

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

Разбор задач

Задача. Даны длина и ширина прямоугольника. Составить алгоритм вычисления его площади. Площадь находится умножением длины на ширину, поэтому сначала программе нужны обе величины. Обозначим их a и b, а площадь — S.

  1. Ввести значения a и b: это исходные данные, без которых вычисление невозможно.
  2. Выполнить присваивание S := a * b. Например, при a = 6 и b = 3 переменная S получит значение 18.
  3. Вывести S, чтобы показать пользователю найденную площадь.

Ответ. Алгоритм: ввести a, b; присвоить S := a * b; вывести S. При длине 6 и ширине 3 площадь равна 18 квадратным единицам.

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

  1. Ввести числа a и b.
  2. Вычислить сумму: присвоить s := a + b. Если a = 8, а b = 4, в s будет храниться 12.
  3. Найти среднее: присвоить m := s / 2. Теперь в m хранится 6.
  4. Вывести m, а не s: именно m является ответом задачи.

Ответ. Алгоритм: ввести a, b; присвоить s := a + b; присвоить m := s / 2; вывести m. Для чисел 8 и 4 среднее арифметическое равно 6.

Задача. Даны начальная скорость равномерного движения в метрах в секунду и время в секундах. Найти пройденный путь в километрах. Сначала путь находят в метрах по формуле s = v * t, после чего переводят метры в километры делением на 1000. Перевод нельзя выполнять раньше вычисления пути, потому что пока ещё нечего переводить.

  1. Ввести скорость v и время t.
  2. Присвоить s := v * t, чтобы получить путь в метрах. При v = 5 и t = 600 получится s = 3000.
  3. Присвоить k := s / 1000. Переменная k хранит тот же путь, но уже в километрах: 3.
  4. Вывести k — это итоговый результат в требуемых единицах.

Ответ. Алгоритм: ввести v, t; вычислить s := v * t; вычислить k := s / 1000; вывести k. При скорости 5 м/с и времени 600 с пройденный путь равен 3 км.

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

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

  • Считать присваивание математическим равенством. В математике равенство утверждает, что две записи обозначают одно и то же, а при присваивании программа вычисляет выражение и заменяет прежнее значение переменной. Проверь себя на x := x + 1: если x был равен 4, после команды он станет равен 5.

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

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

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

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

Линейные алгоритмы применяются при создании программ для вычислительных задач, например для расчётов площади или пути. Они дают основу для изучения ветвления, где выбирают действия по условию, и цикла, где команды повторяются. Новые виды алгоритмов дополняют последовательность командами выбора или повторения.

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

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

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

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

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

Можно ли менять порядок команд в линейном алгоритме?

Не всегда: если команда использует результат предыдущего вычисления, их порядок менять нельзя. Переставить можно только независимые команды, если это не меняет результат.

Что происходит с прежним значением переменной при присваивании?

Переменная получает новое значение, а прежнее заменяется. Например, после x := x + 1 в x хранится значение, увеличенное на единицу.

Зачем нужны промежуточные переменные?

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

Как проверить, что линейный алгоритм даёт правильный результат?

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

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

§ 33. Линейные алгоритмы

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

Учебник

Оглавление →
Предмет
Информатика
Класс
7 класс
Учебник
"Информатика. (в 2 частях)", Поляков К.Ю., Еремин Е.А.