Переменные
LFT
До сих пор мы работали с числовыми и символьными значени-
ями, записанными в явном виде. Результаты действий не запоми-
нали, а только выводили на экран монитора. В дальнейшей работе
эти результаты использоваться не могли. Для вычисления выраже-
ния с новыми данными приходилось набирать и выполнять новую
строку. То есть действовать так, как будто перед нами не компью-
тер, а калькулятор. Но даже в калькуляторах есть такая операция,
кйк запоминание числа. Занесенное в память, оно может быть
извлечено оттуда нажатием одной клавиши и использовано в даль-
нейших расчетах. И конечно же, написание даже самых простей-
ших компьютерных программ немыслимо без сохранения ис-
ходных данных и промежуточных результатов. Причем запоминать
надо не одно, не два числа, а часто сотни и тысячи. И не только
числа, но и слова — строки символов.
Бейсик для хранения чис-
ловых и символьных значе-
ний в памяти компьютера
отводит специальную об-
ласть. Заносятся значения
туда с помощью ключевого
слова LET. А для того чтобы
ничего не перепутать, каж-
дому из «сосланных» на
хранение значений присва-
ивается собственное имя.
Делается это так:
LET В=3
Этой строкой мы попро-
сили компьютер записать в
память число 3, а место, ку-
да записано число, «обоз-
вать» именем В. Теперь, что-
бы извлечь число, нужно просто «позвать» его по имени. На-
пример, выполним оператор
PRINT В
- и на экране появится цифра 3. Имя можно подставить и в
выражение. При вычислении значения выражения компьютер,
наткнувшись на имя, заменит его числом из памяти:
PRINT (В+15)/В
*
Значение, занесенное в память, будет храниться там до тех пор,
пока мы либо не сбросим (выключим) компьютер, либо не выпол-
ним операторы RUN или CLEAR (об этом операторе позже), либо не
запишем под этим же именем другое значение. К примеру, выпол-
ним:
LET В=5
Именно потому, что записанные в память значения можно в
любое время изменять, имена, под которыми они хранятся, назы-
ваются именами переменных. Сейчас мы работали с переменной по
имени В, или просто — с переменной В.
Обратите внимание на то, что переменная в языках програм-
мирования — это нечто другое, чем переменная величина в мате-
матических уравнениях. С точки зрения математики многие опе-
рации, производимые с программными переменными, бессмыс-
ленны, например, вот такая, часто используемая в программи-
ровании запись:
LET В=В+1
Приведенный оператор просит компьютер увеличить на еди-
ницу содержимое переменной В.
Переменные, предназначенные для хранения чисел, называют-
ся числовыми. Имя числовой переменной может состоять из любого
количества цифр и латинских букв, но не должно начинаться с
цифры. Его можно записывать и строчными, и прописными бук-
вами. Пробелы в имени игнорируются. Приведем примеры имен
числовых переменных:
А; А123; Rub; veryJong_name; very long name
Для хранения символьных значений используются, соответст-
венно, символьные переменные (их иногда также называют строко-
выми). Имя символьной переменной может состоять только из
одной буквы и знака $ (доллар). Строчные и прописные буквы в
имени не различаются. Присвоить символьной переменной значе-
ние можно с помощью того же ключевого слова LET:
10 LET A$="BASIC"
- а извлечь из памяти, подставив имя переменной, например, в
PRINT:
20 PRINT А$
RUN
basic
Символьная переменная может быть приравнена «пустой стро-
ке», то есть не содержать ни одного символа:
10 LET А$=""
20 PRINT "***"; А$; "###"
RUN
***###
То, что переменная А$ не содержит ни одного символа, хорошо
видно по отсутствию интервала между символами *** и ###.
Все числовые и символьные функции будут нормально рабо-
тать, если вместо конкретных значений им «подсовывать» имена
переменных. Конечно, при условии, что до этого переменная была
определена, то есть ей ранее уже присвоено какое-либо значение.
Иначе компьютер выдаст сообщение об ошибке: Variable not found
(переменная не найдена).
Теперь у нас вполне достаточно сведений, чтобы, наконец-то,
перейти к написанию программ.
Составим элементарную программу, пересчитывающую некую
сумму в рублях в доллары. По ходу ее написания мы будем знако-
миться с новыми операторами и функциями Бейсика.
Рассчитаем сначала, сколько долларов составляет установлен-
ная нашим государством минимальная зарплата. В момент написа-
ния этой книги она равнялась 900 рублям в месяц. Введем пере-
менные: Rub, в которую будем заносить сумму в рублях, Dol — для
ее долларового эквивалента и Kurs — курс доллара, то есть цена
одного доллара в рублях (переменную Kurs пока приравняем к 130,
что соответствует нынешнему курсу доллара).
5 REM Программа пересчета рублей в доллары*
10 LET Kurs=130
50 LET Rub=900: PRINT AT 0,1; "Текущий курс: "; Kurs; " рублей за
$1"
70 LET Dol=INT(Rub/Kurs*100+0.5)/100: REM Расчет
75 PRINT AT 1, 1; Rub; " руб. - $"; Dol
Сам расчет предельно прост и умещается в коротенькой строчке
под номером 70. Операция с умножением на 100, извлечением
целой части функцией INT (см. стр. 16) и делением на 100 необхо-
димы для округления долларовой суммы до центов. Остальные
строки заняты вводом и выводом информации**.
Запустив программу, увидим на экране:
Текущий курс: 131 рублей за $1
9М руб. - $6.92
В примерах программ, приведенных в этой книге, используется текст на русском
языке. Делается это для наглядности, хотя не на всех компьютерах есть возмож-
ность его набрать. При вводе программ русские слова можно заменить англий-
скими, а комментарии просто опустить.
** Если Вы решили отрабатывать все примеры на компьютерен хотите сохранить их
на магнитной ленте, то загляните в раздел «Работа с магнитофоном».
Пояснения к тексту программы_
rIm
В 5-й строке «всплыл» новый оператор REM (от англ. remark —
пометка). Он сообщает компьютеру, что в этой строке ему делать
нечего, можно спокойно переходить к выполнению следующей.
rem можно поставить и после двоеточия в конце любой строки, как
это сделано в строке 70. Вслед за rem программист пишет для себя
или для других программистов комментарии — пояснения, касаю-
щиеся работы программы.