- •Общая характеристика языка
- •Элементы языка qbasic
- •Ключевые слова
- •Синтаксические соглашения
- •Комментарии
- •Арифметические выражения.
- •Строковые выражения
- •Типы данных
- •Стандартные типы данных.
- •Константы и переменные. Константы.
- •Переменные.
- •Присвоение значений переменным.
- •Ввод/вывод.
- •Вывод на экран.
- •Очистка экрана.
- •Ввод с клавиатуры.
- •Input "Введите, пожалуйста, высоту :"; height!
- •Input "Введите, пожалуйста, ширину :"; breadth!
- •Input "Введите, пожалуйста, длину :"; length!
- •Форматированный вывод на экран.
- •Позиционирование курсора.
- •Вывод пробелов.
- •Функция табуляции.
- •Остановка программы.
- •Управляющие операторы.
- •Оператор безусловного перехода.
- •Условия .
- •Оператор условного перехода в программе.
- •Цикл while.
- •Цикл do.
- •Оператор выбора select case.
- •Input "Задать число "; zahl%
- •Input "Ввести число "; zahl%
- •Логические операции.
- •Input "Ввести число 1, zahl1%
- •Input "Ввести число 2", zahl2%
- •Логическое и (and) .
- •Логическое или (or) .
- •Input "Введите число 1", zahl1%
- •Input "Введите число 2", zahl2%
- •Логическое отрицание (not).
- •Input "Введите число " zahl%
- •Обработка строк
- •Определение длины строки.
- •Получение символов кода ascii.
- •Input "Ввести ascii-значение ", ascii%
- •Функция вычисления экспоненты.
- •Input "Задать аргумент функции ",х!
- •Вычисление натурального логарифма.
- •Input "Задать аргумент функции ",х!
- •Преобразование к типу integer.
- •Input "Задать число ";х!
- •Выделение целой части числа.
- •Извлечение квадратного корня.
- •Определение знака числа (функция сигнатуры).
- •Преобразование числа в строку.
- •Массивы в qbasic.
- •Функции и процедуры, определенные пользователем. Собственные функции.
- •Input "Ввести аргумент: ", argument!
- •Input "Ввести степень корня: ", wurz%
- •Собственные процедуры.
- •Установка цветов экрана.
- •Работа с файлами. Введение и основные функции.
- •Input "Фамилия : ", nachnameS
- •Input "Заглавие : ", stichwortS
- •Работа с адресами в справочнике.
- •Обработка ошибок.
- •Input "Введите, пожалуйста, число ",а!
- •Input "Введите, пожалуйста, число ",а1
- •Графические возможности Basica
- •Переход в графический режим экрана
Позиционирование курсора.
Для перемещения курсора в требуемую позицию экрана, как правило, применяют оператор LOCATE. Это очень удобно, например, для создания сложных форм вывода на экран. LOCATE [Строка] [, [Столбец][,[Курсор] [,Старт[,[Стоп] ]]] Строка - Строка экрана (1-25), на которую должен переместиться курсор. Столбец - Столбец экрана (1-80), к которому должен переместиться курсор. Курсор - Указывает, в каком состоянии находится курсор при выводе. 0— выключен, 1 — включен. Старт, Стоп - Числа от 1 до 31, которые задают высоту курсора. Синтаксически команда выглядит достаточно сложной, но ситуацию упрощает то, что большинство параметров необязательны. Пример 1: После очистки первый вывод на экран должен быть в десятой строке.
'Вывод в десятую строку после CLS
CLS
LOCATE 10
PRINT "Вывод появляется в десятой строке экрана"
'Конец программы
Вывод пробелов.
Функция SPC в сочетании с оператором PRINT может выводить на экран пробелы. Это полезно, например, при оформлении вывода информации на экран. SPC (Значение) Значение - Арифметическое выражение типа INTEGER в диапазоне значений от 0 до 32767.
Пример:
CLS
PRINT "Text Г; SPC(10); "Text 2"
Функция табуляции.
Функция TAB так же, как функция SPC, применяется в операторе PRINT. Позволяет начать вывод данных текущей строки с определенной позиции. TAB (Столбец) Столбец - Переменная типа INTEGER, задает номер столбца вывода данных текущей строки. Функция TAB очень полезна в случаях, когда с помощью оператора LPRINT требуется оформить наглядный листинг.
Остановка программы.
В основном любой алгоритм должен как-то заканчиваться, поэтому отсутствие необходимости использовать оператор END в последних версиях QBASICа, считается отрицательным его качеством. Но он всё же существует, и вставлять его в конец программы всё же стоит (потом пригодится). Также если хотите прервать вашу программу в любом её месте то надо использовать оператор STOP Он останавливает выполнение программы на том месте, где стоит.
Управляющие операторы.
Рассматриваемые до сих пор программы были линейными, т.е. выполнялись последовательно оператор за оператором с начала до конца программы. В таких программах невозможно влиять на последовательность выполнения операторов, когда, например, происходит повторение фрагментов программы или выполнение ряда действий зависит от определенных условий.
В этой главе Вы познакомитесь с операторами, которые позволяют управлять ходом выполнения программы. Группу таких операторов часто объединяют понятием "Управляющие операторы".
Оператор безусловного перехода.
Оператор GOTO позволяет изменить последовательность выполнения шагов программы, но его применение нежелательно, так как увеличивается время выполнения, снижается наглядность и понимаемость программы. В предыдущих версиях BASICa не было возможности отказаться от применения GOTO, так как практически не существовало других языковых элементов для управления программой. GOTO Метка_перехода Метка_перехода Объявленная в программе метка. Метка объявляется произвольным именем, заканчивающимся двоеточием. Пример 1: В приведенной ниже программе происходит переход к последнему оператору PRINT, В результате на экране получаем сообщение "Хелло, Долли!".
'Оператор GOTO
CLS
PRINT "Хелло, "
GOTO weiter
PRINT "Здесь проявляется GOTO";
Welter: ‘Метка перехода
PRINT "Долли!"
'Конец программы
Если указать в операторе GOTO метку, не объявленную в программе, то при запуске программы, появится соответствующее сообщение об ошибке. Если одну метку объявить в программе дважды, тоже появится сообщение об ошибке.
Пример 2: В этом примере представлена "бесконечная" (зациклившаяся) программа, которая всегда возвращается к своему началу.
'Зациклившаяся программа (прервать нажатием клавиш "CTRL" + "Pause")
anfang:
PRINT 234.23
GOTO anfang 'Недосягаемый конец программы
Пример 3: Последний пример показывает, насколько плохую услугу при конструировании программ оказывает оператор GOTO.
'Как не надо писать программы
anfang:
GOTO schritti
schritt4:
PRINT "совсем непонятная "
GOTO schritt5
schritt6:
GOTO ende
schritti:
CLS
GOTO schritt2
schrin3:
PRINT "простая, но "
GOTO schritt4
schritt2:
PRINT "Это очень"
GOTO schrin3
Schritt5:
PRINT "программа."
GOTO schritt6
PRINT "Здесь работает Goto-"
ende:
PRINT "Наконец готово!"
'Конец программы