a) IF(.27D10) 6,4,1 c) B=–4.1
b) IF(3*A+0.3) 2,5,7 если A=–0.4 S=3*B-6.1
IF(1–S) 8,9,1
Определите, какой из операторов получит управление после выполнения следующих групп операторов:
a) IF(X+B*Y.GT.0) IF(X+2.07) 3,5,4
4 A=(B+X)*Y если X=–2.07, B+1.4, Y=4.25.
b) IF(X.OR.Y.AND.Z) IF(A–B) 7,24,31
IF(A+B) 6,100,27 если X=.TRUE., Z=Y=.FALSE., A=3.6, B=4.1.
c) IF(X.AND..NOT.Y) GOTO 10
X=A.GT.0 если X=.TRUE., Y=.FALSE..
Напишите операторы, обеспечивающие переход:
a) к оператору с меткой 6, если A>3, и к оператору с меткой 30 в противном случае;
b) к оператору с меткой 2, если арифметическое выражение A+B/C принимает значение больше нуля, к оператору с меткой 4, если это выражение равно нулю, и к оператору с меткой 9, если это выражение принимает значение меньше нуля;
c) к оператору с меткой 100, если точке x принадлежит одновременно отрезкам [a,b] и [с,d]; к оператору с меткой 101, если x принадлежит отрезку [a,b], но не принадлежит отрезку [с,d].
10. Вспомогательные операторы управления. В каких
случаях используются и как работают вспомогательные операторы управления: а)
оператор продолжения,
б) оператор возврата, в) оператор останова?
11. Операторы цикла. Какие операторы называются начальным и конечным операторами цикла? Что называется областью цикла? Может ли параметр цикла быть а) переменной с индексом, б) простой переменной вещественного типа? Может ли параметр цикла принимать нулевое или отрицательное значения? В каком случае можно опустить значение приращения параметра цикла в заголовке цикла? Какие операторы не могут быть конечными операторами цикла?
Определите количество выполнений следующих циклов:
a) DO 1 K=1,50,3 b) DO 2 J=2,10
1 S=S+A(K) 2 S=S+A(J)
Напишите последовательность операторов, содержащую цикл, для вычисления значения функции для всех , если и .
Напишите последовательность операторов, содержащую цикл, для вычисления величин:
a) , где – компоненты вектора ;
b) , где – элементы матрицы .
Важная задача [2]. Двух студентов попросили написать фрагмент программы на Фортране 77, которая находит сумму всех различных значений, хранящихся в упорядоченном массиве M. Определите, кто из них написал правильно?
Фрагмент первого студента: Фрагмент второго студента:
S=M(I) S=M(I)
10 DO 20=2,N 10 DO 15=2,N
If(N(I).EQ.N(I–1)) GOTO 10 If(N(I).EQ.N(I–1)) GOTO 15
S=S+M(I) S=S+M(I)
20 CONTINUE 15 CONTINUE
PRINT*,S PRINT*,S
12. Какие описания можно выполнить с помощью явного оператора описания типа? Как задать тип переменной (функции, массива)? С какой целью используется оператор IMPLICIT? В чем состоят отличия оператора IMPLICIT от явного оператора описания типа? Какие средства используются в операторе IMPLICIT для сокращения перечисления букв в списке L, N, O, P, R, S?
13. Можно ли с помощью оператора DIMENSION описать размерность массива, если его тип и длина ни в каком из операторов фортран-программы не описаны? В каком случае в указателе размерности массива может быть задана простая переменная целого типа в качестве максимального значения индекса?
14. Для каких целей используется оператор COMMON? В каком случае для массива, размещаемого в общей области, задается указатель размерности в операторе общих областей? В каком порядке размещаются величины в общей области? Могут ли в разных программных модулях задаваться операторы общих областей с одинаковыми именами общих областей? Какие требования предъявляются к одноименным общим областям различных программных модулей одной и той же фортран-программы?
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.