Консультация № 184747
11.12.2011, 18:02
102.93 руб.
0 0 0
Здравствуйте, Уважаемые эксперты! Помогите, пожалуйста, написать следующую программу:
Распараллелить выражение W=A/B/C/D/E/F/G/H/I/K-A1/B1/C1/D1/E1/F1/G1/H1/I1/K1
Программу необходимо написать на Фортране в соответствии с образцом, приведенным ниже.

Образец выполненной программы:Образец выполненной программы:
Исходное выражение
N=C+(Z*Z-A)+D +(B-Y*K)+1.25*A*B
Текст программы
позиции
1234567
DIMENSION F(100),G(100),H(100)
REAL K,M,N
S=10
A=3
B=6
C=1
D=2
Y=9
K=10
Z=13
CSBEG
N=C+(Z*Z-A)+D
N=N+(B-Y*K)+1.25*A*B
CSEND
F(1)=A
G(1)=-1
F(2)=A
G(2)=B
F(3)=Y
G(3)=K
F(4)=Z
G(4)=Z
CPBEG
#CALL EMULVV(F,F,G,4)
G(1)=1
G(2)=1.25
G(3)=-1
G(4)=1
#CALL EMULVV(F,F,G,4)
H(1)=F(1)
G(1)=C
H(2)=B
G(2)=D
H(3)=F(3)
G(3)=F(4)
#CALL EADDVV(H,H,G,4)
M=H(1)+H(2)+H(3)+F(2)
CPEND
IFLAG=0
IF (N.NE.M) IFLAG=1
4 FORMAT(' IFLAG=',I1)
WRITE(6,4) IFLAG
STOP
END
Результат выполнения программы
IFLAG=0
Время выполнения последовательного участка: 10.00
Время выполнения параллельного участка: 63.00
Коэффициент ускорения: 0.16

Обсуждение

Форма ответа