Проект - twcad

Формат вихідного тексту програми на Фортране

Знак переносу оператора залежить від формату вихідного тексту і пишеться

як знак "" в кінці яку переносять рядки тексту * .f90

як знак "-" в кінці яку переносять рядки тексту в форматі $ freeform

як знак "*" в шостій позиції рядка-продовження для програми в фіксованому форматі

зі знаку оклику (прогалини не береться до уваги) - у вільному форматі * .f90 і в фіксованому форматі

з подвійною лапки "в першій позиції рядка - в форматі $ freeform

Мітка - ціле, яке можна написати перед оператором, відокремивши її хоча б одним пропуском. У фіксованому форматі мітка пишеться строго з першої по п'яту позицію рядка.

Приклад тексту програми primer.f90 у вільному форматі

4 опису похідних типів і визначення

4 програмні одиниці
7 - блоки

Як видно з наведеної таблиці словниковий запас мови Фортран (близько сотні слів) незрівнянно бідніше природних мов (сотні тисяч слів). Відзначимо, що в мові "З" словниковий запас можна порівняти з Фортраном, але набагато більшу різноманітність допустимих простих конструкцій, наприклад одних операторів присвоювання в "С" 10 штук замість 1. У Pascal ключових слів дещо більше, ніж в Фортране, особливо в його діалекті Delphi. Обидві мови і Фортран і Pascal на відміну від "З" дотримуються суворої концепції типів і є високорівневими яеикамі програмування. Яеик програмування Фортран вважається більш пристосованим до реалізації методів обчислень з математики, фізики та статистики. Яеик програмування "С" вважається більш пристосованим до системного програмування, до обслуговування баз даних і інтерфейсів. Яеик програмування Pascal вважався добре пристосованим для навчання. З переходом до Windows залишився лише один компілятор Delphi для Pascal, прийом він не яляется наступником Pascal для DOS навіть для тієї ж фірми Borland.

Мови Фортран і "С" на відміну від Pascal розвиваються через стандартизацію. Фортран розвивається за принципом еволюції таким чином, що коли-небудь оголошені конструкції вважаються допустимими і в наступних версіях; проте деякі конструкції виходять з моди, замінюючись більш ємними. Концепція структурного програмування вперше була випробувана в Pascal і, добре зарекомендував себе, знайшла собі місце і в нових стандартах Фортрана. Мови Фортран і "С", маючи компілятори однієї фірми MS, легше компонуються в єдиний виконуваний модуль. При змішаному программіровані з використанням компіляторів різних фірм (наприклад MS Фортран і Borland Delphi) доводиться використовувати стандартизовані динамічно зв'язуються бібліотеки DLL.

Прості і складові оператори

У початковій версії мови переважна більшість становили прості оператори, але діюча тенденція - до збагачення складовими операторами (конструкціями). Кожен оператор в Фортране традиційно починається з нового рядка, але в Ф-90 допускається в одному рядку писати кілька простих операторів, розділяючи їх ";". Простий оператор можна записати в рядок, нехай навіть довгу, нехай з переносом. Складовою оператор або конструкція займає як мінімум 3 рядка і не вимагає ніяких розділових знаків в кінці
Заголовок
група операторів або один оператор
EndЗаголовок
Початкова і кінцева рядки Тема. EndЗаголовок як би утворюють дужки складеного оператора.

Традиції написання СО в різних мовах такі

в Фортране - обрамлення початковій і кінцевій рядком; немає розділових знаків в кінці оператора і програми; прогалини використовуються вільно (не всередині імен для Ф-90); ключових слів в Фортране немає

в мові "З" конструкція виділяється фігурними дужками <>, а оператор закінчується знаком ";" прогалини, знаки табуляції і кінець рядка використовуються вільно, але не всередині імен; ключові слова зарезервовані в мові

в мові Pascal - блок виділяється ключовими словами begin і end. оператор закінчується знаком ";". а програма закінчується крапкою; прогалини і кінець рядка використовуються вільно, але не всередині імен; ключові слова зарезервовані в мові

то, що в колишньому Фортране поділялося кінцем рядка, в Ф-90 може бути розділене і знаком ";"
тому рядок програми
program pr; implicit none; real x, y; integer :: k, p; p = 10; do k = 1,10; p = p-1; x = p * 0.1; y = sin (x); write (*, *) p, x, y; enddo; end
не викличе помилок, однак вона написана відповідно до букви закону, але в порушення духу Фортрана

Слід мати на увазі відмінність у написанні конструкцій і операторів в програмах на Фортране і в таких мовах як Паскаль і С

Правила написання складових операторів

Початок СО визначається по початковій рядку з одним з наступних слів в заголовку:

  • для описів - це Type Map Union Interface
  • для програмних одиниць (ПЕ) - це Program Subroutine Function Module
  • для блоків (виконуваних СО) - це Do If SelectCase DoWhile Where

Кінець СО - слово end, за яким пишеться те ж саме ключове слово, що і на початку, наприклад, Do. endDo причому EndDo можна писати з пропуском end do або без нього enddo. маленькими або великими літерами. В кінці ПЕ в Ф-77 писали просто end. а тепер повторюють заголовок program progy. end program progy. СО групує такі поспіль оператори, прості або складові, утворюючи з них так званий "чорний ящик". Термін "чорний ящик" означає можливість до пори до часу не заглядати всередину нього, концентруючи увагу на розміщенні скриньок, а не на їх вмісті. Конструюючи програму за певними правилами з чорних скриньок, ми підвищуємо передбачуваність поведінки програми, полегшуємо її читання, полегшуємо діагностику помилок, полегшуємо і прискорюємо налагодження програми. Це підтверджено як теорією, так і практикою програмування.

Уявімо в наочній графічній формі основні правила.

Единственность входу підвищує передбачуваність поведінки "чорного ящика"

Не можна перекривати СО

Крім нормального виходу з СО для виконуваних СО допустимо і достроковий вихід

  • Достроковий вихід з виконуваних СО реалізується:
    - в ту ж точку, що і нормальний вихід
    - з програмних одиниць операторами return і stop
    - з блоку do оператором exit - на оператор наступний за enddo
    -можна, але небезпечно оператором переходу за область дії блоку (тільки не всередину іншого блоку)
  • Шухлядки допустимо складати трьома способами:
    1) для будь-яких складових операторів - можливо проходження один за одним
    2) крім проходження для блоків (виконуваних СО) допустимо вкладення
    3) Всередині одного тексту ПЕ пишуть послідовно, або ПЕ поміщають в різні тексти. В ПЕ вкладають інші СО і прості оператори в певному порядку

    Класифікація операторів ФОРТРАН за призначенням

    Не претендуючи на вичерпний список операторів і конструкцій FORTRAN. показані нижче таблиці групують оператори за призначенням і дають уявлення про основні можливості. Прийняті нижче позначення:

    ..v - список змінних через кому

    . - це один або багато операторів, що йдуть підряд в одній або декількох рядках, які об'єднують в блок

    <> багаторазове повторення конструкції

    ..<> -повторення конструкції через кому

    Пояснимо наведені позначення на прикладі real ..v
    тут мається на увазі ключове слово real. слідом за яким йде список змінних ..v, що включає будь-які імена змінних, розділених комами. У конкретному операторі це, наприклад, може виглядати як real alfa, mu2, six

    Неісполняемих ОПЕРАТОРИ (опису та визначення)

    Схожі статті