Тут все просто. На этом этапе вам достаточно усвоить, что в FORTRAN
(далее Ф.) различают целочисленные и действительные переменные.
И еще то, что действительные бывают одинарной и двойной степени
точности. Т.е. хранящие 8 и 16 знаков после запятой соответственно.
Вообще, достаточно делать в одинарной, но если захочется выпендриться,
можно и в двойной. Причем переменные, с именами, начинающимися
на буквы I,J,K,L,M,N по умолчанию - целочисленные, а начинающиеся
с остальных букв - действительные одинарной степени точности.
С чисел начинаться имя переменной не может. И еще - каждая строчка
пишется не с начала строки. Сначла нажмите "Tab" а потом
вводите. Вы как бы оставляете поля. На них пишут метки.
Первое задание заключается в написании программы, вычисляющей
значение сложного выражения. Выражение у каждого свое. Все выражения
написаны в методичке, а ваше - под номером, соответствующем вашему
номеру в списке препода. Вот примерный текст:
--------------------------------------------------------------------------------------------------
PROGRAM T1
X = 0.6
A = 1.4
P = 3.14159265
B = X**0.2 * SIN( (P-X) / A )
B = B + (X+1.3333333)**3 - P*SQRT( A )
C = P * ALOG10( 16.5 + EXP( -1.*A**2 ))
C = C + ATAN( A**EXP(1.) - COS( ABS( X-2. )))
Y = B / C
WRITE(*,*) 'X =',X, '; A =',A, '; Y =',Y
STOP
END
--------------------------------------------------------------------------------------------------
Вам
достаточно внести небольшие изменения. Во-первых, вставить свое
выражение. Как это сделать, чтобы не вызвать у препода лишних
вопросов? Вот как: все операции вы проводите с действительными
переменными, так что все числа в выражении пишите с точкой, даже
если десятичная часть равна нулю. То есть вместо "2"
пишите "2.0". Это нужно делать всегда, кроме случая,
когда вы возводите в целую степень. В этом случае НУЖНО писать
именно просто "2", а не "2.0", потому что
"2.0" - ДЛЯ МАШИНЫ уже действительное, и ДЛЯ МАШИНЫ
же механизм возведения в целую степень на несколько порядков проще,
чем в такую же действительную. Математические операторы в Ф. следующие:
сложение "+", вычитание "-", умножение "*",
деление "/", возведение в степень "**". Про
порядок выполнения арифметических действий рассказывать не буду,
этому еще в школе во втором классе учат. Стандартные функции:
sinx = SIN(X), cosx = COS(X), tgx = TAN(X), arcsinx = ASIN(X),
arccosx = ACOS(X), arctgx = ATAN(X), lnx=ALOG(X), lgx = ALOG10(X),
e^x = EXP(X), (x)^1\2 = SQRT(X). Если вы считаете все в двойной
степени точности, то перед каждой функцией надо ставить букву
D. А так как тип данных аргумента должен соответствовать типу
данных функции, то и каждое число доолжно быть не просто действительным,
а записанным с двойной точностью. Для этого после числа ставят
D0 ("дэ ноль"). Например, действительное число 2.43045
записанное с двойной степенью точности будет выглядеть так 2.43045D0.
Чтобы определить некоторые действительные переменные с двойной
степенью точности, сразу после строки PROGRAM
T1 необходимо написать REAL*8
и список переменных через запятую.
Это все. Но есть еще несколько моментов, которые позволят вам
не просто справится с заданием, а показать высокий уровень своих
знаний. Во-первых, почти в каждом варианте, в выражении встречается
число "пи". В примере программы его просто задали, как
3.14159265. Это
правильно, но лучше, особенно для тех, кто считает с двойной точностью,
определить "пи", как arccos(-1). Т.е. записать так P
= ACOS(-1). Кроме того,
неплохо бы в начале спросить пользователя, не хочет ли он ввести
с клавиатуры значения переменных а в конце, после вывода результатов,
спросить, не хочет ли он посчитать еще раз, с новыми значениями
переменных. сделать это можно так: в начале, вместо второй и третьей
строки ввести следующее
2 WRITE (*,*) ' Input
X and A'
READ (*,*) X, A
где вместо X и A вам надо подставить названия ваших переменных.
"2" в первой строке - это метка.
В конце же (перед оператором STOP) нужно вставить строки
WRITE (*,*) ' Would you
like to count one more time ? '
WRITE (*,*) ' 1 = Yes, Anything_else = No '
READ (*,*) K
IF (K-1) 99, 2, 99
И еще вам нужно поставить на строку с оператором STOP метку 99.
Метка ставится в начале строки. После этого надо нажать tab и
писать собственно строку.
Успехов в выполнении задания !
Fil
"fmc" McArov
0
- 1 - 2 - 3
- 4 - 5 - 6 - 7 - 8