Краткое описание языка высокого уровня BASIC
Наименование BASIC является сокращением английских слов «Beginner’s All-purpose Symbolic Instruction Code», что в переводе означает «многоцелевой язык символических команд для начинающих».
Алфавит языка BASIC содержит 26 прописных латинских букв, цифры от «0» до «9», точку, запятую, кавычки, знаки арифметических операций +, -, /, *, ^, знаки отношения: <, >, =, >=, <= < >. Русский алфавит используется только для написания комментариев.
Константы – данные, имеющие в процессе выполнения программы единственное значение, определенное в исходном тексте программы.
Переменные – данные, которые могут изменять свои значения в процессе выполнения программы. Типы данных представлены на рис.5.
Константы
Рис.5. Представление данных в языке BASIC
В качестве типов данных используют :
· арифметические (числовые) константы и переменные;
· строковые (текстовые) константы и переменные.
Арифметические константы:
1. целочисленные константы – целые числа от -32768 до +32767 (2 байта);
2. константы с фиксированной точкой, используют десятичную точку, т.е. имеют целую и дробную части числа;
3. константы с плавающей точкой, состоят из мантиссы (mx ) –с фиксированной точкой, порядка числа ( р ) , q – основание системы счисления:
X=mx*qp
Знак числа определяет мантисса, она может быть представлена с простой точностью (Е) или двойной (D). Рассмотрим некоторые из примеров представления чисел:
Строковая константа представляет собой заключенную в кавычки последовательность любых символов. Переменные также делятся на:
· числовые переменные;
· строковые переменные.
Имена переменных могут быть до 40 символов (латинские буквы, цифры).
Существует 2 способа определения типа переменной.
При первом способе тип простой переменной определяется последним символом в имени:
$ - строковая;
% - целочисленная (2 байта памяти);
! – числовая переменная с простой точностью (4 байта памяти, 6 цифр после запятой);
# - числовая переменная с двойной точностью (8 байт памяти, 14 цифр после запятой);
& - длинное целое.
Примеры представления различных переменных имеют вид:
BAX! – переменная с простой точностью;
BAX% - целочисленная переменная;
RUBL% - целочисленная переменная.
Во втором способе используют специальные операторы описания:
DEFINT A – целое - %;
DEFLNG A – длинное целое - &;
DEFSNG A – обычная точность - !;
DEFDBL A – двойная точность - #;
DEFSTR A – строковая - $.
Переменная с индексом позволяет обращаться к элементам массива.
Массив –это упорядоченная совокупность однотипных величин, чтобы обратится к массиву, нужно указать имя массива. Задание в программе имени массива, типа элементов и их количестваназывается объявлением массива и обязательно производится до первого использования переменных массива. Оператор DIM выполняет эту задачу.
Пример:
DIM GR%(24) – одномерный массив;
DIM GR!(5,10) – двумерный массив.
Рассмотрим основные операторы языка BASIC.
CLS – очищает экран: текстовую или графическую области просмотра. Если была установлена графическая область просмотра с помощью VIEW, то очищается только графическая область просмотра. В противном случае очищается текстовая область просмотра или весь экран.
INPUT – оператор выполняет операцию ввода информации с клавиатуры в оперативную память компьютера. Этот оператор используется для диалога между пользователем и компьютером.
Пример:
Команда в программе Результат на экране монитора.
INPUT k - ?;
INPUT “k=”,k - k=;
INPUT k1, k2, k3 - ? ;
INPUT a1$, k1, a2$, k2 - ? ;
В результате выполнения оператора в первом случае на экране дисплея появится «?» и компьютер будет ожидать ввода числа «К» с клавиатуры, т.е. надо ввести с клавиатуры нужное число и нажать на клавишу ввода ENTER.
Количество вводимых данных должно соответствовать количеству переменных в списке. Если введено недостаточное количество значений, то компьютер вновь выводит знак «?» и ждет дополнительного ввода данных, избыточные значения игнорируются. В третьем и четвертом примере показано, что с помощью одного оператора можно вводить как несколько чисел, так и несколько разных типов констант.
REM – оператор позволяет включать комментарий в программу. Формат: REM<произвольный текст>. Оператор REM относится к невыполняемым операторам и не оказывает никакого влияния на порядок работы программы. Он используется только на уровне транслятора и его единственная задача - помочь в комментарии фрагмента программы.
PRINT – оператор обеспечивает вывод информации в монитор, как числовой, так и символьной.
Пример1: PRINT «Исходные данные»
PRINT X,Y
В результате выполнения первого оператора PRINT на экране будет напечатан текст «исходные данные», начиная с первой позиции строки экрана, во втором случае напечатаются значения «X» и «Y», из памяти на момент их печати.
Пример 2: PRINT «Значение Х=»;Х, «Значение Y=»;Y
Этот пример демонстрирует одновременное применение в операторе вывода текста и значения числа. Если X и Y соответственно равны 50 и 70, то после выполнения этого оператора на экран будет выведено: значение X=50 и значение Y=70.
Для вывода информации на принтер используют следующую форму оператора: LPRINT.
LET – оператор присвоения значения выражения, стоящего справа от знака « =» , переменной стоящей слева от знака «=». Переменная и выражение должны быть или оба числовыми или оба символьными.
Имя оператора LET может быть опущено.
Пример:
10 LET A=1
20 A=1
100 X= X*2+B
Числа 10, 20 и 100 – являются метками. Используя метку можно ссылаться на конкретный оператор.
В операторе меткой 100 происходит вычисление переменной X по формуле X=X*2+B, причем, здесь, заранее должно быть присвоено значение переменных X и B в программе.
DATA – данный оператор служит для предварительной подготовки и хранения в памяти значений исходных данных.
Формат оператора: DATA <список констант>. Константы в списке разделяются между собой запятыми.
Пример: DATA 10,20,5,0.5
В программе может быть несколько операторов DATA. Интерпретатор объединяет их всех в один блок в том порядке, в каком они встречаются в программе. Операторы могут стоять в любом месте программы.
READ – осуществляет ввод данных, значения которых представлены в операторе DATA.
Формат оператора: READ<список переменных>
Пример: DATA 10,20,5,0.5
READ A,B,S,D
…
После выполнения этих операторов переменные примут следующие значения: A=10, B=20, C=5, D=0.5.
GOTO – оператор безусловного перехода, осуществляет переход к выполнению другого оператора, записанного в строке с указанным номером. Формат оператора: GOTO<№ оператора куда перейти>
Пример: GOTO 200 , т.е. перейти к оператору с номером 200.
Условные операторы. Они служат для изменения порядка выполнения операторов в зависимости от какого-либо условия. Условные операторы использоваться для организации циклов и разветвлений.
Общий вид оператора:
IF…THEN…ELSE…
IF<условие> THEN [блок операторов1] [ELSE [блок операторов2]]
Где <условие> логическое выражение
IF< условие > THEN<№ строки операторов>
IF< условие > ELSE <№ оператора>
Пример1:
IF x>0 THEN y=A*X*B ELSE Y=*X^2+B
Если <условие> = истина, то оператор 1
Если <условие> = ложь, то оператор 2
Очень часто вместо линейной формы записи оператора IF (приведена выше)используют блочную форму, особенно в тех случаях, когда размер блоков операторов очень большой и не вмещается в одну строку при написании их в среде программирования. Эта форма имеет следующий вид:
IF<условие> THEN
[блок операторов1]
ELSE
[блок операторов2]
END IF.
Операторы цикла. Цикл является самой типичной структурой алгоритмов, реализуемых компьютером. Поэтому для организации циклов в алгоритмических языках предусмотрены специальные операторы.
FOR…NEXT
Формат:
FOR<переменная цикла> = A TO B [STEP C]
…
… операторы
NEXT<переменная цикла> ,
где <переменная цикла> - числовая переменная, используемая как счетчик цикла.
A и B – числовые выражения, определяющие начальное и конечное условие цикла, C – величина приращения счетчика после каждого цикла. Если С=1, то обычно приращение не указывается.
Циклы FOR…NEXT могут быть вложенными друг в друга. Тогда каждый оператор цикла должен иметь своё имя переменной цикла (имя счетчика). Компилятору это безразлично, располагайте операторы между FOR и NEXT, с отступом на 2 или 3 пробела от края, выделяя, таким образом, структуру цикла.