"Информатика. (в 2 частях)", Поляков К.Ю., Еремин Е.А.
Переменная — это именованная область памяти, где программа хранит данные. Благодаря имени можно обращаться к числу или тексту, не запоминая, где именно они находятся в памяти, и использовать данные в разных командах. Значение переменной задают присваиванием, а затем подставляют в выражения и выводят на экран. При новом присваивании прежнее значение заменяется, поэтому программа может изменять данные по ходу работы.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Переменная — именованная область памяти, в которой хранится значение. Программа обращается к данным по имени, потому что так удобнее, чем работать с неизвестным адресом в памяти. Например, можно назвать переменную с результатом вычисления result и использовать её в дальнейших командах.
Имя переменной — идентификатор, по которому программа находит переменную. В имени могут быть буквы, цифры и знак подчёркивания, но начинаться оно должно с буквы или подчёркивания. Пробелы обычно запрещены, а ключевые слова языка использовать нельзя: у них уже есть специальное назначение.
Присваивание — действие, при котором переменной задают значение. В записи x = 5 знак = означает не проверку равенства, а команду сохранить число 5 в переменной x. Слева указывают имя переменной, справа — значение или выражение, результат которого нужно сохранить.
Значение переменной — данные, хранящиеся в ней в данный момент. Это может быть число или другой вид данных, который поддерживает язык программирования. Во время выполнения программы значение может измениться, поэтому одна и та же переменная в разные моменты работы хранит разные данные.
Когда программист пишет имя переменной, программа использует его, чтобы найти соответствующие данные в памяти. Имя выбирают осмысленным: например, age легче связать с возрастом, чем случайный набор букв. Так код проще читать и проверять, особенно если в нём много значений. Имя не заменяет сами данные, а служит удобным способом к ним обратиться.
Правила записи имён нужны, чтобы программа могла однозначно распознавать их и отличать от команд языка. Обычно допустимы буквы, цифры и подчёркивание, но первый символ не может быть цифрой: иначе имя можно спутать с числом. Пробел разделяет отдельные элементы кода, поэтому имя вроде my name не считается одним идентификатором. Регистр тоже имеет значение: name и Name могут обозначать разные переменные, а ключевое слово уже зарезервировано языком.
При присваивании программа сначала выполняет вычисления справа от знака =, а затем записывает полученный результат в переменную слева. Например, в записи total = 3 + 4 сначала складываются числа, после чего в total сохраняется 7. Такой порядок позволяет использовать в присваивании не только готовое число, но и любое допустимое выражение. Знак равенства здесь обозначает действие записи, а не утверждение, что две части одинаковы.
После присваивания имя переменной можно использовать в других выражениях и командах вывода. Например, если name хранит текст, команда вывода может показать содержимое name на экране; если x хранит число, его можно сложить с другим числом. Это избавляет от необходимости каждый раз заново вводить или вычислять данные. При повторном присваивании новое значение заменяет старое: запись x = x + 1 сначала использует прежнее x, прибавляет единицу и сохраняет результат обратно в x.
| Аспект | Правило или пример | Пояснение |
|---|---|---|
| Назначение переменной | result = 12 | Имя помогает обратиться к данным, сохранённым в памяти. |
| Допустимое имя | score_1, name | Используй буквы, цифры и подчёркивание; не начинай с цифры. |
| Недопустимое имя | 2score, my name | Первое имя начинается с цифры, во втором есть пробел. |
| Присваивание значения | x = 5 | Число 5 записывается в переменную x. |
| Использование в выражении | y = x + 3 | Вычисление использует текущее значение x. |
| Повторное присваивание | x = x + 1 | Новое значение x заменяет прежнее. |
Сначала проверь, соответствует ли имя правилам языка, затем определи, где находится переменная и какое значение ей задаётся. Для выражений проследи порядок: вычисление справа, запись результата слева. Последняя строка напоминает, что повторное присваивание использует прежнее значение, но сохраняет уже новое.
Переменной нужно присвоить текст, а затем обратиться к ней в команде вывода. Кавычки показывают программе, что справа записан текст, а не имя другой переменной. Подставь вместо Иван своё имя, если решаешь задачу для себя.
Ответ: name = "Иван", затем print(name). На экране появится Иван. Если вывести текст в кавычках, программа может показать сам текст команды, а не обратиться к сохранённому значению.
Если сразу записать b в a, исходное значение a исчезнет. Поэтому сначала его нужно временно сохранить, а после этого перенести значения в нужном порядке. Пусть вначале a = 3, а b = 8: после обмена в a должно быть 8, а в b — 3.
Ответ: после обмена a = 8, b = 3. Переменная temp нужна как временное место хранения: без неё значение a было бы потеряно при выполнении второго шага. В программе временное имя можно выбрать другое, если оно соответствует правилам языка.
Пусть в n сначала хранится целое число 4. Нужно выполнить два присваивания по очереди: сначала изменить n, а затем использовать уже обновлённое значение. Это не одно выражение, которое меняет n само собой, а последовательность команд.
Ответ: на экране будет 10. Если не сохранять результат первого шага в n, следующее вычисление может использовать прежнее значение. Поэтому после каждого присваивания полезно записывать, какое значение теперь хранится в переменной.
Использовать переменную до присваивания. Ученик может ожидать, что переменная сама получит нужное значение, но программа не знает, что в ней хранить. Ошибка возникает, если пропустить ввод или начальное присваивание. Проверь по порядку: каждой переменной сначала задают значение, и только потом используют её в выражении или выводе.
Писать a == 5 вместо присваивания. Знаки легко перепутать, потому что оба связаны с равенством. Однако == обычно проверяет, равны ли значения, а = присваивает значение переменной. Чтобы проверить себя, спроси: нужно сохранить число 5 в a или сравнить a с 5?
Считать, что обе части x = x + 1 вычисляются одновременно. Тогда кажется, будто запись невозможна: значение x будто бы должно быть известно и неизвестно сразу. На деле сначала берётся старое значение справа, к нему прибавляется 1, а затем результат записывается в x. Проверь ход вычисления на конкретном числе, например при x = 4 результатом станет 5.
Нарушать правила имени или не замечать регистр. Имя 2name начинается с цифры и может быть недопустимым, а name и Name в чувствительном к регистру языке считаются разными идентификаторами. Такие ошибки появляются из-за опечаток или привычки не обращать внимания на заглавные буквы. Сверь имя в каждой команде с первоначальной записью и проверь первый символ.
Для работы с переменными нужно уметь записывать простые значения и арифметические выражения. Именно такие значения присваивают переменным, а выражения программа вычисляет перед записью результата. Если понимать порядок действий, легче проследить, какие данные хранятся после каждой команды.
Переменные используются при вводе и обработке данных, вычислении результатов, ветвлениях и циклах. Ветвление помогает выбрать действия в зависимости от значений, а цикл — повторять их, например постепенно изменяя счётчик. Поэтому понимание присваивания пригодится во многих программах.
Зачем программе нужны переменные?
Переменные позволяют хранить данные и обращаться к ним по понятному имени. Программа может использовать одно значение в нескольких командах и менять его во время работы.
Можно ли изменить значение переменной после присваивания?
Да. Если выполнить новое присваивание, в переменной окажется новое значение, а прежнее будет заменено.
Почему знак = в программе не всегда означает равенство?
В записи присваивания знак = означает, что результат справа нужно записать в переменную слева. Для проверки равенства в языках программирования обычно есть отдельная запись, например ==.
Можно ли назвать переменную числом или словом с пробелом?
Нет: имя не должно начинаться с цифры, а пробелы в нём обычно не разрешены. Выбирай имя из допустимых букв, цифр и знака подчёркивания и не используй ключевые слова языка.
Что означает запись x = x + 1?
Сначала программа берёт прежнее значение x и прибавляет к нему 1. Затем результат записывается обратно в x, поэтому переменная увеличивается на единицу.
§ 36. Переменные