Basic вводный курс

         

Язык Qbasic. Краткий справочник



Язык Qbasic. Краткий справочник

Здесь мне хочется коротко представить наиболее часто используемые операторы Бейсика, снабдив их краткими комментариями (табл. П1—П10). Полная справка по языку имеется в его оболочке, где вы легко можете найти полные сведения о том или ином операторе с наглядными примерами.



Коды ASCII



Коды ASCII

Стандартные и расширенные ASCII-коды опубликованы уже в сотнях книг, посвяшенных программированию. Более того, вы уже можете написать программу, выводящую их на экран. К тому же эти коды есть в справочной системе нашего Бейсика. Но все равно хочется почему-то иметь их перед глазами.
Недолго думая, я взял их из вышеупомянутой системы при помощи клавиши <Print Screen>, и вот — пользуйтесь, кому интересно (Рисунок П1, П2).







П1. Стандартные коды (0—127)



Рисунок П1. Стандартные коды (0—127)














П2. Расширенные коды (128—255)



Рисунок П2. Расширенные коды (128—255)















Сообщения об ошибках и их коды



Сообщения об ошибках и их коды

Коды сообщений об ошибках приведены в табл. ПИ. Для наиболее распространенных ошибок даются комментарии.



П1. Числовые функции



Таблица П1. Числовые функции

Функция Описание
ABS Возвращает абсолютное значение (модуль) аргумента
ATN Арктангенс (в радианах)
CDBL Переводит числовое выражение в значение с двойной точностью
CINT Округление
CLNG Округление числового выражения до длинного (4 байта) целого значения
COS Косинус
CSNG Переводит числовое выражение в значение с одинарной точностью
ЕХР Экспонента ех
FIX Округление выражения с плавающей запятой до его целой части
INT Возвращает наибольшее целое, меньшее либо равное числовому выражению
LOG Натуральный логарифм числового выражения
RND Случайное число одинарной точности между 0 и 1
SCN Возвращает значения знака числового выражения (1, если выра­жение положительное; 0, если равно 0 и —1, если отрицательно)
SIN Синус
SQR Корень квадратный
TAN Тангенс


П2. Функции графики и экрана



Таблица П2. Функции графики и экрана

Функция Описание
CIRCLE Рисунок ание окружностей и эллипсов
CLS Очистка текстовой и графической областей экрана
COLOR Установка цветов экрана
CSRLIN Возвращает текущую позицию строки курсора
DRAW Рисунок ание объектов при помощи набора специальных команд
GET Сохранение в памяти графической прямоугольной области экрана
LINE Рисунок ание отрезка прямой линии, прямоугольников со сторонами, параллельными экрану
LOCATE Перемещение курсора в указанную позицию
PAINT Закрашивание замкнутого контура
PALETTE Изменение установок атрибутов цвета
PALETTE USING Изменение атрибутов цвета пользователем
PCOPY Копирование одной страницы видеопамяти в другую
PRESET Рисунок ание точки цветом фона
PRINT Вывод данных на экран или в файл
PRINT USING Осуществляет форматированный вывод данных на экран или в файл
PSET Рисование точки
PUT Вывод на экран образа, сохраненного оператором GET
SCREEN Установка режима и характеристик экрана
VIEW Определяет размер и положение области просмотра, в которую может быть выведена графическая инфор­мация
VIEW PRINT Устанавливает на экране границы области просмотра текста
WIDTH Изменение числа строк и столбцов, видимых на экране
WINDOW Определяет логическое пространство для текущей графической области просмотра
WRITE Запись данных на экран или в последовательный файл


П4. Операторы и функции для работы с файлами



Таблица П4. Операторы и функции для работы с файлами

Оператор, функция Описание
CLOSE Закрывает один или несколько файлов или устройств
FIELD Отводит место под переменные в буфере файлов прямого доступа
FILEATTR Возвращает информацию об открытом файле
GET Считывает из файла в буфер прямого доступа или в переменную
INPUT # Считывает данные из файла
IOCTL Посылает управляющую строку драйверу устройства
LINE INPUT # Считывает строку до 255 символов с клавиатуры или из файла
LOCK Ограничивает или закрывает доступ к файлу при работе в сети
OPEN Открывает файл или устройство
PRINT # Записывает данные в файл
PRINT # USING Записывает отформатированные данные в файл
PUT Записывает содержимое переменной или буфера прямого доступа в файл
RESET Закрывает все открытые файлы и устройства
SEEK Устанавливает позицию файла для последующей записи или считывания
UNLOCK Снимает ограничения, наложенные последним оператором LOCK
WRITE # Записывает данные в последовательный файл


