Переменные – это некая сущность, которая способна хранить в себе определенные значения, например, числа. Вспомните из курса математики уравнение:
2x = 10
Путем нехитрых математических операций становится понятным, что
x = 5
Итак, что же это значит? А значит это, что в какой-то переменной с названием «Х» содержится число пять. Иначе говорят, что переменная «Х» равна пяти.
Теперь вернемся к программированию.
В программировании не решают уравнения, чтобы найти значение той или иной переменной. В программировании переменным значения присваивают. То есть запись в коде программы
a = 100
будет означать, что мы задаем значение переменной. С этого момента и до конца программы компилятор будет знать, что в переменной «a» содержится числовое значение «100». Иными словами, когда в коде программы после этой строчки компилятор будет видеть «a», на самом деле он будет тут же подставлять ее значение «100».
И так будет продолжаться до того момента, пока мы, к примеру, не присвоим переменной «a» какое-то новое значение. Сразу после этого старое значение «100» будет забыто, теперь «a» будет иметь новое значение. Проследите, к примеру, какой результат выдаст программа, представленная на рисунке выше. В определенный момент мы переопределяем значение переменной «a» с 100 на 300. Теперь старое значение забыто, в памяти остается только новое значение.
Переменные в программировании могут содержать в себе не только числовые, но и текстовые значения. Говоря о текстовых значениях, необходимо уточнить, что текстом с точки зрения программирования является вся символьная информация: «мама», буква «Т», какой-то символ или число в кавычках «3 + 5». Все, что задается в кавычках – для компилятора это текст.
Напомню, что компилятор – это, грубо говоря, среда программирования. Пока этого достаточно для понимания. В процессе своего роста как программиста вы поймете, что такое компилятор.
Текстовые переменные в языке Бейсик обязательно должны иметь символ доллара после своего названия:
a$ = “Hello”
Невозможно в Бейсике присвоить текстовое значение переменной «a». Текстовое значение (то есть значение в кавычках) можно присвоить только «a$».
С переменными, как видно из предыдущей программы, можно производить операции. С числовыми переменными – математические операции, с текстовыми – только операцию конкатенации,т.е. сложения. Например, в результате такого кода:
a$ = “Hel”
b$ = “lo”
c$ = a$ + b$
переменная «c$» примет значение «Hello».
Следующий код:
a$ = “La”
PRINT a$ + a$ + a$
выведет на экран «LaLaLa» - никто ведь не мешает использовать одну и ту же переменную несколько раз. Команда PRINT высчитает значение и выведет на экран готовый результат.
Итак, текстовые переменные можно только складывать друг с другом. В процессе сложения их значения как бы сливаются в одно целое.
Так как компилятор, встречая в коде переменную, видит ее значение, то, например, в отношении текстовых переменных можно заметить, что для компилятора запись в команде PRINT чего-либо в кавычках или текстовой переменной – одно и то же. Например, код
PRINT a$ + “ ” + a$ + “ “ + a$
выведет в результате «La La La», т.к. мы прибавили в кавычках пробелы. Это нужно помнить, когда потребуется выводить на экран изменяемый в зависимости от ситуации текст.
Также необходимо сказать, что символы точка с запятой и просто запятая точно так же используются в команде PRINT для разделения переменных, как мы проделывали это раньше. Единственное, что необходимо уточнить, так это то, что при использовании точки с запятой между текстовыми переменными пробел между значениями исчезает; в результате мы получаем слитный текст. Например, в результате такого кода:
a$ = “Hel”
b$ = “lo”
PRINT a$; b$
На экран выведется слово «Hello» без пробелов.
Выводить на экран с помощью команды PRINT разные типы переменных (т.е. числовые и текстовые) можно, разделяя их точкой с запятой или просто запятой, а производить какие-либо операции между разными типами переменных нельзя.
Еще один момент. В программировании знак равенства «=» не обозначает сравнение одного с другим, как в математике. Он применяется для присвоения значений переменным. Из этого следует распространенный прием в программировании, когда новое значение переменной получают из старого значения с использованием дополнительного математического действия. Например, в результате выполнения кода
a = 10
a = a + 1
переменная «а» примет новое значение «11».
Теперь о том, какие названия можно давать переменным.
Традиционно название переменной может складываться из буквы латинского алфавита, цифры и знака подчеркивания «_», причем первым символом в названии обязательно должна быть буква – по крайней мере, в Бейсике. Привыкайте также использовать маленькие буквы. Потом поймете, почему. Просто примите это. Также не рекомендуется использовать букву «L» - т.к. надо писать маленькую, и получается «l». Не понятно в итоге, что это: цифра 1, вертикальная черта или что-то еще.
Вот несколько правильных примеров:
a, ab, n_1, mama_age, mom$, hi_2$
А вот неправильные:
1a, _a, mama$age, $a
На этом можно заканчивать урок про переменные. Для закрепления темы рекомендуем выполнить несколько заданий.
Комменты приветствуются, за палец вверх - отдельное спасибо. Удачи!
------------------------------
Список уроков Программирование на Бейсике для начинающих
Следующий урок Оператор ввода
Предыдущий урок Оператор вывода
------------------------------
Задания
1. Вычислить и вывести площадь комнаты
Дана комната со стенами длиной 3 м и 6 м. Комната имеет вид прямоугольника. Вычислить ее площадь.
Необходимо правильно записать условие задачи (переложить на код, т.е. задать значения переменным), вычислить (создать еще одну переменную) и вывести результат на экран в следующем виде:
В то место, где стоит число «18», необходимо подставить переменную, которую вычисляете.
2. Вычислить значение переменных
Необходимо без применения компилятора Бейсика вычислить в уме значения переменных после выполнения следующего кода:
a = 100
b = a * 2
b = b – a
a = a / 10
c = b – a / 10
c = a + b + c
Итак, чему в итоге равны a, b и c?
3. Работа с текстом
Даны две переменные
a$ = “Hello”
b$ = “world”
Задача: вывести на экран приветствие «Hello world» (с пробелом), не изменяя переменные и не создавая новой переменной. Решить двумя способами.
4. Использование переменной в таблице
Переписать код таблицы из предыдущего урока. Необходимо значение прибыли выводить с помощью переменной. Использовать одну переменную для всех прибылей.