- •Министерство общего и профессионального образования российской федерации московский государственный технический университет (мами) Кафедра "Прикладная и вычислительная математика"
- •Программирование на языке Фортран
- •Основные понятия. Программирование расчетов по формулам
- •Real*4 – ранг 3
- •Ввод-вывод информации
- •Разветвляющиеся программы и операторы управления
- •If ( выражение ) Then
- •Программирование циклов
- •C *** Конец внутреннего цикла ***
- •Обработка массивов
- •Подпрограммы
Основные понятия. Программирование расчетов по формулам
С п р а в о ч н а я и н ф о р м а ц и я
Программа для ЭВМ состоит из последовательности команд, реализующих алгоритм решения задачи. Каждая из команд языка Фортран состоит из ключевых слов, определяющих характер выполняемых действий над константами, переменными и выражениями. В Фортране используются пять основных типов команд (операторов): присваивание; ввод-вывод информации; передача управления; описание объектов; подпрограммы. Каждая команда на Фортране записывается в свою строку длиной 80 символов.
Основными символами языка Фортран, образующими его алфавит, являются: строчные и прописные латинские буквы A, B, C, ..., Z; цифры 0, 1, 2, ..., 9; пробел и специальные символы = + - * / ( _ ) , . $ ' :. Другие символы, в частности, буквы русского алфавита могут быть использованы только в качестве комментариев к программе.
Константа – величина, значение которой задается в явном виде и в дальнейшем не меняется. Различают следующие типы констант: числовые, логические и символьные. Числовые константы бывают целыми и вещественными.
Целая константа представляет собой целое число:
81, -1230, 0, 225, ....
В Фортран-программе целые константы записываются в форме I (Integer), которая совпадает с записью целых чисел в алгебре.
Вещественная константа – действительное число:
562,401 0,362.10-4 2,57 -0,01276 1,0273.102
В программе вещественная константа может быть записана в одной из трех форм: F, E и D.
Форма F (Fixed) - форма с фиксированной точкой, представляет собой запись вещественной константы с десятичной точкой вместо запятой:
562.401 0.0000362 2.57 -0.01276 102.73
Формы Е (Exponential) и D (Double precision) – формы с плавающей точкой, представляют собой запись вещественной константы в виде мантиссы и порядка. Константа в форме Е имеет мантиссу длиной до 7 цифр и порядок в виде двузначного числа, обозначаемый буквой Е:
0.562401E+03 0.362E-04 0.257E+01 -0.1276E-01 0.10273E+03
а константа в форме D допускает мантиссу длиной до 15 цифр, ее порядок обозначается буквой D и может быть трехзначным числом:
0.562401D+003 0.362D-004 0.257D+01 -0.1276D-01 0.10273D+03
При записи порядка в формах E и D знак "+" и нуль в крайней левой позиции величины порядка могут быть опущены.
Логическая константа используется для обозначения одного из значений: "истина" или "ложь". Значения логической константы, соответственно, задаются ключевыми словами TRUE и FALSE, заключенными между точками:
.TRUE. или .FALSE.
Символьная константа представляет собой последовательность символов, заключенную в апострофы. Апострофы служат признаками начала и конца константы и не являются ее частью. Если последовательность символов содержит апостроф, то в константе он должен записываться в виде пары апострофов. Например, слова ForTran и O'Генри соответствуют символьным константам 'ForTran' и 'O''Генри'.
Переменная – символьное представление величины, которой могут присваиваться различные значения в процессе выполнения программы. Переменная характеризуется тремя параметрами: именем, типом и значением.
Имя переменной может включать в себя буквы латинского алфавита, цифры, знаки подчеркивания и $, но первым символом - всегда должна быть буква. Длина имени может быть от 1 до 31 символа, однако для распознавания используются только первые шесть. Строчные и прописные буквы в имени равносильны, а пробелы не рассматриваются как значащие. Например, имена переменных LONG, Long и L o n g воспринимаются транслятором как одно имя.
Тип переменной определяется по умолчанию или явно. По умолчанию тип переменной принимается числовым и определяется по первой букве ее имени. Если имя переменной, начинается с букв I, J, K, L, M, N, то ей приписывается целый тип, в противном случае - вещественный тип.
Явным способом тип переменной может быть определен с помощью операторов описания типов переменных:
тип[*длина] список
или
тип имя переменной[*длина] [[, имя переменной[*длина]]...],
где тип |
– ключевое слово, определяющее тип переменной: Integer – числовой целый; Real – числовой вещественный; Logical – логический; Character – символьный; |
длина |
– объем памяти в байтах, выделяемый для переменной указанного типа; |
список |
– имя переменной [[,имя переменной]...] – перечень имен переменных данного типа, разделенных запятыми. |
Для переменных типа Integer и Real существуют две допустимые длины: стандартная – 4 байта, которая устанавливается по умолчанию, и дополнительная – 2 байта для целых переменных и 8 байт для вещественных. Переменным типа Logical указывать длину не требуется, так как она постоянна и равна 4 байтам. Длина символьных переменных может колебаться от 1 до 32767 байтов (символов). Например
Integer A, B, C*2
Real Lem, Io*8
Character First*15, SECOND*10
Операторы описания типов должны стоять в начале программы.
Выражение – это последовательность операндов (констант, переменных и функций), соединенных знаками операций и задающая некоторые вычисления. В зависимости от знаков операций, используемых в выражении, различают арифметические, логические и текстовые выражения.
Арифметическое выражение – это запись математической формулы с использованием констант, переменных, функций, знаков арифметических операций и круглых скобок. Для обозначения арифметических операций используются следующие знаки:
-
"+"
– сложение и
"-"
– вычитание;
"*"
– умножение и
"/"
– деление;
"**" – возведение в степень.
Правила составления арифметических выражений:
1. Все необходимые вычисления должны быть указаны явно, то есть все операнды должны быть разделены знаками арифметических операций. Например, запрещена запись 5.2A, требуется писать 5.2*A;
2. Два символа арифметических операций не могут следовать непосредственно друг за другом. Например, запрещена запись А*-B, требуется писать A*(-B);
3. Порядок выполнения арифметических операций следующий. В первую очередь вычисляются аргументы функций, затем вычисляются сами функции, затем производится возведение в степень, далее умножение и деление и, наконец, сложение и вычитание. Последовательно стоящие однотипные операции выполняются слева направо, кроме операций возведения в степень, которые выполняются справа налево;
1 2 3
D * C / K + D.
4. Использование скобок, как и в алгебре, изменяет последовательность выполнения операций;
2 1 3 4 1 3 4 2
A + B * K - D - 2; (A + B) * K - (D - 2)
5. Операция возведения в вещественную степень допустима только при положительном основании, в целую степень - при любом. Например, операция А**2.5 допустима при А > 0, а А**2 - при любых А;
6. Тип результата арифметического выражения соответствует типу одного из операндов, входящего в него и имеющего наивысший ранг. Ранги операндов определяются исходя из их типов и длин в соответствии с таблицей:
Integer*2 – ранг 1
Integer*4 – ранг 2