Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №1.doc
Скачиваний:
41
Добавлен:
03.05.2015
Размер:
529.41 Кб
Скачать

Implicit type(letters) [, type(letters), …]

type– один из встроенных или производных типов данных

letters– список букв или диапазонов букв.

Пример программы, содержащей явные и неявные описания типов данных:

Program decl !задается наименование программы - decl

Implicit logical (a-c, f) !переменные, имена которых начинаются на a,b,c

!или f, не описанные явно, считаются логическими

Real min,max !объявляются вещественные переменные min, max

f1=.true.; f2=.false. !переменным f1 и f2 логического типа (см. оператор

!implicit) присваиваются значения .true. и .false.

read *,x,y !ввод значений вещественных переменных х и у

!тип определяется неявно по именам переменных)

if (x>y) then !если x>y, логической переменной bool

bool=f1 !присваивается значение «истина», иначе – «ложь»

else

bool=f2

endif

print *, ‘x>y=’,bool !выводится результат – текст «x>y=» и значение

!переменной bool (символ «Т» в случае .true.

!и «F» в случае .false.)

end !конец программы

Буквальные константы служат для задания значений данных соответствующего типа, используются в арифметических и логических выражениях, в операторах вывода и т.д. Возможно задание арифметических (целых, вещественных, комплексных), логических и символьных буквальных констант.

Целые константы– целые числа со знаком или без знака. Примеры: +10, 10, -10_2 (после знака подчеркивания “_“ указано значение разновидности KIND = 2 для константы -10). Целые константы могут также быть заданы в различных системах счисления в видеоснование системы#число, например: 8#21 (число 21 в восьмеричной системе счисления, т.е. 17 в десятичной). Основанием системы счисления может быть любое число от 2 до 36.

Вещественные константымогут быть заданы вF-форме,E-форме,D-форме иQ-форме.F-форма задает числа с фиксированной точкой.E-форма,D-форма иQ-форма задают числа с плавающей точкой. Например число –51.234 можно представить в десятичной системе счисления как. Мантисса задает точность представления, а показатель степени задает порядок числа. (F - форма: -51.234,E - форма: -0.51234Е+2,D - форма: -0.51234D+2).

FиE– формы могут задавать числа одинарной и двойной точности (4 и 8 байт памяти), например: 3.3_4; 3.3_8; 0.125E-4_8; 0.125E-4.

D - форма задает числа только двойной точности,Q-форма – расширенной точности.

Комплексные константы– две целые или вещественные константы (реальная и мнимая часть), заключенные в скобки и разделенные запятой. Реальная и мнимая части могут быть заданы вF-форме,E-форме,D-форме иQ-форме: (2.33, 0.044), (0.233E1, 0.44E-1), (0.233D+1, 0.44D-1), (-1.23Q-400,12.34Q4000), (44.36_4,-12.2E16_4).

Логические константы– их всего две: .TRUE. и .FALSE. Наличие обрамляющих точек обязательно. Примеры: .TRUE., .false._4. Логическим величинам можно присваивать и целые значения. При этом положительные значения воспринимаются как равные .true., а отрицательные и равные нулю – как .false.

Символьные константы– последовательность одного или более символов 8-битового кода, заключенная в апострофы или двойные кавычки. Символьная строка, после которой записан латинский символ С, образует СИ-строку (эскейп-последовательность в языке С), служащую для вывода непечатаемых символов (перевод строки, звуковой сигнал и др.). Примеры: ‘rezult=’, “Whatisyourname?”, ‘a’c(вывод звукового сигнала).

Символьные подстроки– непрерывные части текста внутри символьной строки. Строка при этом рассматривается как последовательность пронумерованных слева направо символов, начиная с первого. Общий вид подстроки:

str([n1]:[n2]),

где str – константы или переменной, n1 – номер первого символа подстроки, n2 – номер последнего символа подстроки. Если не задано значение n1, оно считается равным 1, если не задано значение n2, оно считается равным длине строки. Пример:

CHARACTER*25 FIO, name !FIO, name – символьные переменные

FIO = 'Ivanov Petr Andreevich' !присваивается значение переменной FIO

name= FIO(8:11) !значение переменой name - Petr

Константы двоичные, восьмеричные, шестнадцатеричные– не имеют типа данных, он предполагается численным и зависит от их применения. Представляют собой символ, обозначающий основание системы счисления (В – для двоичных, О – для восьмеричных,Z– для шестнадцатеричных), за которым следует число, записанное как символьная строка, т.е. заключенное в апострофы или двойные кавычки. Примеры:B'0101110', О752, Z'A4D'.

Присваивание начальных значений(инициализацию) данных можно выполнить двумя способами:

1) В операторах объявления типа, например:

integer, parameter:: m=4,n=5 !объявлены целые именованные константы

!m и n, которым присвоены значения 4 и 5

!разновидность по умолчанию, 4 байта

integer(2) d1/4/, d2/5/ !объявлены переменные d1, d2 целого

!типа (KIND=2), при такой инициализации

!наличие разделителя :: необязательно

real(8):: a = 2D0, b = 0.35D4 !объявлены и инициализированы

!переменные a, b двойной точности

complex:: C1, C2 = (10.5, 11.3) !объявлены комплексные переменные C1,

!C2 стандартной разновидности KIND = 4;

!C2 присвоено начальное значение

Logical:: m=5 !объявлена логическая переменная m,

!ее значение равно .true.

character(15):: st1=’example’, st2*20/’example_2’/ !объявлены

!и инициализированы две символьные

!переменные st1 длиной 15 символов

!и st2 длиной 20 символов

character(*), parameter:: st = ’example’ !для задания длины используется

!символ * при определении именованной

!константы; в этом случае длина равна

!числу символов константы

б) с помощью оператора DATA, общий формат которого:

DATA список имен /список значений/

Объекты в списке имен и в списке значений перечисляются через запятые и находятся в строгом соответствии слева направо. Пример:

integer d1, d2 !объявлены переменные d1 и d2

!целого типа стандартной разновидности

logical g1, g2 !объявлены логические переменные g1, g2

character bell !объявлена символьная переменная bell

data d1, d2 /34, 100/ !переменные инициализированы оператором

!data, d1=34, d2=100

data g1,g2 /.true., .false./ !логическим переменным g1, g2 с помощью

!оператора data присвоены значения:

!g1=.true., g2=.false.

data bell/'\a'c/ !символьной переменной bell присвоено

!значение Си-константы (звуковой сигнал)