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

§ 12. Алгоритмы и величины

"Информатика (базовый уровень)", Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

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

Кратко о теме

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

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

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

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

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

Величина — объект, которому в ходе решения задачи сопоставляется значение. Значение может быть числовым, например 12, или относиться к другому типу — например, быть буквой или ответом «да» либо «нет». Величины нужны, чтобы обозначить данные и результаты вычислений. Тогда с ними можно работать в командах алгоритма.

Тип величины — характеристика, которая определяет множество допустимых значений и действия, выполняемые над величиной. Например, целая величина предназначена для целых чисел, а логическая — для значений «истина» и «ложь». Тип помогает не смешивать несовместимые данные. Благодаря ему можно заранее понять, какие команды имеют смысл.

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

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

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

Тип ограничивает значения величины и доступные для неё действия, потому что разные данные имеют разный смысл. Целые числа удобны для подсчёта предметов, а логические значения отвечают на вопрос, выполнено ли условие. Для целых чисел можно складывать или сравнивать их, а логические значения используют при проверке условия. Если действие не соответствует типу, алгоритм не сможет корректно обработать данные.

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

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

Команды алгоритма выполняются по порядку, поэтому новое присваивание использует те значения, которые имеются в этот момент. Если записать x := 4, а затем x := x + 3, во второй команде берётся уже сохранённое число 4. После вычисления в x записывается 7, а прежнее значение заменяется. Чтобы сохранить прежнее значение, его нужно заранее поместить в другую переменную.

Величины, используемые в алгоритмах

Тип величиныКакие значения принимаетПример имени и значенияПримеры допустимых действий
ЦелыйЦелые числаколичество = 12Сложение, вычитание, умножение, сравнение
ВещественныйЦелые и дробные числатемпература = 18,5Арифметические действия, сравнение
СимвольныйОтдельные символыбуква = «А»Сравнение символов, обработка символа
ЛогическийИстина или ложьготово = истинаЛогические операции, проверка условия

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

Разбор задач

Задача 1. Записать алгоритм вычисления периметра прямоугольника по заданным длине a и ширине b. Исходные данные — длина и ширина, результат — периметр P. Поскольку периметр равен удвоенной сумме сторон разной длины, в формуле нужно сначала сложить a и b, а затем умножить сумму на 2.

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

  2. Запишем формулу P := 2 · (a + b). Сначала алгоритм вычисляет сумму длины и ширины, затем умножает её на 2. Полученное значение сохраняется в P.

  3. Выведем значение P как ответ. Если длина равна 5, а ширина — 3, сумма сторон разных размеров равна 8, а удвоенная сумма — 16. Значит, периметр такого прямоугольника равен 16.

Ответ: алгоритм состоит из команды P := 2 · (a + b) и вывода P.

Задача 2. Определить значение x после команд x := 4; x := x + 3. Важно не объединять команды в одно действие: они выполняются последовательно, и вторая использует состояние переменной после первой. Поэтому сначала находим значение x после первого присваивания, а затем подставляем его в выражение следующей команды.

  1. Выполним первую команду x := 4. Выражение справа равно 4, поэтому теперь текущее значение переменной x — 4. Имя переменной при этом не меняется.

  2. Перейдём ко второй команде x := x + 3. Подставим в выражение текущее значение x: получится 4 + 3 = 7. Результат записывается в x вместо прежнего значения.

  3. Проверим порядок: команда с числом 4 была выполнена раньше команды с прибавлением 3. Значит, во втором выражении нельзя использовать какое-то старое или неизвестное значение. После обеих команд в переменной хранится 7.

Ответ: x = 7.

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

  1. Обозначим входные данные именами a и b. Если числа вводятся как целые, это не означает, что все результаты вычислений тоже будут целыми. Поэтому заранее предусмотрим вещественный тип для результата m.

  2. Запишем команду m := (a + b) / 2. Скобки указывают, что сначала складываются исходные числа, а затем их сумма делится на 2. Так выражение соответствует формуле среднего арифметического.

  3. Выведем m после присваивания. Например, при a = 2 и b = 3 сумма равна 5, а среднее — 2,5. Вещественный тип позволяет сохранить этот дробный ответ без потери части значения.

Ответ: ввести a и b, вычислить m := (a + b) / 2, вывести m.

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

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

Считать присваивание равенством. Знак := задаёт команду: вычислить выражение справа и записать результат слева, а не утверждает равенство двух частей. Эту путаницу допускают из-за сходства со знаком = в математике. Проверьте себя: спросите, какое действие выполняется и какая переменная изменится после команды.

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

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

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

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

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

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

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

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

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

Чем переменная отличается от её значения?

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

Почему для величины важно указывать тип?

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

Как правильно читать команду присваивания?

Команду x := выражение читают так: вычислить выражение справа и записать полученный результат в переменную x. Знак := означает присваивание, а не обычное равенство.

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

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

Можно ли присвоить величине значение неподходящего типа?

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

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

§ 12. Алгоритмы и величины

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс
Учебник
"Информатика (базовый уровень)", Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.