П5 . Переменные



Таблица П5 . Переменные

Конструкция Описание
CLEAR Закрывает все файлы, освобождает буферы файлов, очищает все общие переменные, устанавливает число­вые переменные и массивы в ноль, устанавливает стро­ковые переменные в ноль и инициализирует стек. Кроме того, CLEAR может изменять размер стека
CONST Описывает одну или несколько символьных переменных
DATA Указывает значения данных для последующего считыва­ния оператором READ
INPUT Считывает входные данные с клавиатуры или из файла
LET Присваивает значение выражения переменной
RANDOMIZE Инициализирует генератор случайных чисел
READ Считывает данные, указанные в операторе DATA
RESTORE Восстанавливает считанные значения в операторе DATA
SWAP Обменивает значения двух переменных


П6. Массивы



Таблица П6. Массивы

Конструкция Описание
DIM Оператор объявления массива
ERASE Для статических массивов каждому элементу присваи­вается ноль. Для строкового — определяются строки нулевой длины. Для динамического — освобождает па­мять, используемую массивом
OPTION BASE Устанавливает нижнюю границу индекса массива
REDIM Описывает или изменяет размер динамического мас­сива


П7. Циклы



Таблица П7. Циклы

Оператор Описание
DO ... LOOP Повторяет блок операторов, пока условие верно, или пока оно не станет верным
END Заканчивает программу, процедуру или блок
FOR ... NEXT Цикл с параметром, с заранее известным числом повторений
WHILE ... WEND Выполняет блок операторов, пока указанное условие верно


П8. Подпрограммы и функции



Таблица П8. Подпрограммы и функции

Оператор Описание
CALL Передает управление в процедуру типа SUB
DECLARE Описывает процедуру типа FUNCTION или SUB
DEF FN Определяет функцию
FUNCTION Определяет процедуру FUNCTION
GOSUB Переходит в подпрограмму и возвращается из нее
ON GOSUB Выполняет переход к одной из нескольких подпрограмм в зависимости от выражения
RETURN Возвращает из подпрограммы в основную программу
SUB Определяет процедуру SUB


П9. Звуки и музыка



Таблица П9. Звуки и музыка

Оператор Описание
BEEP Генерирует звуковой сигнал через встроенный ди­намик
ON PLAY GOSUB Обращение к подпрограмме, когда число нот в му­зыкальном буфере меньше определенного числа
PLAY Воспроизводит музыкальные ноты
SOUND Генерирует звук через встроенный динамик


П10. Строковые функции



Таблица П10. Строковые функции

Функция Описание
CHR$ Возвращает ASCII-код первого символа в строковом вы­ражении
| DATE? Возвращает текущую системную дату
INSTR Возвращает позицию первого вхождения подстроки в строку
LCASES Переводит все символы строковой переменной в строчные буквы
LEET$ Возвращает указанное число символов слева строки
LEN Возвращает длину строковой переменной в символах
MID$ Возвращает указанное число символов из середины стро­ковой переменной, начиная с указанной позиции
RIGHT$ Возвращает указанное число символов справа строки
SPACE$ Возвращает строку пробелов
STRING$ Возвращает строку указанных символов
UCASE$ Переводит все символы строковой переменной в пропис­ные буквы


П11. Сообщения об ошибках



Таблица П11. Сообщения об ошибках

