- •1.3. Елементи алгоритмічної мови фортран
- •1.3.3. Невиконувані службові оператори.
- •1.3.5. Виведення даних
- •36 Format (3x, ‘ aa____аb____ea____eb_____eg____еt____t____dt__tp__рр’)
- •7 Continue
- •1 Continue
- •If (eps.Lt.0.001) goto 123 Перелік можливих логічних відношень має такий вигляд:
- •If ((eps1.Lt.0.001).Or.( eps2.Lt.0.1)) goto 123
- •1.3. 9. Контроль синтаксичних помилок.
1.3. Елементи алгоритмічної мови фортран
В цьому розділі наведені найпростіші елементи алгоритмічної мови ФОРТРАН, ті, які використані в окремих спеціальних простих програмах системи ЕЛЕКТРА. Їх потрібно знати для того, щоб коректно модифікувати алгоритми існуючих програм.
Більш детальна інформація про ФОРТРАН і інші поширені мови програмування, наведена в спеціальній літературі [1,2].
Структура програми. Типова структура програми на алгоритмічній мові ФОРТРАН (послідовність операторів) така:
А- спеціальні службові невиконувані оператори (обяви);
Б- введення початкових (вхідних) даних;
В- програма, яка реалізує алгоритм розрахунку (головна частина програми);
Г- виведення результатів розрахунків (вихідних даних) на термінал або в спеціальний файл. Цю схему використовують, коли вихідних даних небагато. В тих випадках, коли результати розрахунку формуються в процесі роботи програми як однотипні невеликі повторювані рядки чисел, зручніше їх виводити по ходу розрахунків (інакше їх треба було б запам’ятовувати в масивах, і виводити масиви після закінчення всіх обчислень)
Д- оператори кінця програми
STOP
END
Е- підпрограми (порядок розташування окремих підпрограм значення не має).
1.3.2. Оператори ФОРТРАНу записують великими буквами латинського алфавіту та цифрами.
Структура запису оператора на рядку довжиною 80 символів (екран в ДОС):
Перші 5 позицій призначені виключно для ПОМІТКИ – будь-якого числа з 1-5 цифр, яке позначає даний оператор (на нього через помітку, наприклад 123, можна передати управління командою GOTO 123 – “продовжити роботу алгоритму, починаючи з оператора, який має ПОМІТКУ 123”) . Кожна помітка може бути лише одна, повтори є помилками.
Для запису операторів програми призначені позиції з 7 по 72. Позиції 73-80 транслятором ігноруються.
Якщо в першій позиції поставити букву “С” (латинський алфавіт), такий оператор буде інтерпретуватись як текстовий коментар – виводиться при друкуванні тексту програми, але не виконується.
Якщо в позиції 6 поставити будь-який символ (крім нуля і пробілу), такий оператор інтерпретується як продовження попереднього (коли вираз довгий і перевищує 72-6=66 символів). Максимальна кількість продовжень – до 19.
Для позначення змінних використовують буквено-цифрові символи. Позначення, які починаються з букв K-L-M-N-I-J автоматично означають цілі числа, всі інші – дійсні, з десятковою точкою.
1.3.3. Невиконувані службові оператори.
REAL I, J – перевизначає тип змінних, позначених символами. В даному прикладі I, J з цілої форми перевизначаються в дійсну (зручно, наприклад, позначати струм буквою І, але тоді автоматично це буде цілий тип числа, що зробить результати подальшого розрахунку некоректними). Зворотне перетворення типу чисел А,В,С (дійсний тип цілий тип) виконується оператором INTEGER А,В,С.
DIMENSION A(20), B(10,20) – позначає імена масивів, в даному прикладі А-одновимірного (20 чисел), В- двовимірного (таблиця з 10 рядків і 20 стовпців). Оператор резервує потрібний об’єм памяті для відповідних масивів.
EXTERNAL FC - оператор декларує (визначає), що вказане в ньому імя (тут FC) є не позначенням змінної ( тобто числом в деякій ячейці памяті), а імям підпрограми-функції, яка підраховує відповідне число. В операторах основної частини програми позначення FC використовується як звичайне імя змінної в арифметичних або логічних операторах (буде лише іншим алгоритм визначення цього числа) .
COMMON F,S Оператор вказує на те, що імена змінних F та S дозволено використовувати і в головній програмі і в підпрограмах (за правилами, підпрограми мають свій комплект імен змінних, недоступних безпосередньо з головної програми).
Введення даних
Існують декілька способів введення даних.
А) Введення з окремого файлу даних ( використовується лише в “закритих” моделюючих програмах системи ЕЛЕКТРА ).
Б) Введення оператором DATA. В операторі спочатку перелічують імена змінних через кому, а потім між двома похилими дужками “/…/ ” – числові значення вказаних змінних, через кому, і обов’язково в тому ж порядку. Дробні числа записують з десятковою точкою. Після останнього числа коми немає. Числа і відповідні імена змінних повинні співпадати за типами (дійсні або цілі). Десяткова точка в цілому числі є помилкою. Масиви однакових чисел зручно вводити в операторі DATA з числом-повторювачем (в прикладі далі РР є 100-елементним масивом, який заповнюється одним числом 2). Доцільно записувати заголовки (строчка-коментар з позначкою “С” в позиції 1) з назвами змінних, і вводити числа під відповідними назвами. Цей прийом полегшує практичну роботу з програмою і пошук місця, де потрібно вносити зміни.
С |
|
DATA AA, АB, EA, EB, EG, ET, T, DT, TP, РР |
|
* |
/ 0.7, 0.98, 2.18, 1.49, 0, 0, 0, 0.1, 1, 100*2 / |
В) Введення чисел операторами визначення, наприклад ВТ=0.87 .
Г) Введення безпосередньо числами в операторах, наприклад ET= A+0.059*LOG(T).
Д) Великі масиви однакових чисел зручно вводити також за допомогою циклу (наприклад, 100-елементний масив РР з однаковими значеннями елементів - 2 )
DO 1 K=1,100
1 PP(К)=2