Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_лекции_Саладаев.doc
Скачиваний:
55
Добавлен:
03.05.2015
Размер:
15.75 Mб
Скачать

10.6.Математические вычисления

 

С простыми математическими вычислениями Вы уже познакомились в главе "Элементы языка QBASIC". В этой главе рассмотрим функции, которые позволяют проводить сложные математические расчеты. Без этих функций такие расчеты либо не возможны, либо требуют для реализации значительных затрат.

 

1. Абсолютное значение числа

Функция ABSвозвращает абсолютное значение заданного арифметического выражения.

Пример: 'Функция ABS DIM wert% wert% = 45 PRINT ABS(wert%) PRINT ABS(-1 * wert%)

 

2. Тригонометрические функции

В QBASIC определены следующие тригонометрические функции:

SIN (угол)

Функция синус угла

COS(угол)

Функция косинус угла

TAN (угол)

Функция тангенс угла

ATN (арифм.выраж.)

Функция арктангенс угла

 

Угол следует задавать в радианах. Функция, обратная тангенсу — ATN, возвращает значение угла, выраженное в радианах. Для преобразования значения угла из градусной меры в радианную, и наоборот, можно воспользоваться формулами: D град = рад* (180 /pi) D рад =град* (pi/ 180) где pi =3,14159

Пример: 'Примеры тригонометрических функций CONST pi!- 3.14159 CONST bogum! - 180 / pi! CONST gradum!-pi!/ 180 'Вычисление синуса, косинуса и тангенса угла 17 градусов PRINT SIN(17*gradum) PRINT COS(17 * gradum) PRINT TAN(17*gradum) 'Функция, обратная тангенсу — ATN 'Требуется опять получить 17 градусов PRINT ATN(TAN(197 * gradum)) * bogum 'Конец программы

3. Функция вычисления экспонентыФункцияЕХРвычисляет значения функции е в степени х, где е=2,71 — основание натурального логарифма. Результат имеет вещественный тип SINGLE.

Пример: 'Функция :f(x)-- 3*ex+ 2*eзx DIMx! CLS INPUT "Задать аргумент функции ",х! PRINT "f(";x;")-"; PRINT -3 * EXP(x!) + 2 * EXP(3 * xl) 'Конец программы

 

4. Вычисление натурального логарифмаФункцияLOGвычисляет значение натурального логарифма, т.е. логарифма с основанием е. Результат имеет вещественный тип SINGLE.Пример: 'Функция LOG DIMx! CLS INPUT "Задать аргумент функции ",х! PRINT "ln(";x!;")-"; LOG(x!) 'проверка PRINT "так как е^"; LOG(x!); "-х- "; EXP(LOG(x!))

5. Преобразование к типу INTEGERФункцияINTвозвращает наибольшее целое, не превосходящее значение ее аргумента.Пример:

PRINTINT(2.234)

PRINTINT(-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

6. Выделение целой части числаФункцияFIX возвращает целую часть арифметического значения аргумента. Результат имеет целочисленный тип (INTEGER).

Пример: PRINT FIX(2.334) PRINT FIX(-2.334)

7. Извлечение квадратного корняФункцияSQRвозвращает корень квадратный заданного аргумента. Результат — вещественное число типа SINGLE. Помните, что аргумент обязательно должен быть неотрицательным числом.

Пример: PRINT SQR(4) PRINT SQR(1OO) PRINT SQR(234.234) 'Следующая команда с ошибкой PRINT SQR(-4)

Для других дробных степеней в QBASIC нет стандартных функций. В главе "Пользовательские функции и процедуры" Вы познакомитесь с тем, как можно самостоятельно создавать такие функции в QBASIC.

 

8. Определение знака числа (функция сигнатуры)ФункцияSGN(Signum) возвращает значения -1,0,1, если аргумент соответственно меньше, равен или больше нуля.

Пример: 'Функция SGN PRINT SGN(-23.3454) PRINT SGN(0) PRINT SGN(23.32)

9. Преобразование числа в строкуФункцияSTR$преобразует числовое значение в цифровую строку и является функцией, обратной VAL. DIM zeichen$ ZeichenS= "Это "+ STR$(10.234) PRINT zeichenS