Главная страница
Навигация по странице:

  • Почему Fortran

  • Язык программирования Ms Fоrtran

  • Курс лекций по дисциплине Программирование на языке Фортран


    Скачать 0.98 Mb.
    НазваниеКурс лекций по дисциплине Программирование на языке Фортран
    Дата02.09.2019
    Размер0.98 Mb.
    Формат файлаdoc
    Имя файлаFortran01.doc
    ТипКурс лекций
    #85698
    страница1 из 15
      1   2   3   4   5   6   7   8   9   ...   15


    Курс лекций по дисциплине «Программирование на языке Фортран»

    Задачи курса


    1. Ознакомление с состоянием и тенденциями развития современной компьютерной техники.

    2. Приобретение практических навыков работы на компьютере.

    3. Усвоение основных принципов разработки инженерных алгоритмов и программ, реализуемых в дальнейшем на различных языках программирования. Язык Fоrtran рассматривается не как самоцель, а как инструмент обучения программированию.

    Почему Fortran?

    Преимущества

    Недостатки

    • Простота синтаксиса

    • Ориентированность на численные задачи (встроенные матричные операции, комплексный тип и т.д.)

    • Многообразие настроек оптимизации

    • Большая база исходных кодов, библиотек (www.netlib.org)

    • Быстрый компилятор, т.е. большая скорость исполнения exe файлов

    • Туманные перспективы развития, клон в сторону C/C++

    • Сложность реализации графики и Windows интерфейса




    1. Язык программирования Ms Fоrtran

      1. Литература

    1) Уорд Т., Бромхед Э. Фортран и искусство программирования персональных ЭВМ. - М.: Радио и связь, 1993.-352с.

    2) Программирование на Фортране 77/ Дж. Ашкрофт, Р. Элдридж и др. - М.: Радио и связь, 1990.-272с.

    3) Бартеньев О.В. Фортран для студентов. - М.: "Диалог-МИФИ", 1999.-400с.

    4) Рыжиков Ю.И. Программирование на Фортране Pоwer Statiоn для инженеров. Практич. рук-во. - СПб.: КОРОНАпринт, 1999.-160с.

    5) Н.А Рак, В.И Смех, С.Б. Щербак Программирование инженерных задач на FORTRANе: Уч. методич. пособие по дисц. "Выч. техн. и программир." - Мн.: БГПА, 1998.-45с.

    6) Соловьев П.В. FORTRAN для персонального компьютера: Справ. пособие. - М.: Арист, 1991.-224с.

    7) Н.А Рак, В.И Смех, С.Б. Щербак Графическое программирование: Уч. методич. пособие по дисц. "Выч. техн. и программир." - Мн.: БГПА, 1997.-40с.

    8) Бартеньев О.В. Графика OрenGL: программирование на Фортране. М.: ДИАЛОГ-МИФИ, 2000.-368с.

    9) Рыжиков Ю.И. Visual Fortran. СПб.: КОРОНА принт, 1999.–160c.

    10) Бартеньев О.В. Фортран для профессионалов. Ч. 3. М.: "Диалог-МИФИ" – 2001.–368с.

    11) Бартеньев О.В. Современный фортран. М.: "Диалог-МИФИ" – 1998.–397с.

    12) Штыков В.В. Фортран & Win32 API. М.: "Диалог-МИФИ" – 2000.–304.

    13) Берков Н.А., Беркова Н.Н. Алгоритмический язык Фортран. – М.: МГИУ, 1988. – 94с.


      1. Структура программы

    Любая программа рассматривается как проект (workspace). Проект – совокупность модулей. 1–му проекту соответствует 1 exe файл, хотя его программный текст (исходный код, source, src) может находиться в нескольких файлах. Несколько проектов можно объединить в группу. Модуль – совокупность описаний и процедур. Процедура – последовательность совместно выполняемых инструкций, имеющая имя. Инструкциясинтаксически завершенная конструкция, представляющая отдельное действие, описание или определение. Обычно инструкция занимает отдельную строку, но может занимать и несколько физических строк, если указан символ переноса. Например, инструкцией являются оператор описания и исполняемый оператор. Проект на Fоrtran 77 может иметь единственный головной модуль, с которого начинается выполнение программы.

    Структура головного модуля Fоrtran

    [Prоgram имя головного модуля]

    [операторы описания]

    [м] [исполняемые операторы]

    [м] End
    Оператор Prоgram – необязателен, имя головного модуля подчиняется правилам формирования имен Fortran.

    Операторы описания выполняют объявление типов, [начальных значений] переменных и констант.

    Исполняемый оператор – любой исполняемый оператор языка Fortran.

    [м] – метки операторов на которые можно передать управление. End – последний обязательный оператор, завершающий выполнение модуля или процедуры. Пример:

    PROGRAM р1 ! р1 – имя головного модуля

    REAL x, y, z ! объявление 3-х переменных вещественного типа

    X=1.1 ! присваивание переменным значений

    Y=2.2

    Z=x+y

    PRINT*, ‘z=’, z ! вывод результата на экран

    END ! обязательный оператор завершения программы


      1. Алфавит языка Fortran.

    Алфавит включает буквы латинского алфавита A-Z, a-z, цифры 0-9, специальные символы (см. табл.)

    Символ

    Название

    Символ

    Название

    Символ

    Название

    =




    ,







    пробел

    +




    .




    !




    -




    _

    символ подчеркивания




    %

    *




    $




    %




    /









    &

    амперсанд

    (









    ;




    )




    :




    <




    <




    >




    ?




    Символы русского языка и другие могут использоваться только в комментариях и символьных константах. Регистр букв и символ пробела имеет значение только в символьных константах. Пробел в 6-й колонке указывает на начало строки.

      1. Строки

    Строка состоит из последовательности символов. Символы после 72-го в строке игнорируются, строка короче 72 символов считается заполненной пробелами.

    Позиция символа в строке Fortran имеет важное значение. Символы в позиции с 1-ой по 5-ю опознаются как метки операторов. Метка оператора - последовательность от одной до пяти цифр, хотя бы одна из которых должна быть не нуль. Метка может находиться в любом месте в позициях с 1-ой по 5-ю в начальной строке. Пробелы и предшествующие нули являются незначащими.

    Символы в позиции 6 являются признаком продолжения строки. Допускается 19 строк продолжения.

    Символы в позициях с 7 по 72 являются собственно оператором Fortran. Оператор может содержать до 1320 символов с учетом строк продолжения.

    Комментарии опознаются по символу "С" или звездочке "*" в первой позиции или по “!” в любой позиции, кроме 6. Строки комментария не оказывают никакого воздействия на выполнение программы.

    Метакоманды распознаются по знаку доллара в первой позиции. Метакоманды позволяют определить варианты, воздействующие на все операции компиляции.

      1. Имена

    Имена могут состоять из 31 и менее символов: A-Z, a-z, 0-9, _. Регистр букв в Fortran не имеет значения. Начальный символ должен быть буквенным. Пробелы игнорируются. Имена имеют область действия (определения) – область, в которой переменная, процедура или объект является видимым (доступным), другими словами – диапазон операторов, где это имя известно, или на него можно ссылаться в программе на Fоrtran. Области действия могут быть: 1) локальные – действуют в пределах одной процедуры; 2) глобальные – действуют в пределах проекта.

      1. Объекты данных

    Объекты данных: 1) переменные; 2) константы; 3) функции; 4) массивы. Данные имеют типы: 1) встроенные; 2) пользовательские (определенные пользователем). Тип данных – характеристики переменной, определяющие тип данных, которые могут храниться в этой переменной. Тип данных объявляется. Если он не объявлен, то тип данных определяется по первой букве имени (по умолчанию или из оператора IMPLICIT).

        1. Встроенные числовые типы данных

    1) Целый тип.

    Целый тип данных состоит из подмножества целых чисел. Целая величина занимает 2 или 4 байта, в зависимости от установки метакоманды $STORAGE. 2-байтовое целое, INTEGER*2, может содержать величину в диапазоне от -32767 до 32767. 4-байтовое целое, INTEGER*4, может содержать величину в диапазоне от -2147483647 до 2147463647.

    Примеры целых констант:

    123




    +123




    0




    00000123




    32767




    -32767




    -#AB05

    Основание 16

    2#010111

    Основание 2

    -36#ABZ07

    Основание 36

    В Micrоsоft FORTRAN точность целых констант определяется метакомандой $STORAGE; точность результата выражения - точностью максимального операнда и величиной установленной метакомандой $STORAGE.

    2) Вещественный тип обычной точности

    Тип действительных данных (REAL или REAL*4) содержит подмножество действительных чисел обычной точности. Приблизительный диапазон действительных чисел обычной точности: от 8.43Е-37 до 3.37Е+38 (положительные числа) от -3.37Е+38 до -8.43Е-37 (отрицательные числа). Точность - больше шести десятичных цифр и меньше семи.

    Состав вещественной константы обычной точности: [+-][int].[dec][E][exр], где int – целая часть числа, dec – десятичная часть, exр – значение степени (целая константа со знаком из одной или 2-х цифр). Примеры вещественных констант:

    -123.456

    +123.456

    123.456

    -123.

    +123.

    123.

    -.456

    +.456

    .456

    +1.000Е-2

    1.Е-2

    1Е-2

    +0.01

    100.0Е-4

    0.0001Е+2

    3) Вещественный тип двойной точности

    Действительный тип данных двойной точности (REAL*8 или DOUBLE PRECISION) содержит подмножество действительных чисел двойной точности. Приблизительный диапазон действительных величин двойной точности: от 4.19D-307 до 1.67D+308 (положительные числа), от -1.67D+308 до -4.19D-307 (отрицательные числа), 0. Точность больше чем 15 десятичных цифр.

    Состав вещественной константы двойной точности: [+-][int].[dec][D][exр], где int – целая часть числа, dec – десятичная часть, exр – значение степени (целая константа со знаком из одной или 2-х цифр). Примеры вещественных констант двойной точности:


    +1.123456789D-2

    1.D-2

    1D-2

    +0.000000001D0

    100.0000005D-4

    .00012345D+2

    4) Комплексный тип

    Тип данных COMPLEX*8 задает пару действительных чисел обычной точности, второе из которых представляет мнимую часть. Число COMPLEX*8 занимает 8 байтов памяти.

    Тип данных COMPLEX*16 содержит упорядоченную пару действительных чисел двойной точности и занимает 16 байтов памяти.

    Состав комплексной константы: [+-](rl,im), где rl – действительная часть (вещественная константа REAL*4 или REAL*8), мнимая часть (то же).

    Каждая компонента (действительная и мнимая) COMPLEX*8 - это REAL*4, а COMPLEX*16 - это REAL*8.

    Пример: (36.8,-2.633E2); (36.8,-263.3); -(3.8D-5,-2.6D-2).

        1. Логический тип данных

    Логический тип данных содержит две логических величины .TRUE. и .FALSE. Логическая переменная занимает два или четыре байта памяти в зависимости от установки метакоманды $STORAGE. По умолчанию это 4 байта.

        1. Символьный тип данных

    Символьный тип данных содержит последовательность символов ASCII. Длина символьной величины равна числу символов в последовательности. Длина заданной константы или переменой фиксирована и должна составлять от 1 до 127 символов. Символьная переменная занимает один байт памяти для каждого символа в последовательности.

    Примеры символьных констант: 'A', ' ', 'Helр!', 'A very lоng CHARACTER cоnstant', 'O''Brien', ''''. В примере последняя символьная константа содержит одиночную кавычку.

    Символьные подстроки – см. далее.

        1. Требования к памяти для типов данных

    Требования к памяти

    Тип

    Число байтов

    Примечание

    Примечания к табл.:

    1. Может использоваться 2 или 4 байта. По умолчанию - 4, но метакомандой $STORAGE может быть установлено 2 или 4;

    2. CHARACTER и CHARACTER*1 - синонимы;

    3. Максимальное n равно 127;

    4. REAL и REAL*4 - синонимы;

    5. REAL*8 и DOUBLE PRECISION - синонимы;

    6. COMPLEX и COMPLEX*8 - синонимы.

    LOGICAL

    2 или 4

    1

    LOGICAL*2

    2




    LOGICAL*4

    4




    INTEGER

    2 или 4

    1

    INTEGER*2

    2




    INTEGER*4

    4




    SHARACTER

    1

    2

    SHARACTER*n

    n

    3

    REAL

    4

    4

    REAL*4

    4




    REAL*8

    8

    5

    DOUBLE PRECISION

    8




    COMPLEX

    8

    6

    COMPLEX*8

    8




    COMPLEX*16

    16




        1. Переменные

      1   2   3   4   5   6   7   8   9   ...   15


    написать администратору сайта