Линейные алгоритмы и обмен значений
💻 Информатика · 9 класс
Линейные алгоритмы
Линейный алгоритм — это алгоритм, в котором команды выполняются строго одна за другой, в том порядке, в каком записаны, без ветвлений и повторений. Это самая простая алгоритмическая структура, которую называют следованием. С неё начинают изучение программирования, потому что её легко проследить и понять.
Переменные и присваивание
Переменная — это именованная ячейка памяти, в которой хранится значение. У переменной есть имя, тип и текущее значение. Поместить значение в переменную можно командой присваивания:
a := 5
Слева от знака стоит имя переменной, справа — выражение. Сначала вычисляется правая часть, затем результат записывается в переменную. Важно понимать: старое значение при этом полностью теряется и заменяется новым. Поэтому присваивание — это не равенство из математики, а действие «записать значение в ячейку».
Пример линейного алгоритма
Вычислим периметр прямоугольника со сторонами, которые обозначим переменными:
ввод a, b
P := 2 * (a + b)
вывод P
Все три команды выполняются по очереди — это типичный линейный алгоритм. Сначала программа получает данные, затем вычисляет результат, затем выводит его. Этот порядок «ввод — обработка — вывод» характерен для большинства простых программ.
Обмен значений двух переменных
Классическая задача: поменять местами значения двух переменных, которые мы обозначим a и b. Прямое присваивание a := b сразу теряет старое значение переменной a, и оно становится недоступным. Поэтому вводят вспомогательную переменную c, которая временно хранит одно из значений:
c := a
a := b
b := c
| Шаг | a | b | c |
|---|---|---|---|
| начало | 3 | 7 | — |
| первая команда | 3 | 7 | 3 |
| вторая команда | 7 | 7 | 3 |
| третья команда | 7 | 3 | 3 |
В результате значения переменных поменялись местами: там, где было 3, стало 7, и наоборот. Вспомогательная переменная сохранила первое значение от потери.
Выражения и порядок действий
В правой части присваивания может стоять не только число, но и целое арифметическое выражение. При его вычислении соблюдается обычный математический порядок действий: сначала умножение и деление, потом сложение и вычитание, а скобки меняют этот порядок. Поэтому в формуле периметра скобки обязательны: без них умножение на 2 выполнилось бы только для первой стороны. Линейные алгоритмы часто состоят именно из цепочки таких вычислений, где результат одной команды используется в следующей. Например, можно сначала вычислить площадь, а затем по ней — другую величину. Главное — помнить, что к моменту использования переменной в неё уже должно быть записано значение, иначе результат будет неопределённым.
Частые ошибки. Меняют значения без вспомогательной переменной и теряют данные; путают порядок команд (в линейном алгоритме он определяет результат); читают присваивание как равенство в математике; забывают, что правая часть вычисляется до записи в переменную.
Кратко о главном
- Линейный алгоритм — команды одна за другой без ветвлений и циклов.
- Присваивание сначала вычисляет правую часть, затем записывает результат.
- Для обмена значений нужна вспомогательная переменная.
- Порядок команд определяет результат.
- Типичная схема программы: ввод — обработка — вывод.