Формат вихідного тексту програми на Фортране
Знак переносу оператора залежить від формату вихідного тексту і пишеться
як знак "" в кінці яку переносять рядки тексту * .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Неісполняемих ОПЕРАТОРИ (опису та визначення)
Схожі статті