Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник (бейсик).doc
Скачиваний:
4
Добавлен:
03.11.2018
Размер:
347.65 Кб
Скачать

Функция вычисления экспоненты.

Функция ЕХР вычисляет значения функции е в степени х, где е=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)