Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
Алфавит языка и специфика использования символов
Алфавит Бейсика включает все отображаемые и управляющие символы, представленные в кодировочной таблице, которая загружена в ОЗУ или хранится в ПЗУ. Каждому символу алфавита соответствует индивидуальный числовой код из диапазона от 0 до 255. Вывести на экран любой из этих символов можно так С=2 PRINT CHR$(С) Первую половину кодировочной таблицы занимают символы с кодами от 0 до 127. Их состав и порядок определен американским стандартом на коды обмена информацией, известным под названием ASCII. На всех IBM-совместимых ПЭВМ эти части кодировочных таблиц идентичны. Символы с кодами от 0 до 31 называют управляющими. Некоторые из них можно отобразить на экране дисплея с помощью следующей программы: 5 LOCATE 1,1 10 INPUT "Введи код символа из диапазона от 0 до 31"; c 20 IF c > 31 THEN STOP 25 CLS: LOCATE 2,1 30 PRINT "Символ с кодом ";c;"имеет вид: " CHR$(c) 40 GOTO 5 Среди символов, которые не удалось отобразить на экране, находятся знаки "выдача звукового сигнала" (символ Bel c кодом 7), "горизонтальная табуляция" (символ HT c кодом 9), "перевод строки" (символ LF с кодом 10), "прогон до конца страницы" (символ FF с кодом 12), "возврат каретки" (символ CR с кодом 13). Символ Esc с кодом 27 предшествует разнообразным приказам для принтера - переключение на один из запаянных шрифтов или загрузка нестандартного, переход из текстового режима в графический или наоборот, установка ширины строки или полей и т.п. Многие из управляющих символов, в том числе и воспроизводимых на экране, широко используются для диалога между абонентами в процессе передачи информации по каналам связи. При вводе текстовой информации в ее состав управляющие символы не попадают, т.к. для их набора нет соответствующих клавиш. Даже те немногие клавиши, которые ассоциируются с управляющими кодами - Esc, стрелки управления курсором, Tab, - перехватываются драйвером. О нажатии таких клавиш программа ввода может узнать с помощью специальной функции опроса буфера клавиатуры (в Бейсике для этой цели используется системная переменная INKEY$). Управляющие символы типа LF и CR, разделяющие строки в текстовых файлах, включаются в состав текста программным путем. Основную часть алфавита Бейсика составляют отображаемые символы, начинающиеся с кода 32 по 127. Во всех элементах Бейсик-программ за исключением комментариев и текстовых констант употребление русских букв запрещено. Бейсик не делает различия между большими и малыми латинскими буквами в служебных словах, обозначениях переменых, функций и процедур. В Quick BASIC'е, например, сразу после ввода программной строки малые буквы автоматически заменяются большими. Такая замена не распространяется на содержимое текстовых констант, в составе которых могут использоваться любые отображаемые символы ASCII. Серьезные затруднения могут ожидать пользователей из-за второй половины кодировочной таблицы, где расположены большие и малые русские буквы, символы псевдографики, очень удобные для оформления таблиц, и некоторые специальные знаки. Дело в том, что для "русификации" клавиатур, мониторов и принтеров используются различные кодировочные таблицы. Разнобой в расположении русских букв приводит к тому, что текст Бейсик-программы, разработанной на одной ПЭВМ, нельзя просто так перенести на другую машину. Программу можно запустить. Она будет даже правильно считать, и об этом свидетельствуют ожидаемые числовые результаты тестовых прогонов. Но кадры диалоговых сценариев и отработанные тексты подсказок превратятся в абракадабру. Чтобы установить, с каким вариантом кодировочной таблицы работает ваш компьютер, наберите и исполните следующую программу: 10 CLS: PRINT TAB(24); "Таблица ASCII на вашем компьютере" 20 FOR i = 32 TO 54: LOCATE i-30,1 30 FOR j = i TO i + 9 * 23 STEP 23 40 IF j > 255 THEN 80 60 PRINT USING " #### ";j; 70 PRINT CHR$(j); 80 NEXT j: NEXT i Попробуйте выдать результаты ее работы на принтер, нажав клавишу Print Screen или заменив операторы PRINT на LPRINT. Здесь вас тоже могут ожидать забавные сюрпризы. Из-за того, что программы русификации дисплея и принтера пользуются различными кодировочными таблицами, полученная твердая копия может не совпадать с экранной таблицей. При выполнении операторов LPRINT Бейсик-система выдает принтеру команду на установку шрифта. Поэтому вы можете получить еще и третью таблицу, отличающуюся от двух предыдущих. Т.Б. в чем-то схож со строительным набором для составления программ. Он обеспечивает вас набором документальных элементов языка (резервными словами и символами), которые можно соединять вместе бесчисленными способами для создания любого мыслимого программного обеспечения машины. Буквы от А до Z и цифры от 0 до 9 можно использовать в формирующих идентификаторах (именах меток, переменных, процедур и функций). Числа от 0 до 9;символы.,+ и =; а также буквы Е,D можно использовать при формировании числовых констант.
Следущие символы в Т.Б. имеют специальное смысловое значение: символы описание/функция = знак равенства (оператор назначения, оператор отношения) + знак плюс (оператор сложения и сцепления строк) - знак минус (оператор вычитания и отрицания) * звездочка (оператор умножения) / косая черта (оператор деления) \ обратная косая черта (оператор деления нацело) ^ знак вставки (оператор возведения в степень) % знак процента (литера оператора целого типа) & амперсанд (литера оператора типа длинного целого и дескриптор недесятичной базы) ! восклицательный знак (литера оператора типа единичной точности # знак номера (литера оператора типа двойной точности) $ знак доллара (литера оператора строчного типа, префикс метаоператора) () круглые скобки (аргументы функций/процедур, массивы, приоритетность в выражениях) [] квадратные скобки (законны только для массивов) пробел (разделитель) , запятая (общецелевой разделитель) . точка (десятичная точка, разделитель в удлинении имени файла ' единичная кaвычка (ограничитель примечаний) ; точка с запятой (общецелевой разграничитель) : двоеточие (разграничитель операторов) ? знак вопроса (замена PRINT (печать)) > больше чем (оператор отношения) < меньше чем (оператор отношения) " двойная кавычка (строчный разграничитель) _ знак подчеркивания (литера продолжения строки)
Операторы языка BASIC
Основные типы операторов языка Бейсик:
- операторы ввода-вывода;
- графические операторы;
- присваивания;
- обращения к функциям;
- описания данных;
- управляющие операторы;
- обращения к подпрограммам.
Операторы ввода-вывода
Таблица 11.2 Примеры операторов ввода-вывода на экран
| Оператор
| Действие
| print "привет"
| вывод ("привет")
| print "корень="; х
| вывод ("корень =", х)
| input "a="; а
| запрос ("а=", а)
| input n
| ввод (п)
| locate st, ps
| позиция (st,ps)
| Вывод на принтер lprint. Печать в файл print #1, Пример: Open "data.dat" for output as#1 Print #1, x,y,z Close 1
Операторы вывода
Вывод числовых результатов Наиболее приятный вид имеет числовая информация, организованная по табличному типу - в виде колонок фиксированной ширины, в которых одноименные числовые разряды располагаются друг под другом (единицы -под единицами, десятки - под десятками, сотни - под сотнями и т. д.). При этом, в частности, более рационально используется площадь экрана, что достигается за счет управления форматами выводимых данных. В Basic для этой цели служит оператор PRINT USING, совмещающий в себе и строку с описанием формата и список выводимых значений: PRINT USING "А=##.## B=### С=#.####^^^^"; А,В,С Другие варианты. Если необходимо вывести результаты вычислений на печать с заданным количеством знаков после запятой, можно использовать ? using "##.####";c Или ввести Q$="###.### #### #.###^^^" ? " a b c" ? using Q$;a,b,c Операторы ввода Open "data.dat" for input as#1 Input #1, x,y,z Close 1
|