
- •Министерство общего и профессионального образования российской федерации московский государственный технический университет (мами) Кафедра "Прикладная и вычислительная математика"
- •Программирование на языке Фортран
- •Основные понятия. Программирование расчетов по формулам
- •Real*4 – ранг 3
- •Ввод-вывод информации
- •Разветвляющиеся программы и операторы управления
- •If ( выражение ) Then
- •Программирование циклов
- •C *** Конец внутреннего цикла ***
- •Обработка массивов
- •Подпрограммы
If ( выражение ) Then
блок_1
[ Else
блок_2 ]
EndIf
где выражение |
– логическое выражение, определяющее будет ли выполняться блок_1 или блок_2; |
блок_1, блок_2 |
– группы выполняемых операторов. |
Оператор условного перехода работает следующим образом. Если значение логического выражения есть "истина", то выполняются операторы блока_1, а операторы блока_2 игнорируются. Если значение логического выражения есть "ложь", то игнорируются операторы блока_1, а выполняются операторы блока_2. Признаком конца группы операторов блока_1 является оператор Else, а группы операторов блока_2 – оператор EndIf. После выполнения любого из блоков управление передается на оператор, следующий за ключевым словом EndIf. Ключевое слово Else и операторы блока_2 могут отсутствовать. В этом случае работа оператора условного перехода аналогична работе логического оператора.
При использовании оператора условного перехода необходимо придерживаться следующих правил:
не допускается передача управления в блоки операторов блок_1 или блок_2 извне, минуя оператор If;
при использовании в качестве блока_2 другого оператора условного перехода вместо комбинации двух ключевых слов Else и If можно использовать единое слово ElseIf;
допускается использование пустых блоков операторов после ключевого слова Else, но это рекомендуется избегать.
Использование блочного оператора условного перехода упрощает чтение программы, делая ее более наглядной. Это можно видеть на примере программы идентификации областей:
Read(*, *) X, Y
If (X*X + Y*Y.LE.4.) Then
If (Y.LE.0.) Then
N = 2
Else
N = 1
EndIf
Else
N = 0
EndIf
Write(6, 8) X, Y, N
8 Format(' Точка M(', F4.1, ',', F4.1, ') лежит в области N = ', I1)
End
Пример выполнения задания. Составить программу для вычисления значения функции F по формуле
Исходные данные задать в файле dat. Результат поместить в файл res
Программа
program lab_3
implicit none
Real x, y, z, a,f
Open(5, File = 'dat')
Open(6, File = 'res')
15 read(5,1, end=100) x, y, z
1 format(3f4.1)
if (x>y) then
a=x
else
a=y
endif
if (a<z) then
f=a
else
f=z
endif
write(6,20) x, y, z, f
20 format('x=',f4.1,'; y=',f4.1,'; z=',f4.1, '; f=',f4.1)
go to 15
100 stop 'lab_3'
end program
Файл исходных данных dan
-3.0 2.3 7.4
-1.5 5.1 1.6
-2.5 0.5 0.4
-0.5 0.8 0.2
0.5 0.1 5.1
1.0 1.0 1.2
Файл результатов res
x=-3.0; y= 2.3; z= 7.4; f= 2.3
x=-1.5; y= 5.1; z= 1.6; f= 1.6
x=-2.5; y= 0.5; z= 0.4; f= 0.4
x=-0.5; y= 0.8; z= 0.2; f= 0.2
x= 0.5; y= 0.1; z= 5.1; f= 0.5
x= 1.0; y= 1.0; z= 1.2; f= 1.0
З а д а н и е к л а б о р а т о р н о й р а б о т е
Составить блок-схему и программу для решения следующих задач. В вариантах 1–14 вычислить значение F по предлагаемой формуле. При получении нуля в знаменателе необходимо напечатать фразу "нуль в знаменателе". В вариантах 15–24 определить номер области n, в которую попадет точка с заданными координатами x и y. Границы отнести к области с большим номером. В вариантах 25–30 выполнить указанные действия. В качестве исходных данных использовать восемь различных комбинаций значений вводимых переменных. В программе предусмотреть ввод исходных данных из файла dan и печать результатов в файл res. Результаты тестирования программы привести в отчете.
1. |
|
2. |
|
3. |
|
4. |
|
5. |
|
6. |
|
7. |
|
8. |
|
9. |
|
10. |
|
11. |
|
12. |
|
13. |
|
14. |
|
-
15
16
17
18
19
20
21
22
23.
24
Определить есть ли в целом четырехзначном числе три одинаковые цифры.
Даны три произвольные числа. Вывести их на печать в порядке возрастания.
Проверить является ли произвольное целое четырехзначное число палиндромом ("перевертышем").
Проверить состоит ли произвольное целое четырехзначное число из четных цифр.
Проверить состоит ли целое трехзначное число из разных цифр.
Даны три числа. Вывести на печать те из них, значения которых лежат в диапазоне от a до b.
Л А Б О Р А Т О Р Н А Я Р А Б О Т А № 4