Именованные константы
Тип и значение именованной константы объявляются в программе неисполняемым оператором с использованием атрибутаparameter. Элементы списка констант в таком операторе разделяются запятыми и имеют вид:
Имя = константа
Примеры:
Real, parameter:: pi= 3.14159, е=2.71828 ! список констант
Logical, parameter:: Yes = .true.
Character, parameter:: Word = ‘слово’
Константу, объявленную таким образом, невозможно изменить в программе, попытка ее изменения будет пресечена компилятором.
На самом деле элементы списка констант могут иметь более общий вид:
Имя = постоянное выражение
где постоянное выражение – выражение, содержащее константы (именованные или неименованные). Именованные константы в этом выражении должны быть определены до их использования.
Пример:
Real, parameter:: Pi= 3.14159, TwoPi= Pi*2.0 ! константы
Неименованные константы специального описания не требуют. Это значения, которые используются в операторах программы (числа, строки символов и т.д.)
Иногда для увеличения точности вычислений целесообразно заменить константы переменными, вычислив их значения как можно более точно. Например, значения p и e (основание натурального логарифма) можно вычислить, используя стандартные функции:
p = 2arcsin(1) => 2.0*asin(1.0)
e = e1 => exp(1.0)
Но в списке констант нельзя использовать функции, поэтому p и e объявим как переменные и затем вычислим их значения:
Real:: pi, e ! объявление переменных
Pi = 2.0*asin(1.0)
e = exp(1.0)
Здесь pi и e – не константы, а переменные. Если в программе Вы попытаетесь изменить их значения, компилятором это будет принято без возражений.
Ввод и вывод под управлением списка
Вывод на экран
Оператор вывода на экран имеет вид:
Write(*,*) список вывода
Оператор состоит из ключевого словаWrite, за которым следует список вывода. Первый символ «*» после ключевого слова означает, что информация выводится на экран. Второй символ «*» означает, что формат вывода определяется компилятором по умолчанию в зависимости от содержимого списка вывода. Такой способ вывода называется выводом под управлением списка.
Содержимое выводимой строки определяется списком вывода, в котором перечислены переменные, константы и выражения, разделенные запятыми. Если список вывода пуст (Write(*,*)), выводится пустая строка.
Пример
Write(*,*) "a =", a, ", b =", b, ", a+b =", a+b
В приведенном операторе список вывода состоит из 6 элементов:
- символьная константа «a =»;
- переменная a;
- символьная константа «, b =»;
- переменная b;
- символьная константа «, a+b =»;
- выражение a+b.
Элементы списка последовательно выводятся на экран: символьные строки – так, как они записаны в простых или двойных кавычках (включая входящие в них пробелы), значения переменных и результатов вычисления выражений – в соответствии с их типом. В нашем примере на экран выводится строка (a и b – целые числа):
a = 12, b = 44, a+b = 56
Примечание. Количество позиций, выделяемых для размещения числа, определяется компилятором. Для управления размещением информации в строке служит форматный вывод, который будет изучаться позже.
Ввод с клавиатуры
Чтобы программа могла выполняться с разными наборами исходных данных, следует предусмотреть ввод этих данных в программу. Одна из возможностей этого – ввести данные с клавиатуры с помощью оператораRead.
Read(*,*)список ввода
Оператор состоит из ключевого словаRead, за которым следует список ввода. Первый символ «*» после ключевого слова означает, что информация вводится с клавиатуры. Второй символ «*» означает, что формат ввода определяется компилятором по умолчанию. Переменные, значения которых вводятся, перечислены в списке ввода и разделены запятыми.
Пример:
Read(*,*) a, b
При выполнении оператора Read в программе возникает пауза, позволяющая набрать на экране вводимые значения переменных. Количества и типы набираемых значений должны соответствовать количеству и типам переменных в списке ввода оператораRead. После окончания набора и нажатия клавиши <Enter> данные с экрана вводятся в переменные из списка ввода и работа программы продолжается. Если список ввода пуст, для прекращения возникшей паузы следует нажать клавишу <Enter>.
Дата добавления: 2017-09-19; просмотров: 689;