- •Общая характеристика языка
- •Элементы языка 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
- •Переход в графический режим экрана
Оператор выбора select case.
SELECT CASE предназначен для выполнения одного из альтернативных действий, перечисленных в нем. Выбор определяется значением управляющей переменной. Начнем с представления синтаксиса: SELECT CASE Переменная CASE Сравнение_1 [Операторы_1] [CASE Сравнение_2 [Операторы_2] ]... [CASE ELSE [Операторы] ] END SELECT Сначала выполняется Сравнение_1. Если результат истинен, выполняются Операторы_1, после чего выполнение программы продолжается с оператора, следующего за END SELECT. Если результат Сравнения_1 ложен, то проверяется условие следующей ветви CASE. В итоге выполняются операторы той CASE-ветви, для которой выполняется условие сравнения. Если же ни для одной ветви результатом сравнения не является истина, то выполняются операторы ветви CASE ELSE.
Примечание: Применение CASE ELSE не обязательно. Однако эту ветвь все же следует
описывать, так какv QBASIC выдает сообщение об ошибке, если ее нет и
ни для одного из сравнений не был получен истинный результат.
CASE-сравнение в простейшем случае состоит только из одного выражения (например, из чисел или из переменных). Однако можно включать списки выражений (выражение_1, выражение_2,.„) или даже целые области (выражение_1 ТО выражение_2). Далее значение переменной можно оценивать с помощью операторов сравнения, как в случае с условиями. Для этого после CASE применяется ключевое слово IS, за которым следует операция отношения и выражение.
Пример I: В этом примере вводимое число проверяется на принадлежность к определенному интервалу.
‘ SELECT ... CASE
CONST zehn%= 10
DIM zahl%
CLS
Input "Задать число "; zahl%
SELECT CASE zahl%
CASE 1, 2 'список значений
PRINT "Число 1 или 2"
CASE 3 TO 10 'область значений
PRINT "Число в диапазоне от 3 до 10"
CASE IS = 11 'сравнение с IS и оператор
PRINT "Число 11"
'Разумеется, выражение для сравнения может быть и посложнее
CASE IS < zehn% + 10
PRINT "Число меньше 20"
CASE ELSE
PRINT "Это все, что я знаю о числе "
END SELECT
PRINT "Конец"
'Конец программы
Пример 2: Иногда важно, в какой последовательности располагаются CASE-ветви. Рассмотрим пример.
'SELECT...CASE с подвохом
DIM zahl%
CLS
Input "Ввести число "; zahl%
SELECT CASE zahl%
CASE IS < 10
PRINT "Число меньше 10"
CASE IS < 20
PRINT "Число меньше 20"
CASE IS < 5
PRINT "Число меньше 5"
CASE ELSE
PRINT "Решение не встретилось"
END SELECT 'Конец программы
Третья CASE-ветвь никогда не будет выполнена, так как число, которое меньше 5, всегда меньше 10, а значит, после первой CASE-ветви выполнение оператора SELECT завершится.
Логические операции.
В программах часто возникает необходимость описывать более сложные логические выражения, чем мы рассматривали. Рассмотрим пример:
'Пример, подводящий читателя к применению более сложных логических условий
DIM zahl1%, zahl2%
CLS
Input "Ввести число 1, zahl1%
Input "Ввести число 2", zahl2%
'Конец программы
Предположим входные данные должны вводится только тогда, когда zahll % больше нуля, и одновременно zahl1% меньше нуля. Как проверить одно из условий, Вы уже знаете. Рассмотрим способ, позволяющий объединить оба условия.