Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
64
Добавлен:
02.05.2014
Размер:
868.35 Кб
Скачать

3. Переменные

Переменная– это величина, которая может в программе принимать различные значения.

Переменные различаются по именам. Имя переменной (идентификатор) может содержать от 1 до 6 символов. Причём первый символ – буква (желательно латинского алфавита). Следует избегать имен (идентификаторов), совпадающих с операторами языка, например REAL,READ, а так же с именами встроенных функций.

В Фортран-77 и более поздних версиях имя переменной может содержать более 6 символов (до 1320), но только первых 6 символов являются распознаваемыми.

Примеры имен переменных: X,Y1,tok, kit,ambassadort. Имена переменных в программе могут быть набраны прописными или строковыми буквами. В последнем имени распознаваемыми будут только первых 6 символовambass.

4. Типы переменных

По неявному соглашению все переменные считаются вещественного типа за исключением тех, имя которых начинается на одну из букв:

I, J, K, L, M, N.

Если имя переменной начинается на одну из этих букв, то эта переменная считается целого типа и она может содержать только целое число.

Во всех других случаях типы переменных задаются с помощью операторов описания.

5. Операторы описания

К операторам описания относят операторы:

REAL – описывает переменные и массивы вещественного типа.

Если имеется переменная или массив целого типа (когда имя начинается на любую букву из I,J,K,L,M,N), то с помощью оператораREALможно преобразовать её в переменную вещественного типа.

Примеры:

REAL K,LAM(5)

K=2.5

INTEGER– описывает переменные и массивы целого типа.

Используется для преобразования переменной или массива вещественного типа в переменную или массив целого типа.

Примеры:

INTEGER X,TOK,B(10).

TOK=4

B(1)=132

COMPLEX- описывает переменные и массивы комплексного типа. Все переменные и массивы комплексного типаобязательнодолжны быть описаны в программе операторомCOMPLEX.

После описания с помощью оператора COMPLEXпеременная любого типа становиться переменной комплексного типа.

Примеры:

COMPLEXQ1,QX2,M12

CHARACTER - описывает переменные и массивы текстового типа (строковые). Все данные строкового типа должны быть описаны. Если длина строковой переменной не превышает 4-х байт, то ее можно не описывать.

Используется при непосредственной работе с текстом для описания переменных как текстовых.

Пример:

CHARACTER*10 C,C1,D12*15

Данная строчка означает, что в программе переменные C,C1D12 будут текстового типа (строковые), причём переменные С, С1 могут содержать до 10 символов. *10 – обозначает групповой описатель длины переменных. ПеременнаяD12 может содержать до 15 символов текста. *15 – индивидуальный описатель длины переменнойD12.

LOGICAL– описывает переменные логического типа.

Пример:

LOGICALT1,T2

DOUBLE PRECISION или REAL*8 - описывает переменные удвоенной значности.

6. Арифметические операции Операции по приоритету:

вычисление значений функций;

** - возведение в степень;

*, / - умножение и деление;

+, – - сложение и вычитание;

( ) – очерёдность выполнения арифметических операций может задаваться с помощью скобок;

= - присвоить значение.

Встроенные функции языка FORTRAN

sin x

SIN(x)

ex

EXP(X)

cos x

COS(x)

ln x

ALOG(X)

tg x

TAN(x)

lg x

ALOG10(X)

arctg x

ATAN(x)

|x|

ABS(X)

SQRT(2.*x)

max(a,b)

AMAX1(A,B)

X**(1./3.)

min(a,b,c)

AMIN1(A,B,C)

Предупреждение :функцииsin,cos, а также отрицательное число нельзя возводить в вещественную степень.

Для тригонометрических функций угол указывается в радианах.

Оператор присваивания.

В общем виде : переменная = выражение

Символ “ = ” обозначает операцию присвоить значение. При схожести с арифметической операцией “равно” (Y=48 ), имеет существенное отличие в таких выражениях как :

I=I+1 илиX=X+DX

Последняя запись обозначает следующее. Взять число из ячейки Xдобавить к нему число, хранящееся в ячейкеDXи результат записать в ячейкуX.

Не могут находиться рядом два знака арифметических операций. Их необходимо отделять скобками .

T* ( -2.*X)

Арифметические операции в выражении выполняются слева направо с учетом приоритета. При нескольких операциях возведении в степень они выполняются справа налево. Например: А=В**С**2 будет выполняться как А=В**(С**2).

При записи арифметических операций количество открытых скобок должно быть равно количеству закрытых скобок.

Отрицательное число не может быть возведено в вещественную степень. Поэтому в выражениях записи функции sin2xзапись в программе должна быть :SIN(X)**2 , где 2 – целого типа. Положительное число может быть возведено в вещественную степень. В этом случае используется программа с логарифмическими функциями. Процесс возведения в целую степень заменяется перемножением,эта функция должна быть записана так :X**2.5 + Y**(1./3.) – 2.*SIN(X)**2 + EXP(2.*X) . В приведенном выражении желательно использование данных одного типа.

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

Примеры:

A=1/3=0

A=1./3.=0.33(3)

I=199/100=1

J=1./3=0.33(3) при вычислении, а при пересылке результата вычисления в ячейку памяти ЭВМ дробная часть результата отбрасывается иJбудет равно 0.

Если выражение для записать какY**(1/3), то результат такой записи при любомYбудет равен 1. Поскольку деление 1 целого типа на 3 дает результат также целого типа ноль. Любое числоY, возведенное в нулевую степень, будет равно 1.Правильная запись: Y**(1./3.).

Ошибки в записи порядка операций с данными целого типа являются одними из самых распространенных!!! Обратите внимание!

Соседние файлы в папке Программирование на Фортране