Константы и переменные языка Бейсик
Из алфавита языка программирования могут быть сформированы функционально законченные элементарные конструкции, которые называются синтаксическими единицами. Если провести аналогию с разговорным языком, например русским, то это отдельные слова: существительные, глаголы, междометия и т.д.
Синтаксические единицы условно можно разбить на следующие виды:
– константы;
– переменные;
– ключевые слова;
– метки.
Константы – это фиксированные величины, которые в процессе вычислений не изменяют своих значений. В Бейсике используются константы двух типов – числовые и символьные.
Числовые константы – это десятичные числа, которые состоят из десятичных цифр или десятичных цифр и дополнительных символов. В свою очередь, числовые константы можно разделить на целые и вещественные.
Целые константы – это целые числа, которые записываются в виде последовательности десятичных цифр, перед которой может стоять знак + или –. Числа без знака воспринимаются положительными. Бейсик допускает использование как целых чисел в диапазоне от –32768 до 32768, так и длинных целых чисел в диапазоне от –2147483648 до 2147483648.
Примеры записи целых чисел:
Математическая запись | Запись на языке Бейсик |
41 или +41 | |
-39 | -39 |
-2147483648 | -2147483648 |
Вещественные числа при переводе в двоичную систему счисления представляют собой, как правило, бесконечные дроби и округляются в пределах формы записи. Поэтому эти числа представляются в памяти приближенно.
Допускается запись вещественных чисел:
~ в основной форме – числа с фиксированной точкой;
~ в форме с порядком – числа с плавающей точкой.
Числа с фиксированной точкой – это дробные десятичные числа, у которых дробная часть отделяется от целой части десятичной точкой. Они могут быть записаны следующим образом:
,
где N и М – последовательности десятичных цифр.
Десятичная точка в записи этого числа обязательна. Знак + или - записываются в начале константы. Число без знака воспринимается положительным.
Примеры записи чисел с фиксированной точкой:
Математическая запись | Запись на языке Бейсик | |
Верно | Неверно | |
0. или 0.0 или .0 | ||
4. или 4.0 | 4 или +.4 | |
-1,0 | -1.0 или -1. | .1 или -1,0 |
-1,5 | -1.5 | 1.5 или -1,5 |
Числа с плавающей точкой – запись чисел представленных в математике в показательной форме. На языке бейсик они записываются:
~ одинарной точности:
~ удвоенной точности:
и имеют в записи отличия по основанию степени и где N и М - последовательность десятичных цифр.
Для чисел одинарной точности N + М = 6.
Для чисел удвоенной точности N + М = 14.
Е – основание степени для чисел одинарной точности, т.е. число 10.
D – основание степени для чисел удвоенной точности, т.е. число 10.
S – порядок числа, выражается целой константой, состоящей из одной или двух десятичных цифр.
Положительный знак числа и показателя степени можно не указывать.
Примеры записи чисел с плавающей точкой одинарной точности:
Математическая запись | Запись на языке Бейсик | |
Верно | Неверно | |
123,4∙10-2= =1,234= =0,1234∙101 | 123.4Е-2 | 123.4*10**(-2) |
1.234Е00 | 1.234*10 | |
0.1234Е1 | 0.1234*Е1 |
Примеры записи чисел с плавающей точкой удвоенной точности:
Математическая запись | Запись на языке Бейсик | |
Верно | Неверно | |
1234,5678∙10-2= =12345678∙10-6= =0,12345678 | 1234.5678D-2 | 1234.5678*10**(-2) |
12345678.D-6 | 12345678D-6 | |
0.12345678D2 | .12345678E2 |
Символьная константа представляет собой последовательность любых символов алфавита. Значения символьных констант заключается в кавычки. Примеры записи символьных констант: ”Кстовский нефтяной техникум”, ”Array”, ”sin(x)= ”.
Переменная – это величина, которая может меняться при выполнении программы. При изучении алгебры дается понятие переменной величины. Например, в простом алгебраическом равенстве c = f + 2b – 5 значение переменной с зависит от значения переменных f и b, указанных в правой части равенства. Если f=2 и b=6, тогда с=9. Такое же равенство можно записать в программе на Бейсике: c = f + 2*b – 5 . В терминах языка Бейсик c, f и b – это имена переменных. Такие имена также называют идентификаторами.
В языке Бейсик идентификатор (имя переменной) – это произвольный набор символов для обозначения переменной, который может содержать от 1 до 40 символов, причём первый символ должен быть латинской буквой, а остальные – латинские буквы или цифры или символы типа @, #, % и.т.д. Примеры имен переменных: A, Ds, SodRan, k1, n123, dlina!
Кроме имени переменная характеризуется типом. Переменные – это величины, которые имеют определенное значение в каждый момент выполнения программы, а оно может быть как числовым, так и символьным. Для хранения значения переменной выделяется поле памяти компьютера.
Тип переменной, определяемый ее значением | Символ, определяющий тип переменной | Описание типа переменной | Объём поля памяти | Пример значения переменной |
Целые числа | % | integer | 2 байта | 17; -123 |
Вещественные числа | ! | single | 4 байта | 314.15; 3.1415Е+2 |
Символьный | $ | string | min 1 байт | язык |
Длинные целые числа | & | long | 4 байт | -12543786 |
Вещественные числа двойной точности | # | double | 8 байт | 1.2543786 |
Тип переменной в Бейсике опознаётся по последнему символу в её имени: % – целая переменная; & – длинная целая переменная; ! – вещественная переменная обычной точности; # - вещественная переменная двойной точности; $ - символьная переменная, а также может определяться специальным оператором задания типа.
Арифметические выражения
Выражением называется последовательность операций, которые необходимо произвести над данными, чтобы получить требуемое значение.
В Бейсике существует четыре вида выражений:
• арифметические;
• отношений;
• логические;
• строковые.
Арифметическое выражение – это аналог обычной арифметической (алгебраической, математической) формулы. Результатом его вычисления является целое или вещественное число. Любое математическое выражение на Бейсике записывается в виде строки и может содержать: числовые константы, числовые переменные, математические функции, знаки математических операций, систему скобок. Понятие числовых констант и числовых переменных было уже дано выше, поэтому рассмотрим последующие три составляющие арифметических выражений.
Функция – это заранее определённая операция над данными, математическая функция – это функция, значением которой является число. Вот некоторые примеры математических функций встроенных в транслятор Бейсика:
Название функции | Запись в математике | Запись в Бейсике | Пример в Бейсике |
Абсолютная величина | |x| | ABS(X) | ABS(-5) |
Экспонента | ex | EXP(X) | EXP(5) |
Логарифм натуральный | ln x | LOG(X) | LOG(3) |
Квадратный корень | SQR(X) | SQR(4) | |
Синус | sin x | SIN(X) | SIN(3.14) |
Косинус | cos x | COS(X) | COS(1) |
Тангенс | tg x | TAN(X) | TAN(2) |
Целая часть числа | [x] | INT(X) | INT(13.5) |
Арктангенс | arctg x | ATN(X) | ATN(3) |
Знак числа | SGN(X) | SGN(-5) |
Таким образом, в Бейсике обращение к функции осуществляется по ее имени, а аргумент обязательно записывается в скобках. При вычислении арифметического выражения значения функций определяются в первую очередь еще до выполнения математических операций.
В Бейсике допустимы следующие арифметические операции:
Название операции | Знак в математике | Знак в Бейсике | Пример в математике | Пример в Бейсике |
Возведение в степень | нет | ^ | 25 | 2^5 |
Умножение | · | * | 2·5 | 2*5 |
Деление | : | / | 10:2 | 10/2 |
Сложение | + | + | 5+10 | 5+10 |
Вычитание | – | – | a–b | a–b |
Остаток от деления | нет | mod | нет | 17 mod 3 (результат 2) |
Деление нацело | нет | \ | нет | 17\3 (результат 5) |
Заметим, что операции указаны в вышеприведенной таблице в порядке уменьшения приоритета.
Действия в арифметических выражениях выполняют слева направо в зависимости от их приоритета. Для того чтобы изменить естественный порядок действий, используются круглые скобки. Выражения в круглых скобках выполняются в первую очередь. Заметим, что понятие система скобок означает то, что в выражении всегда должно совпадать количество открывающихся скобок с количеством закрывающихся скобок.
Примеры записи чисел математических выражений на языке Бейсик:
Математическое выражение запишется на языке Бейсик в виде: ((sin(x^3)–cos(x)^2)/(sqr(x–8.5)+1.75E-6))^(1/5)+exp(x+1)/5/abs(x)