
- •Лабораторная работа № 4
- •Арифметические выражения
- •Символьные (текстовые) выражения
- •Выражения отношения
- •Логические выражения
- •Оператор присваивания
- •Часть 1 Программирование математических выражений
- •Запись формул
- •Изучение программирования математических формул на Visual Basic - е в среде разработки Visual Studio
- •Еще один образец
- •Часть 2 Текстовые переменные, константы, выражения и символьные операторы присваивания
- •Изучение программирования символьных выражении на Visual Basic - е в среде разработки Visual Studio
- •Часть 3 Логические переменные и логический оператор присваивания
- •Изучение программирования логических выражении на Visual Basic - е в среде разработки Visual Studio
Часть 1 Программирование математических выражений
Наиболее простым и наиболее распространенным видом работы является расчет по готовым математическим формулам. Первый этап этого процесса - это определение последовательности вычисления формул. Их нужно так расположить в программе, чтобы к моменту его вычисления все необходимые данные уже должны быть известны. Второй этап - это сопоставление каждой переменной математической формулы символического имени в виде переменной или элемента массива. Третий этап - это программирование математических формул. При этом переменные формулы заменяются на символические имена переменных или элементов массива, математические операции, если можно, заменяются на операции языка программирования, используя, где нужно, круглые скобки для соблюдения порядка выполнения операции. Не все математические операции реализуются отдельной операцией. Их нужно реализовать или последовательностью операторов или в виде отдельных подпрограмм. Например, взятие интеграла. Некоторые стандартные функции поставляются совместно с компилятором.
Fortran
Приведем небольшой перечень таких функции.
ABS(X), IABS(X), DABS(X), CABS(X), CDABS(X) - вычисляют значение абсолютной величины Х;
SQRT(X), DSQRT(X), CSQRT(X), CDSQRT(X) - вычисляют квадратный корень от Х;
EXP(X), DEXP(X), CEXP(X), CDEXP(X) - вычисляют значение экспонента от Х;
LOG(X), ALOG(X), DLOG(X), CDLOG(X) - вычисляют значение натурального логарифма от Х;
LOG10(X), ALOG10(X), DLOG10(X) - вычисляют значение десятичного логарифма от Х;
SIN(X), DSIN(X), DSIN(X), CDSIN(X) - вычисляют значение синуса от Х;
COS(X), DCOS(X), CCOS(X), CDCOS(X) - вычисляют значение косинуса от Х;
TAN(X), DTAN(X) - вычисляют значение тангенса от Х;
COTAN(X), DCOTAN(X) - вычисляют значение тангенса от Х;
ASIN(X), DASIN(X) - вычисляют значение арксинуса от Х;
ACOS(X), DACOS(X) - вычисляют значение арккосинуса от Х;
ATAN(X), DATAN(X) - вычисляют значение арктангенса от Х;
ATAN2(X,Y), DATAN2(X,Y) - вычисляют значение арктангенса от Х/Y;
MAX0(X1,X2,...), AMAX(X1,X2,...), MAX1(X1,X2,...), AMAX0(X1,X2,...), DMAX1(X1,X2,...) - возвращают максимальное значение из списка параметров; количество параметров не ограничено; если имя оканчивается на 0, то тип параметров целый;
MIN0(X1,X2,...), AMIN(X1,X2,...), MIN1(X1,X2,...), AMIN0(X1,X2,...), DMIN1(X1,X2,...) - возвращают минимальное значение из списка параметров; количество параметров не ограничено; если имя оканчивается на 0, то тип параметров целый.
Примечание. Тип параметра и функции определяется первой буквой в названии функции. Если имя начинается буквой D, то они имеют тип REAL*8. Если имя начинается с букв I, J, K, L, M, N, то они имеют тип INTEGER. Если имя начинается буквой C , то они имеют тип COMPLEX*8. Если имя начинается буквой CD , то они имеют тип COMPLEX*16. В остальных случаях имеют тип REAL*4.
QuickBasic
ABS(x) - абсолютное значение числа;
ATN(x) - арктангенс числа;
COS(x) - косинус угла;
EXP(x) - экспонента числа;
LOG(x) - логарифм натуральный;
RND(x) - генерация случайного числа;
SIN(x) - синус угла;
SQR(x) - корень квадратный;
TAN(x) - тангенс угла;
SIGN(x) - знак числа.
Visual Basic
Работа с числами — одна из основных задач программирования. Однако, привычным способом записывать выражениях математические функции не можем. Они приписаны методами к классу Math. Поэтому вместо Sin(X) должны писать Math.Sin(X) . Названия многих функции совпадают с названиями функции QuickBasic, но проверить не мешает. Например, корень квадратный вычисляется функцией Sqrt(x) и, соответственно, пишется Math.Sqrt(x) .
Turbo Pascal
Приведем перечень функции из модуля System, полезные при выполнении арифметических операций.
Функция |
Описание |
Тип аргумента |
Тип функции |
Abs(X) |
абсолютное значение X |
числовой |
совпадает |
Аrctan(X) |
арктангенс X, в рад. |
Real |
Real |
Cоs(X) |
Косинус X, в радианах |
Real |
Real |
Eхp(X) |
экспонента X |
Real |
Real |
Frас(X) |
Дробная часть X |
Real |
Real |
Int(X) |
целая часть X |
Real |
Real |
Ln(X) |
натуральный логарифм X |
Real |
Real |
Pi |
значение числа (3.141592653897932385) |
нет |
вещественный |
Sin(X) |
синус X |
Real |
Real |
Sqr(X) |
X в квадрате |
числовой |
совпадает |
Sqrt(X) |
квадратный корень X |
Real |
Real |
Random Random(N) |
случайное число случайное число |
нет word |
0 <= f < 1 0 <= f < N word |
Rоund(X) |
Округляет до целого |
Real |
Longint |
Тrunс(X) |
Усекает до целого |
Real |
Longint |
Rаndомizе |
Инициализирует встроенный генератор случайных чисел случайным значением; Procedure |
Примечание: Значения, возвращаемые процедурами операций с плавающей запятой модуля System, при компиляции в режиме числовой обработки (директива $N+), имеют не вещественный тип (real), а расширенный (extended).