Одиночные и двойные специальные символы
Ключевые слова. Ключевые слова относятся к лексемам языка. Все специальные слова Фортрана являются ключевыми. Они могут использоваться в составе предложений и операторов языка в строго определенном для них смысле. Однако допускается и произвольное их применение, что, впрочем, следует считать нежелательным и плохим стилем программирования. Со списком ключевых слов вы постепенно познакомитесь в процессе изучения языка программирования. Полный список включает около 80 ключевых слов. Вот некоторые из них: CALL DIMENTION END IMPLISIT REAL IF USE READ TYPE DO PROGRAM DATA CASE и др. В дальнейшем в текстах программ ключевые слова будут выделяться полужирным шрифтом. Комментарии.Комментарий – это любая последовательность символов от восклицательного знака «!» до конца строки. Комментарии используются для пояснения фрагментов программы, для лучшего ее понимания. Комментарии игнорируются компилятором и не влияют на исполнение программы. Данные. Типы данных Программа выполняет обработку данных. Отдельные объекты данных различаются именами, типами и другими свойствами. Имя (идентификатор) Имя – это последовательность латинских букв, цифр, знака доллара и символа подчеркивания. Причем первым символом должна быть буква или знак $. Строчные и прописные буквы в именах не различаются. Примеры идентификаторов: X, a5, mass_12, $key_A. Имена используются для обозначения объектов программы: переменных, констант, массивов, записей, процедур, модулей, встроенных функций. Длина имени ограничивается 31 символом. Следует использовать имена, отражающие смысл применяемых переменных, констант и других объектов программы. Типы данных Типы данных разделяются на встроенные и производные, определяемые программистом. Первоначально мы будем рассматривать объекты только встроенных типов. С типом величины связаны три её свойства: форма внутреннего представления, множество допустимых значений и множество допустимых над ними операций. Следующие шесть типов являются встроенными (доступны программисту без каких-либо дополнительных мер): целый — integer, вещественный — real, вещественный с двойной точностью — double precision, комплексный — complex, текстовый — сharacter, логический — logical. Разновидности числовых типов данных Когда стандартные типы данных либо избыточны, либо не обеспечивают нужной точности, можно задать объект числового типа данных другой разновидности. Указание на разновидность может присутствовать в операторе объявления типа, имеющем следующий формат: имя_типа ([kind =] значение-разновидности) список объектов данных, здесь kind – параметр разновидности типа. Пример. integer(kind = 2) P real(8) S Если в операторе объявления типа отсутствует указание на разновидность, то она принимается равной четырем – стандартной разновидности. Следующие объявления целой переменной N являются эквивалентными: integer(4) N и integer N Тип REAL(8) называется вещественным типом двойной точности. Использование меньшей разновидности экономит занимаемую величиной память, но сокращает диапазон ее возможных значений и уменьшает точность представления. Далее в таблице приведены числовые типы данных. После имени типа в скобках указывается значение параметра разновидности типа. В графе "Число байт" показан размер поля памяти, занимаемого скалярной величиной соответствующего типа. Разновидности числовых типов данных
Логический тип данных Величина логического типа принимает два значения: .TRUE. – истина и .FALSE. – ложь. Переменные величины стандартного логического типа объявляются оператором LOGICAL или LOGICAL(4), например: logical flag logical(4) flag Для логической величины 4 байта – сильно избыточный объем памяти. Используя указание на разновидность, можно сократить этот объем до 2-х или до 1-го байта: logical(2) flag или logical(kind = 1) flag Буквальные константы Константы бывают буквальными (неименованными) и именованными. Примеры буквальных целых констант: 1 0 666 -44811 +36. Формат записи целых констант: [знак] [[основание] #] константа [_разновидность типа] Целые константы могут быть заданы с указанием разновидности типа, которая отделяется от значения константы нижней чертой, например: Константа Тип (разновидность) 12_1 INTEGER(1) 12_2 INTEGER(2) 12_4 INTEGER(4) Целые константы можно задавать в различных системах счисления (2, 8, 10, 16). Если константа десятичная, то основание обычно не указывается. Если используется символ # и не указано основание, это означает, что константа шестнадцатеричная. Пример. Запишем представление десятичного числа 50 в форме целой константы стандартной разновидности в других системах счисления: двоичная система: 2#110010 восьмеричная система: 8#62 шестнадцатеричная система: #32 или 16#32 Вещественные буквальные константы состоят из целой части числа со знаком или без знака, десятичной точки, дробной части и степенной части. Например: 1.0 0.01 1е-6 6.76е3. Вещественные константы одинарной и двойной точности могут быть представлены в F- форме, E- форме, D- форме. В F-форме: [знак] [целая часть].[дробная часть][_разновидность типа] Например: +3.71 1.3_4 13.0_8 167. –0.3 –.01 В E- и D- форме: [мантисса]E [знак]порядок[_разновидность типа] В записи константы двойной точности разделитель E заменяется на D и разновидность типа не указывается. Например, pi=3.141592653589793D+00. Комплексная константа записывается в виде пары буквальных констант целого или вещественного типа, разделенных запятой и заключенных в скобки. Например: (2.5, 0.75). Текстовые литералы состоят из строки произвольных символов, заключенных в кавычки либо апострофы (пример: 'Рога и копыта'). Кавычка или апостроф, являющиеся частью строки, должны быть удвоены: '0''Henry'. Заметим, что длина последней строки считается равной семи. Логических констант две: . true. и . false. (" истина" и "ложь" соответственно).
Описания Величины разных типов (прежде всего целые и вещественные) принципиально по-разному представляются на машинном уровне (внутреннее представление данных), и однотипные действия над ними (например сложение) программируются с помощью различных команд. Для выполнения компиляции необходимо задать свойства операндов, т.е. указать их типы. Эти указания даются в операторах описания, которые влияют только на процесс компиляции и потому не считаются выполняемыми операторами. Описания могут группироваться различными способами: по свойствам (для каждого свойства перечисляется список имеющих его величин) и по величинам (для каждой величины задается набор свойств). Для структурированных величин (массивов) рекомендуется второй подход. Часто используются и комбинированные варианты. Оператор описания в любом случае начинается с указания свойства или списка свойств. Далее (при нескольких атрибутах – обязательно после сдвоенного двоеточия) перечисляются имена обладающих этими атрибутами величин. Одна величина может упоминаться в нескольких описаниях, но ей не могут присваиваться повторяющиеся или противоречащие друг другу свойства. Оператор описания в общем случае имеет вид имя_типа [,атрибуты ::] список_переменных Примеры описания переменных встроенных типов: integer k real:: x,y double precision :: z complex :: voltage character(len=20):: heading logical test dimension :: x(30), y(0:4,0:5) Переменная heading имеет дополнительным атрибутом описателя длину строки. Оператор dimension дополнительно к ранее назначенным типам значений х и у указывает структуру упомянутых объектов: это массивы с определяемой граничными парами нумерацией компонент (х – вектор, у – матрица). Комплексные константы записываются парой чисел, заключенных в круглые скобки. Вещественная и мнимая части комплексной переменной, объявленной как complex, получают атрибут real. При указании double complex они будут представлены с двойной точностью. Инициализация переменной. Инициализация – это определение начального значения переменной, совмещенное с описанием ее типа. Например: real:: delta=1.0e-10 integer (4)::index=1, g=100
Употребление двойного двоеточия здесь обязательно. Инициализированное значение переменной присваивается на стадии компиляции. Затем в процессе исполнения программы это значение может быть изменено. Правила умолчания типа. Фортран 90 не принадлежит к языкам со строгой типизацией. Если тип некоторого объекта не задан, он определяется по умолчанию: объекты с именами, начинающимися на i, j, k, l, m, n, относятся к стандартному целому типу, остальные – к вещественному. Правила умолчания, применяемые в данной программной единице, можно изменить и/или дополнить оператором implicit вида implicit real (k,n,m), complex (p-t) После этого все переменные, имена которых начинаются с букв k, n, m, будут иметь вещественный тип, а имена, начинающиеся с букв p, r, s, t, будут относиться к величинам комплексного типа. Случайная описка в имени порождает подменяющую нужный объект новую переменную, что приводит к трудно диагностируемым ошибкам периода выполнения программы. Полезную возможность полной отмены умолчаний предоставляет оператор implicit none. При его использовании любая ссылка на неописанную переменную будет восприниматься как синтаксическая ошибка. Бывает трудно составить исчерпывающий список объектов программы до того, как записаны ее операторы. Обычно программирование начинают с минимума описаний и, составляя программу, дополняют этот список по мере необходимости. Завершив программу, окончательно оформляют описания – объединяют по типам, упорядочивают имена по алфавиту, комментируют описания отдельных объектов или их групп, задают начальные значения. Именованные константы. Часто употребляемые константы для защиты от случайных изменений удобно именовать, указывая тип константы, атрибут parameterи значение константы. Например: real, parameter :: с=299792.458 ! скорость света в км/с Далее ссылка на константу будет происходить по имени. Любая попытка изменить значение именованной константы будет блокирована. В одном операторе можно указать через запятую несколько констант, причем последующие могут определяться выражениями через предыдущие. Метки. Перед любым оператором, не являющимся частью составного оператора, можно поставить (через пробел) метку. Метка задается целым числом не более чем из 5 цифр, начальные нули незначимы. Ссылаться по меткам можно только на выполняемые операторы и операторы format. Примеры использования меток: 10 readx,y 255 format(f10.4) Упражнения 1. Определить значения, типы, разновидности констант: 12, -24_1, 10111, 2#10111, 374, 8#374, #2F4A, 57.12, .24, .24_2, .24_8, 1/56e-7, 1.56e-7_8, 1.56d-7, 74e10, (35.1, 27.4), (0.63e-4_8, 3.52e5_8). 2. В чем различие между следующими объектами в программе: .true. и ‘true’ .false. и ‘false’ ? 3. В программе имеются лишь следующие операторы описания переменных : real x, m, y, n integer(2) ab, r5 Какой тип в этой программе имеют переменные z, y, r1, r5, ab, ac, j, n, k ? 4. В чем различие двух вариантов описания величин Number и delta: integer Number=50 integer,parameter::Number=50 real::delta=2.0e-10 real(8)::delta ?
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (376)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |