LOGO
==>
О проекте и его создателях.
Все для учебы (книги, методички...)
Тоже для учебы, но другого плана (шпоры, советы...)
Для инфосистемщиков и интересующихся.
Отдых - юмор, спорт, творчество...
Отдых, не привязанный к РФ.
Lnks - полезные ссылки.
на главную страницу
~home > Неофициальные ништяки > FORTRAN > 01
гостевая книгаконтакты
Пункт1 - Задание 1.

Тут все просто. На этом этапе вам достаточно усвоить, что в 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

 

 
* (c) by Fil McArov, Dmitry Sinelnikov, Alexander Kireev, Victor Sangalov, Dmitry Ilyukhin, Pavel Sharkin, Danil Svyatoshenko, Dmitry Bakshaev, Vladimir Razumov. *
Hosted by uCoz