Реферат: Все о Turbo Basic
PRINT 5 > 6, 5 < 6, (5 < 6) * 15 будет напечатано 0, -1 и -15.
Логические операции: AND (логическое и ), OR (логическое или), XOR (исключающее или ), EQV (эквивалентность), IMP (импликация).
Логические операции осуществляются над целыми числами -1 (TRUE) и 0 (FALSE).
-1, если A = -1, B = -1
A AND B 0, в остальных случаях
0, если A = 0, B = 0
A OR B -1, в остальных случаях
-1, если A и B не совпадают
A XOR B 0, если A и B совпадают
-1, если A и B совпадают
A EQV B 0, если A и B не совпадают
0, если A = -1, B = 0 A IMP B -1, в остальных случаях
1.6. Основные операторы
Оператор присваивания имеет вид переменная = выражение
Оператор безусловного перехода имеет вид GOTO метка
Условный оператор имеет вид
IF условие THEN операторы [ELSE операторы] Например,
IF a < b THEN t=15 : V=16 ELSE t=17
В качестве условия может использоваться целое выражение, которое интерпретируется как FALSE, если его значение равно 0, и TRUE, если не равно 0.
Если после THEN или после ELSE располагается целая группа операторов, то можно использовать IF блок, который имеет следующую структуру
IF условие THEN операторы
ELSE операторы END IF
При этом ELSE и операторы за ним могут отсутствовать, т.е. возможна конструкция
IF условие THEN операторы
END IF
Если после ELSE необходима проверка условия, то используется оператор ELSEIF
IF условие THEN операторы ELSEIF условие THEN операторы
ELSE операторы END IF
Оператор конца END используется для окончания выполнения программы. Может использоваться в программе несколько раз. Используется также с IF, SUB, DEF, SELEСT (см.ниже)
Оператор очистки экрана CLS обычно располагается в начале программы для очистки экрана перед выводом результатов программы.
Оператор ввода INPUT имеет вид
INPUT [;] [поясняющий текст], список переменных
Поясняющий текст заключается в кавычки. Переменные в списке отделяются друг от друга запятыми. ";" после INPUT означает, что курсор останется на той же строке, когда будет нажат "Ввод".
Оператор вывода PRINT имеет вид
PRINT [список вывода]
Элементы списка разделяются "," или ";" или пробелом. В первом случае вывод следующего элемента начинается в новую зону (строка экрана условно разделена на 5 зон по 14 позиций каждая), во втором - через пробел (для чисел) или непосредственно вслед (для символьных строк) за предыдущим элементом.
Элементом списка может быть имя переменной, константа (символьная заключается в кавычки) или выражение (перед выводом вычисляется).
Оператор вывода PRINT USING имеет вид PRINT USING формат; список вывода
Формат задается в виде символьной строки (заключенной в кавычки), задающей форму вывода каждого элемента списка по следующим правилам для чисел : # - для каждой цифры, ^^^^ - для вывода в показательной форме. Остальные символы обозначают сами себя. Например,
##.## - будет выведено 2 цифры в качестве целой части и две
- дробной. Если целая часть содержит более двух цифр, то перед числом будет напечатан знак % .
#.## ^^^^ - вывод будет осуществляться в показательной форме.
Для символьных строк :
"\ \" - (два пробела) - будет выведено четыре символа
"\\" - (без пробела) - будет выведено два символа
Вообще количество выведенных символов будет равно числу пробелов между двумя наклонными линиями + 2.
"!" - будет выведен один символ
"&" - будут выведены все символы
Например,
A$= "КОТ" : GA= 6.5
B$= "СОБАКА" : GB= 15.3
PRINT USING "& ВЕСИТ #.#,\ \ ВЕСИТ ##.# КГ";A$,GA,B$,GB
При выполнении этого оператора на экране появится
КОТ ВЕСИТ 6.5, СОБАКА ВЕСИТ 15.3 КГ
Оператор определения положения курсора
LOCATE i,j
устанавливает координаты (номер строки i и номер столбца j), в которые начнется вывод данных оператором PRINT.
1.7. Операторы цикла
1. FOR i=iнач to iкон [STEP ih] операторы
NEXT i
i, iнач, iкон, ih - соответственно, управляющая переменная цикла, ее начальное, конечное значения и шаг изменения. Если ih=1, то шаг можно опустить. Например,
FOR i=1 to 10
....
NEXT i
FOR i=1 to 10
FOR j=1 to 20
....
NEXT j: NEXT i или
FOR i=1 to 10
FOR j=1 to 20
....
NEXT j,i
2. DO WHILE условие операторы
LOOP или
WHILE условие операторы WEND
(операторы выполняются, пока выполняется условие)
3. DO UNTIL условие операторы
LOOP
(операторы выполняются до тех пор, пока не будет выполнено условие. Как только условие будет выполнено, осуществляется выход из цикла).
4. DO операторы
LOOP
Выход из цикла в этом случае осуществляется оператором EXIT.
Оператор EXIT (выход) используется с SELECT, DEF, FOR, IF,
LOOP, SUB, WHILE. Например,
EXIT FOR осуществляет выход из цикла, организованного операторами FOR/NEXT до его завершения
EXIT IF - выход из любого места IF блока
EXIT LOOP - выход из цикла, заканчивающегося оператором LOOP или WEND.
Остальные случаи использования EXIT будут рассмотрены вместе с соответствующими операторами.
Операторы выбора ON/GOTO и ON/GOSUB
ON n GOTO метка [, метка...]
n может принимать значения от 0 до 255. Переход осуществляется на метку, определяемую значением n. Например, при n = 2 переход осуществляется на вторую метку в списке. Если n = 0 или n больше количества меток в списке, то выполняется следующий по порядку оператор.
ON n GOSUB метка [, метка...]
n принимает значения от 0 до 255. Переход осуществляется к одной из возможных подпрограмм (см.ниже), определяемых метками в списке, в зависимости от значения n.
После выполнения подпрограммы возврат осуществляется к оператору, следующему за ON/GOSUB.
1.8. Подпрограммы, функции и процедуры
Подпрограмма - помеченная последовательность операторов, заканчивающаяся оператором RETURN. Выполняется, когда достигнут GOSUB.
....
GOSUB aa
....
END aa: операторы RETURN
Оператор RETURN осуществляет возврат к оператору, непосредственно следующему за GOSUB.
Функция может быть определена одной строкой (оператор-функция) или несколькими строками (подпрограмма-функция).
DEF FN имя [(список параметров)] = выражение
(это определение оператора-функции).
Здесь список параметров может включать не более 16 параметров. DEF FN имя [(список параметров)]
описание переменных
операторы
[EXIT DEF]
....
[FN имя = выражение]
END DEF
(это определение подпрограммы-функции).
Обращение к функции записывается там, где нужно получить ее значение. При этом параметры заменяются их фактическими значениями. Например,
DEF FNF (x,y) = x * x + y * y a = 3 : b = 4
P = FNF (a,b) или
P = FNF (3,4)
Функция возвращает одно значение, тип которого определяется именем функции. Определение функции может располагаться в любом месте
программы (обычно в начале или в конце). Например,
F = FNa (1.5)
PRINT F
DEF FNa (x)
FNa = x*x
END DEF
END или
F = FNa (1.5) PRINT F
END
DEF FNa (x) FNa = x*x
END DEF
В результате будет напечатано 2.25.
Список параметров оператора-функции может включать только имена переменных.
Процедура - это последовательность строк программы, расположенная между операторами SUB и END SUB и выполняемая при обращении к ней при помощи оператора CALL.
SUB имя [(список параметров)] описание переменных операторы
[EXIT SUB]
END SUB
Имя может содержать до 31 символа. Список параметров (не более
16) может включать имена переменных и массивов. Для массивов в скобках указывается размерность. Например, 1 - для одномерного массива, 2 - для двухмерного и т.д.
В обращении к процедуре за именем фактического массива следуют пустые скобки. Например,
SUB SUM (x (1), n, S)
S = 0
FOR I=1 to n
S = S + x (I)
NEXT I
END SUB
DIM A (3)
A (1) = 1 : A (2) = 2 : A (3) = 4
CALL SUM ( A (), 3, S)
S = S/3
PRINT S
END
Эта программа вычисляет среднее значение элементов массива A, процедура SUM суммирует элементы массива.
Основные отличия процедуры от подпрограммы-функции :
1 - процедура не обязана возвращать значение, она не имеет типа; 2 - вызывается оператором CALL, а не из выражения.
Отдельные переменные, используемые в процедуре (или подпрограмме-функции), могут быть объявлены локальными, т.е. действующими только в данной подпрограмме (оператор LOCAL), общими, т.е. действующими как в подпрограмме, так и в основной программе (оператор SHARED) и статическими, т.е. действующими в данной подпрограмме как LOCAL, но сохраняющими полученные значения до следующего обращения (оператор STATIC). По умолчанию в подпрограмме-функции переменная является SHARED, а в процедуре STATIC.