Код Сообщение об ошибке
1 NEXT без FOR Для окончания цикла NEXT нет соответствующего заголовка FOR. Количество FOR и NEXT должно совпадать
2 Синтаксическая ошибка Оператор содержит грамматическую ошибку в написании ключево­го слова или ошибку в пунктуации, либо есть непарные скобки или другие нарушения правил синтаксиса языка Бейсик
3 RETURN без GOSUB Для оператора возврата из подпрограммы RETURN нет соответст­вующего обращения к подпрограмме GOSUB
4 Нет данных В операторе DATA нет данных. Посчитайте количество данных в операторе DATA и количество считываний из него оператором READ. Посмотрите внимательно, не поставили ли вы при перечислении данных в каком-нибудь месте точку вместо запятой
5 Неверный вызов функции Возникает чаще всего при попытке извлечения квадратного корня из отрицательного числа или применения графических операторов без включения графического режима SCREEN. Вообще же подобное сообщение возникает при попытке вызова функции с недопусти­мым параметром
6 Переполнение Числовая переменная или строковая константа выходят за пределы допустимого диапазона. Проверьте и измените значение в случае необходимости
7 Не хватает памяти
8 Метка не определена Оператор GOTO или GOSUB пытаются осуществить переход на несу­ществующую метку
9 Индекс вне режима Сообщение возникает при работе "с массивами, когда индекс како­го-либо элемента массива превышает его объявленный в операторе DIM размер, а также в том случае, когда массив занимает в памяти объем более 64 Кбайт
10 Повторяющееся определение
11 Деление на ноль Выражение в знаменателе после подстановки соответствующих переменных и вычислений, видимо, обращается в ноль
12 Ошибка в режиме управления
13 Ошибка ввода
14 В строке нет места
16 Слишком сложная строковая формула
17 Невозможно продолжить
18 Функция не определена Возможно, используемая функция не определена оператором DEF FN, или допущена ошибка при определении или вызове функции
19 Нет RESUME
20 RESUME без ошибки
24 Устройство в тайм-ауте
25 Ошибка устройства
26 FOR без NEXT Для заголовка цикла FOR нет соответствующего окончания цикла NEXT. Количество FOR и NEXT должно совпадать
21 Нет бумаги
29 WHILE без WEND Для ключевого слова WHILE нет соответствующего слова WEND
30 WEND без WHILE Для ключевого слова WEND нет соответствующего слова WHILE
33 Повторяющаяся метка При расстановке меток допущен повтор одной и той же метки в разных местах программы
35 Подпрограмма не определена Сообщение возникает при попытке обращения к несуществующей подпрограмме
37 Ошибка счетчика аргументов
38 Массив не определен Попытка работать с элементами массива, который не был объявлен оператором DIM
40 Необходима переменная
50 Переполнение FIELD
51 Внутренняя ошибка Чаще всего неверная работа компьютера, реже — смысловые ошибки программы, не сразу различимые на первый взгляд. Часто требуется ручная прокрутка программы
52 Плохое имя файла/плохой номер Имя файла не соответствует требованиям DOS
53 Файл не найден При попытке обращения к файлу указано неправильное его имя или путь к нему
54 Плохой режим файла
55 Файл уже открыт Попытка повторного открытия файла или удаления открытого файла
56 Оператор FIELD активен
57 Ошибка в/вв устройства
Ошибка устройства ввода/вывода, с которой не справляется DOS. Попробуйте посмотреть, все ли в порядке с аппаратной частью, т. е. внешними устройствами компьютера
58 Файл уже существует Попытка сохранить файл под именем уже существующего на диске файла
59 Неверная длина записи
61 Диск заполнен Диск, на который производится запись файла, не имеет достаточно места для этого. Надо освободить дисковое пространство, удалив что-нибудь менее важное
62 Ошибка: введен конец файла
63 Неверный номер записи
64 Плохое имя файла Имя файла не соответствует требованиям DOS
67 Слишком много файлов
68 Устройство недоступно В дисководе нет диска или он испорчен
69 Переполнение буфера коммуникации Попытка копирования в буфер слишком большого обьема инфор­мации
70 Нет разрешения
71 Ошибка формата диска В дисководе нет диска или он испорчен
72 Ошибка диска В дисководе нет диска или он испорчен
73 Недоступная возможность
74 Переименование через диски
75 Ошибка доступа к пути/файлу
76 Путь не найден При попытке обращения к файлу указано неправильное его имя или путь к нему


ПЗ. Операторы выбора и перехода



Таблица ПЗ. Операторы выбора и перехода

Оператор Описание
GOTO Безусловный переход на метку
IF ... THEN ... ELSE Переход в зависимости от истинности или ложно­сти проверяемого условия
SELECT CASE Переход в зависимости от значения выражения