- •Общая характеристика языка
- •Элементы языка 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
- •Переход в графический режим экрана
Функция вычисления экспоненты.
Функция ЕХР вычисляет значения функции е в степени х, где е=2,71 — основание натурального логарифма. Результат имеет вещественный тип SINGLE.
Пример:
'Функция :f(x)-- 3*ex+ 2*eзx
DIMx!
CLS
Input "Задать аргумент функции ",х!
PRINT "f(";x;")-";
PRINT -3 * EXP(x!) + 2 * EXP(3 * xl)
'Конец программы
Вычисление натурального логарифма.
Функция LOG вычисляет значение натурального логарифма, т.е. логарифма с основанием е. Результат имеет вещественный тип SINGLE.
Пример:
'Функция LOG
DIMx!
CLS
Input "Задать аргумент функции ",х!
PRINT "ln(";x!;")-"; LOG(x!)
'проверка
PRINT "так как е^"; LOG(x!); "-х- "; EXP(LOG(x!))
Преобразование к типу integer.
Функция INT возвращает наибольшее целое, не превосходящее значение ее аргумента.
PRINT INT(2.234)
PRINT INT(-2.234)
'Ближайшее меньшее целое число для -2.234 равно -3
Функцию INT удобно использовать для коммерческих округлений.
Пример:
'Округление с помощью функции INT
CONST nkstelle%-10
'константа для определения количества
'значащих цифр после запятой при округлении
'nkstelle - 10 — соответствует одной цифре после запятой
'nkstelle - 100 — соответствует двум цифрам после запятой
DIM x!, rund!
CLS
Input "Задать число ";х!
rund!=х! * nkstelle% + 0.5
rund!= INT(rund!)
rund! = rund! / nkstelle%
PRINT х!; " ";rund!
'Конец программы
Чтобы разобраться в работе этой программы, составим такую же таблицу значений переменных, как в главе "От задачи — к программе":
Переменные |
Действия |
|
х! |
rund! |
|
0 |
0 |
DIM x!, rund! |
23.352 |
0 |
Ввод 23.352 (INPUT) |
23.352 |
234.2 |
х! * nkstelle% + .5 = 23.352 * 10 + .5 |
23.352 |
234 |
int(rund!) |
23.352 |
23.4 |
rund! / nkstelle% = 234 / 10 |
Выделение целой части числа.
Функция FIX возвращает целую часть арифметического значения аргумента. Результат имеет целочисленный тип (INTEGER).
Пример:
PRINT FIX(2.334) PRINT FIX(-2.334)
Извлечение квадратного корня.
Функция SQR возвращает корень квадратный заданного аргумента. Результат — вещественное число типа SINGLE. Помните, что аргумент обязательно должен быть неотрицательным числом.
Пример:
PRINT SQR(4)
PRINT SQR(1OO)
PRINT SQR(234.234)
'Следующая команда с ошибкой
PRINT SQR(-4)
Для других дробных степеней в QBASIC нет стандартных функций. В главе "Функции и процедуры, определенные пользователем" Вы познакомитесь с тем, как можно самостоятельно создавать такие функции в QBASIC.
Определение знака числа (функция сигнатуры).
Функция SGN (Signum) возвращает значения -1,0,1, если аргумент соответственно меньше, равен или больше нуля.
Пример:
'Функция SGN
PRINT SGN(-23.3454)
PRINT SGN(0)
PRINT SGN(23.32)
Преобразование числа в строку.
Функция STR$ преобразует числовое значение в цифровую строку и является функцией, обратной VAL.
DIM zeichen$
ZeichenS= "Это "+ STR$(10.234)
PRINT zeichenS
Массивы в qbasic.
Под массивом понимают объединение переменных одного типа в единую структуру. Обращение к отдельным элементам в массиве осуществляется по индексу. Допустим, в программе необходимо 20 переменных для запоминания стоимостей каких-то товаров artprl,..artpr20. Переменные можно объявить следующим образом: Dim artpi1!, artpr2!,......artpr20! Ввод данных выглядит примерно так: INPUT "Artpri ",artpr1! INPUT "Artpr 20 ",anpr20! Перечень подобных примеров можно продолжить (вывод наименований товаров, суммирование цен, стирание старых цен и т.п.). Значительно удобнее в подобных случаях вместо 20 отдельных полей данных использовать массив из 20 элементов и отдельный элемент идентифицировать с помощью числового индекса. Причем индекс может изменятся, например, как переменная цикла. Массив объявляется командой DIM: DIM [SHARED] Переменная [Размерность] В отличие от объявления простых переменных появляется новая спецификация — размерность. В ней указывается максимальное значение индекса массива.
Пример:
DIM artlkel$(1 T0 20)
DIM prels%(5 TO 10)
DIM alter%(18 T0 65)
'20 строковых элементов 1...20
'6 Integer-элементов 5...10
'48 Integer-элементов 18...65
В программе для выбора элемента из массива используется индекс.
Пример:
PRINT preis%(5)
'Выбор элемента массива с индексом 5
При программировании вышеописанного примера отчетливо видны преимущества применения массивов.
Пример:
'Упражнение с использованием массива
DIM artpr!(1 TO 20) 'массив цен
DIM 1% 'индекс-переменная
CLS
'Ввод цен для 20 наименований товаров
FOR i%-1 T0 20
PRINT "Ввести стоимость "; 1%; "-го товара";
'Ввод в элемемент массива с индексом 1% INPUT "",artpr(l%)
NEXT I %
'Вывод 20 наименований
CLS
'Вывод в строку
'суммы, количества, среднего значения, Max, Min
До сих пор мы рассматривали одномерные массивы. Но в QBASIC массив может иметь несколько индексов. Например, использование второго индекса позволяет обрабатывать двумерные таблицы. Трехмерный массив можно представить как куб. Можно описать массивы с четырьмя, пятью и более индексами. Максимально допустимое число индексов для одного массива — 255.
Пример:
'Использование трехмерных массивов
DIM zahl%(1 TO 10, 4 ТО 16, 6 ТО 30)
zahl%(1,5,23)=13
PRINTzahl%(1,523)