WRITE(3,360)M,((A(I,J),J=1,M),I=1,M)
360 FORMAT(10X,'В Ы Х А Д Н Ы Ф А Й Л П Р А Г Р А М Ы GAUS'//
*10X,'УВАХОДНЫЯ ДАДЗЕНЫЯ:'/'Парадак сiстэмы: М=',I2/
*'Матрыца каэфiцыентау A(M,M) сiстэмы:'/(10F8.4))
WRITE(3,370)(B(I),I=1,M)
370 FORMAT('Mатрыца правых частак В(M):'/(10F8.4))
CALL GAUSS(M,A,B)
WRITE(3,352)(B(I),I=1,M)
352 FORMAT(/10X,'РЭЗУЛЬТАТЫ РАЗЛIКУ:'/6(G13.6))
CLOSE(UNIT=3)
C ПАВЕДАМЛЕННЕ НА ЭКРАН ДЫСПЛЕЯ АБ ЗАКАНЧЭННI РАБОТЫ
WRITE(5,353) Z2
353 FORMAT(1X,'ПРАГРАМА ''GAUS'' РАБОТУ ЗАКОНЧЫЛА. РЭЗУЛЬТАТЫ РАЗЛIКУ
* ЗАПIСАНЫ НА ДЫСК У ФАЙЛ '/1X,A8)
STOP
END
C ПАДПРАГРАМА РАШЭННЯ СIСТЭМЫ ЛIНЕЙНЫХ АЛГЕБРАIЧНЫХ РАУНАННЯУ AX=B
C МЕТАДАМ ГАУСА
SUBROUTINE GAUSS(M,A,B)
C М-ПАРАДАК СIСТЭМЫ. А-КВАДРАТНАЯ МАТРЫЦА КАЭФIЦЫЕНТАУ СIСТЕЭЫ.
C (ПАВIННА БЫЦЬ РАЗМЕШЧАНА ПА РАДКАХ)
C В-МАТРЫЦА ПРАВЫХ ЧАСТАК. НА ВЫХАДЗЕ МАТРЫЦА ПРАВЫХ ЧАСТАК
C ЗАМЯНЯЕЦЦА МАТРЫЦАЙ X РАШЭННЯ СIСТЭМЫ.
C COMPLEX A,B,W
DIMENSION A(20,20),B(20)
C ПАЧАТАК МЕТАДА ГАУСА
M1=M-1
C ПАЧАТАК ПРАМОГА ХОДУ
C ВЫБАР i-ТАГА РАУНАННЯ СIСТЭМЫ, УТРЫМЛIВАЮЧАГА ВЯДУЧЫ ЭЛЕМЕНТ
DO 4 I=1,M1
W=A(I,I)
C ДЗЯЛЕННЕ i-ТАГА РАУНАННЯ НА ВЯДУЧЫ ЭЛЕМЕНТ
DO 1 J=I,M
1 A(I,J)=A(I,J)/W
B(I)=B(I)/W
M2=I+1
C ВЫБАР k-АГА РАУНАННЯ, З ЯКОГА ВЫКЛЮЧАЕЦЦА НЕВЯД. ПЕРАМЕННАЯ Х(i)
DO 3 K=M2,M
C ВЫБАР l-АГА СЛУПКА У k-ТЫМ РАУНАННI ДЛЯ АДЫМАННЯ i-АГА РАУН. АД k-АГА
DO 2 L=M2,M
2 A(K,L)=A(K,L)-A(I,L)*A(K,I)
3 B(K)=B(K)-B(I)*A(K,I)
4 CONTINUE
B(M)=B(M)/A(M,M)
C КАНЕЦ ПРАМОГА ХОДУ. ПАЧАТАК ЗВАРОТНАГА ХОДУ
DO 5 I=1,M1
K=M-I
DO 5 J=K,M1
5 B(K)=B(K)-A(K,J+1)*B(J+1)
C КАНЕЦ ЗВАРОТНАГА ХОДУ I МЕТАДА ГАУСА
RETURN
END
Дадатак 3
C ФАЙЛ JORD.FOR
C ПРАГРАМА 'JORD' ПРЫЗН. ДЛЯ РАШЭННЯ СIСТ. ЛIН. АЛГЕБРАIЧНЫХ РАУНАННЯУ
C AX=B ПА СХЕМЕ ЖАРДАНА. СТВОРАНА НА КАФЕДРЫ ЭЛЕКТР. СТАНЦЫЙ БДПА
C 1.10.94 г.
C М-ПАРАДАК СIСТЭМЫ. А-КВАДРАТНАЯ МАТРЫЦА КАЭФIЦЫЕНТАУ СIСТЕЭЫ.
C (ВА УВАХОДНЫМ ФАЙЛЕ ПАВIННА БЫЦЬ РАЗМЕШЧАНА ПА РАДКАХ)
C В-МАТРЫЦА ПРАВЫХ ЧАСТАК. НА ВЫХАДЗЕ МАТРЫЦА ПРАВЫХ ЧАСТАК
C ЗАМЯНЯЕЦЦА МАТРЫЦАЙ РАШЭННЯ СIСТЭМЫ.
C ПЕРАД ВЫКАНАННЕМ РАЗЛIКАУ ПА ПРАГРАМЕ 'JOR' КАРЫСТАЛЬНIК СТВАРАЕ НА
C ДЫСКУ ФАЙЛ УВАХ. ДАДЗЕНЫХ З IМЕМ У ВЫГЛЯДЗЕ 'AAAA.DAT', ДЗЕ ЗАМЕСТ СIМC ВАЛАУ 'AAAA' КАРЫСТ. ЗАПIСВАЕ ЧАТЫРЫ ЛIТАРЫ IМЯ СВАЙГО ФАЙЛА УВАХОДН.
C ДАДЗЕНЫХ. ПАСЛЯ ПУСКА ПРАГРАМЫ 'JOR' ЯНА ЗАПЫТВАЕ З ЭКРАНА
C ГЭТАЕ IМЯ, I ЯНО ПАВIННА БЫЦЬ УВЕДЗЕНА КАРЫСТЛЬНIКАМ З ЭКРАНА ДЫСПЛЕЯ.
C ПАСЛЯ ЗАКАНЧ. РАЗЛIКУ ПРАГРАМА ЗАПIСВАЕ РЭЗУЛЬТАТЫ РАЗЛIКУ НА ДЫСК
C У ФАЙЛ З IМЕМ 'AAAA.REZ'.
C Z1,Z2 - СIМВАЛЬНЫЯ ПЕРАМЕННЫЯ (АДПАВЕДНА IМЕНЫ ФАЙЛАУ УВАХОДНЫХ
C I ВЫХОДНЫХ ДАДЗЕНЫХ)
C ДЛЯ РАШЭННЯ КОМПЛЕКСНАЙ СIСТЭМЫ ПАТРЭБНА ЗАПIСАЦЬ ПРАБЕЛ ЗАМЕСТ
C СIМВАЛА 'C' У ПЕРШАЙ ПАЗIЦЫI РАДКА 22 ГЭТАЙ ПРАГРАМЫ ПЕРАД АПЕРАТАРАМ
C 'COMPLEX A,B' I НАНОВА ВЫКАНАЦЬ ТРАНСЛЯЦЫЮ ПРАГРАМЫ
CHARACTER Z1*8,Z2*8
C COMPLEX A,B,AA
DIMENSION A(9,9),B(9)
C ЧЫТАННЕ IМЯ ФАЙЛА УВАХОДНЫХ ДАДЗЕНЫХ З ЭКРАНА ДЫСПЛЕЯ
WRITE(5,350)
350 FORMAT(1X,'УВЯДЗIЦЕ IМЯ I ПАШЫР. ВАШАГА ФАЙЛА УВАХОДНЫХ ДАДЗЕН
*ЫХ У ВЫГЛЯДЗЕ:'/1X,'"AAAA.DAT"( ДЛЯ ГЭТАГА ЗАМЯНIЦЕ СIМВАЛЫ "AAAA"
* НА IМЯ)')
READ(5,351)Z1
351 FORMAT(A8)
C АДКРЫЦЦЕ ФАЙЛА УВАХ. ДАДЗЕНЫХ, ЧЫТАННЕ УВАХОДНЫХ ДАДЗЕНЫХ З ДЫСКА
C У АПЕРАТЫУНАЕ ЗАПАМIНАЮЧАЕ УСТРОЙСТВА I ЗАКРЫЦЦЕ ФАЙЛА
OPEN(UNIT=1,FILE=Z1,STATUS='OLD')
READ(1,*)M,((A(I,J),J=1,M),I=1,M),(B(I),I=1,M)
CLOSE(UNIT=1)
Z2(1:4)=Z1(1:4)
Z2(5:8)='.REZ'
C АДКРЫЦЦЕ ФАЙЛА ДЛЯ ВЫХАДНЫХ ДАДЗЕНЫХ, ЗАПIС УВАХОДНЫХ ДАДЗЕНЫХ
C У ВЫХАДНЫ ФАЙЛ
OPEN(UNIT=3,FILE=Z2,STATUS='NEW')
WRITE(3,360)M,((A(I,J),J=1,M),I=1,M)
360 FORMAT(10X,'В Ы Х А Д Н Ы Ф А Й Л П Р А Г Р А М Ы JORD'//
*10X,'УВАХОДНЫЯ ДАДЗЕНЫЯ:'/'Парадак сiстэмы: M=',I2/
*'Матрыца каэфiцыентау A(M,M) сiстэмы:'/(10F8.4))
WRITE(3,370)(B(I),I=1,M)
370 FORMAT('Матрыца правых частак В(M):'/(10F8.4))
C ПАЧАТАК СХЕМЫ ЖАРДАНА
C ВЫБАР i-ТАГА РАУНАННЯ СIСТЭМЫ, ЯКОЕ УТРЫМЛIВАЕ ВЯДУЧЫ ЭЛЕМЕНТ
DO 6 I=1,M
IA=I+1
AA=A(I,I)
C ДЗЯЛЕННЕ i-ТАГА РАУНАННЯ НА ВЯДУЧЫ ЭЛЕМЕНТ A(i,i)
IF(I.EQ.M)GO TO 2
DO 1 L=IA,M
1 A(I,L)=A(I,L)/AA
2 B(I)=B(I)/AA
C ВЫБАР k-ТАГА РАУНАННЯ СIСТЭМЫ ДЛЯ ВЫКЛ. З ЯГО НЕВЯДОМАЙ ПЕРАМ. X(i)
DO 5 K=1,M
IF(I.EQ.K)GO TO 5
IF(I.EQ.M)GO TO 4
C ВЫБАР l-АГА СЛУПКА У k-ТЫМ РАУН. ДЛЯ АДЫМАННЯ i-АГА РАУНАННЯ АД k-ТАГА
DO 3 L=IA,M
3 A(K,L)=A(K,L)-A(K,I)*A(I,L)
4 B(K)=B(K)-A(K,I)*B(I)
5 CONTINUE
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.