Программирование на Бейсик 48/128 для ZX-Spectrum 1993 г.

SPECTRUM-бейсик - переменные. Пояснения к тексту программы.


Переменные

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 программист пишет для себя
или для других программистов комментарии — пояснения, касаю-
щиеся работы программы.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Complex 99, And The East/West Divide
Кодинг - отчет о Галицком турнире юных информатиков.
Demoparty - Официальное приглашение версия 0.1 на Cafe'2000.
От редакции - ZX-News теперь выходит по средам...
Открытые письма Nemo №6.277

В этот день...   21 ноября