Название: Квантовая механика - Учеб. пособие. (Краснопевцев Е. А.)

Жанр: Информатика

Просмотров: 1190


3. примеры объявления и инициализации данных

 

3.1. Объявление данных целого типа:

а) integer d1, d2

data d1, d2 /34, 100/ ! объявлены переменные d1 и d2 целого типа стандартной разновидности и инициированы оператором data;

б) integer(2) d1/4/, d2/5/ ! объявлены переменные d1, d2 целого типа (KIND=2), при таком инициировании наличие разделителя :: необязательно;

в) integer(1):: d1 = 4, d2 = 5 !  при такой форме инициирования разделитель :: обязателен;

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

д) integer, pointer:: p  !  объявлена динамическая переменная-ссылка p;

     integer, target:: k = 5 ! объявлен адресат k (с атрибутом target);

     p =>k  ! ссылка, прикрепленная к адресату.

 

3.2. Объявление данных вещественного типа:

а) real d/123.5/, c/1.E-6/ ! объявлены и инициированы две переменные d и c вещественного типа стандартной разновидности;

б) real(8):: a = 2D0, b = 0.35D4, c ! объявлены переменные a, b, c двойной точности;

в) integer, parameter:: c = 4;

    real(c) a, b ! значение разновидности задано как именованная константа c;

г) real, pointer:: c, d ! объявление ссылок c и d;

    real, target:: e=10 ! объявление и инициирование адресата e;

   allocate(c) ! выделение памяти переменной-ссылке c;

      d =>e !  прикрепление ссылки d к адресату e.

 

3.3. Объявление данных комплексного типа:

а) complex:: C1, C2 = (10.5, 11.3) ! объявлены комплексные переменные C1, C2 стандартной разновидности KIND = 4;

б) complex (8):: C1 = (10.5D0, -1.13D1), C2 ! объявлены комплексные переменные C1, C2 с KIND = 8.

 

3.4. Объявление логических данных:

а) logical g1, g2

    data g1,g2 /.true., .false./ ! объявлены логические переменные g1, g2 и инициированы в операторе data;

б) logical:: g1 = .true., g2 = .false.

 

3.5. Объявление символьных данных:

а) character(15):: st1=’example’, st2*20/’example_2’/ ! объявлены и инициированы две символьные переменные st1 длиной 15 символов и st2 длиной 20 символов;

б) character(*), parameter:: st = ’example’ ! для задания длины используется символ * при определении именованной константы; в этом случае длина равна числу символов константы;

в) character:: bell = ’a’c – объявлена символьная переменная bell, которой присвоена СИ-константа, использующая эскейп-последовательность, соответствующую звуковому сигналу;

г) character(20):: tx1 = ’computer Pentium3’, tx2*8 ! объявлена

    tx2 = tx1(10:17), строковая переменная tx1 длиной 20 символов и строковая переменная tx2 длиной 8 символов. Переменной tx2 присвоена подстрока переменной tx1. Подобно элементам в массиве, символы строки расположены в памяти компьютера последовательно один за другим. Обращение tx1(10:17) соответствует подстроке ‘Pentium3’. Запись tx1(i:i) обеспечивает доступ к

i-му символу строки.

 

3.6. Объявление данных по правилу умолчания и с помощью оператора Implicit:

а) i = 10.5 ! по умолчанию это целая переменная, результат присвоения =10,

    y = 15 по умолчанию это вещественная переменная, результат присвоения =15.000000;

б) Implicit integer(2) (p, c-e), real (k-m) ! переменные, которые будут начинаться с букв p или c¸e, будут иметь целый тип

KIND = 2, переменные, которые начинаются с букв k¸m, будут иметь вещественный тип KIND = 4.