C ВХОДНЫХ ДАННЫХ ПОСЛЕ ПУСКА ПРОГР. ОНА ЗАПРАШИВАЕТ ЭТО ИМЯ С ЭКРАНА,
C И ОНО ДОЛЖНО БЫТЬ ВВЕДЕНО ПОЛЬЗОВАТЕЛЕМ С ЭКРАНА.
C ПОСЛЕ ОКОНЧАНИЯ РАСЧЕТА ПРОГР. ЗАПИСЫВАЕТ РЕЗУЛЬТАТЫ РАСЧЕТА НА ДИСК
C В ФАЙЛ С ИМЕНЕМ 'AAAA.REZ'.
C Z1,Z2 - СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ (СООТВЕТСТВЕННО ИМЕНА ФАЙЛОВ ВХОДНЫХ
C И ИСХОДЯЩИХ ДАННЫХ)
C ДЛЯ РЕШЕНИЯ КОМПЛЕКСНОЙ СИСТЕМЫ НУЖНО ЗАПИСАТЬ ПРОБЕЛ ВМЕСТО
C СИМВОЛА 'C' В ПЕРВОЙ ПОЗИЦИИ СТРОЧКИ 21 ЭТОЙ ПРОГРАММЫ ПЕРЕД ОПЕРАТОРОМ
C 'COMPLEX A,B,B1' I ЗАНОВО СОБЛЮСТИ ТРАНСЛЯЦИЮ ПРОГРАММЫ
CHARACTER Z1*8,Z2*8
C COMPLEX A,B,B1,W
DIMENSION A(20,40),B(20),B1(20)
C ЧТЕНИЕ ИМЕНИ ФАЙЛА ВХОДНЫХ ДАННЫХ С ЭКРАНА ДИСПЛЕЯ
WRITE(5,350)
350 FORMAT(1X,'ВВЕДИТЕ ИМЯ И РАСШИР. ВАШЕГО ФАЙЛА ВХОДНЫХ ДАННЫХ
*В ВИДЕ:'/1X,'"AAAA.DAT"( ДЛЯ ЭТОГО ЗАМЕНИТЕ СИМВОЛЫ "AAAA"
* НА ИМЯ)')
READ(5,351)Z1
351 FORMAT(A8)
C ОТКРЫТИЕ ФАЙЛА ВХОДНЫХ ДАННЫХ, ЧТЕНИЕ ВХОДНЫХ ДАННЫХ С ДИСКА
C В ОПЕРАТИВНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО И ОТКРЫТИЕ ФАЙЛА
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)
C ОТКРЫТИЕ ФАЙЛА ДЛЯ ИСХОДЯЩИХ ДАННЫХ, ЗАПИСЬ ВХОДНЫХ ДАННЫХ
C НА ДИСК В ВЫХОДНОЙ ФАЙЛ
Z2(1:4)=Z1(1:4)
Z2(5:8)='.REZ'
OPEN(UNIT=3,FILE=Z2,STATUS='NEW')
WRITE(3,360)M,((A(I,J),J=1,M),I=1,M)
360 FORMAT(10X,'В Ы Х А Д Н Ы Ф А И Л П Р А Г Р А М Ы ABAS'//
*10X,'ВХОДНЫЕ ДАННЫЕ:'/'Порядок системы: M=',I2/
*'Матрица коэффициентов:'/(10F8.4))
WRITE(3,370)(B(I),I=1,M)
370 FORMAT('Матрица правых частей:'/(10F8.4))
C НАЧАЛО СХЕМЫ ЖАРДАНА
M1=M+1
M2=M+M
C ОБРАЗОВАНИЕ ЕДИНИЧН. МАТРИЦЫ В ПРАВОМ КВАДР. БЛОКЕ РАБОЧЕГО МАССИВА A
DO 20 I=1,M
N=I+M
DO 20 J=M1,M2
A(I,J)=0.
IF(N.EQ.J) A(I,J)=1
20 CONTINUE
C РАСЧЕТ ЭЛЕМЕНТОВ ОБРАТНОЙ МАТР. В ПРАВОМ КВАДРАТНОМ БЛОКЕ РАБОЧЕГО
C МАССИВА A(М,М2) ПО СХЕМЕ ЖАРДАНА
DO 60 I=1,M
N=I+1
DO 40 J=N,M2
40 A(I,J)=A(I,J)/A(I,I)
DO 30 K=1,M
IF(K.EQ.I) GO TO 30
DO 50 L=N,M2
50 A(K,L)=A(K,L)-A(I,L)*A(K,I)
30 CONTINUE
60 CONTINUE
C ПЕРЕМНОЖ. ОБРАТНОЙ МАТР. НА МАТРИЦУ ПРАВЫХ ЧАСТЕЙ И ЗАПИСЬ РЕШЕНИЙ
C В МАССИВ B1(M)
DO 80 I=1,M
W=0.
DO 70 J=1,M
70 W=W+A(I,J+M)*B(J)
B1(I)=W
80 CONTINUE
C ЗАПИСЬ РЕЗУЛЬТАТОВ РАСЧЕТА В ВЫХОДНОЙ ФАЙЛ И ОТКРЫТИЕ ФАЙЛА
WRITE(3,352)(B1(I),I=1,M)
352 FORMAT(/10X,РЕЗУЛЬТАТЫ РАСЧЕТА:'/6(G13.6))
CLOSE(UNIT=3)
C СООБЩЕНИЕ НА ЭКРАН ДИСПЛЕЯ О ЗАВЕРШЕНИИ РАБОТЫ
WRITE(5,353) Z2
353 FORMAT(1X,'ПРОГРАММА ''ABAS'' РАБОТУ ОКОНЧИЛА. РЕЗУЛЬТАТЫ РАСЧЕТА
*ЗАПИСАНЫ НА ДИСК В ФАЙЛ '/1X,A8)
STOP
END
Приложение 2
C ФАЙЛ GAUS.FOR
C ПРОГРАММА 'GAUS' РЕШЕНИЯ СИСТЕМЫ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
C AX=B МЕТОДАМ ГАУССА. СОЗДАНА НА КАФЕДРЕ ЭЛЕКТРИЧЕСКИХ СТАНЦИЙ БГПА
C 1.10.94 г.
C М-ПОРЯДОК СИСТЕМЫ. А-КВАДРАТНАЯ МАТРИЦА КОЭФФИЦИЕНТОВ СИСТЕМЫ.
C (ВО ВХОДНОМ ФАЙЛЕ ДОЛЖНА БЫТЬ РАЗМЕЩЕНА ПО СТРОЧКАМ)
C В-МАТРИЦА ПРАВЫХ ЧАСТЕЙ. НА ВЫХОДЕ МАТРИЦА ПРАВЫХ ЧАСТЕЙ
C ЗАМЕНЯЕТСЯ МАТРИЦЕЙ РЕШЕНИЯ X СИСТЕМЫ AX=B.
C ПЕРЕД ВЫПОЛНЕНИЕМ РАСЧЕТА ПО ПРОГРАММЕ 'GAUS' ПОЛЬЗОВАТЕЛЬ СОЗДАЕТ НА
C ДИСКЕ ФАЙЛ ВХОДНЫХ ДАННЫХ С ИМЕНЕМ В ВИДЕ 'AAAA.DAT', ГДЕ ВМЕСТО СИМC ВОЛОВ 'AAAA' ПОЛЬЗОВ. ЗАПИСЫВАЕТ ЧЕТЫРЕ БУКВЫ ИМЯ СВОЕГО ФАЙЛА ВХОДНЫХ
C ДАННЫХ ПОСЛЕ ПУСКА ПРОГРАММЫ 'GAUS' ОНА ЗАПРАШИВАЕТ С ЭКРАНА
C ЭТО ИМЯ, И ОНО ДОЛЖНО БЫТЬ ВВЕДЕНО ПОЛЬЗОВАТЕЛЕМ С ЭКРАНА ДИСПЛЕЯ.
C ПОСЛЕ ЗАВЕРШ. РАСЧЕТА ПРОГРАММА ЗАПИСЫВАЕТ РЕЗУЛЬТАТЫ РАСЧЕТА НА ДИСК
C В ФАЙЛ С ИМЕНЕМ 'AAAA.REZ'.
C Z1,Z2 - СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ (СООТВЕТСТВЕННО ИМЕНА ФАЙЛОВ ВХОДНЫХ
C И ИСХОДЯЩИХ ДАННЫХ)
C ДЛЯ РЕШЕНИЯ КОМПЛЕКСНОЙ СИСТЕМЫ НУЖНО ЗАПИСАТЬ ПРОБЕЛ ВМЕСТО
C СИМВОЛА 'C' В ПЕРВОЙ ПОЗИЦИИ СТРОЧКИ 22 ЭТОЙ ПРОГРАММЫ И 58 СТРОЧКИ ПОДПР.
C ПЕРЕД ОПЕРАТ. 'COMPLEX A,B' И ЗАНОВО СОБЛЮСТИ ТРАНСЛЯЦИЮ ПРОГРАММЫ
CHARACTER Z1*8,Z2*8
C COMPLEX A,B
DIMENSION A(20,20),B(20)
C ЧТЕНИЕ ИМЕНИ ФАЙЛА ВХОДНЫХ ДАННЫХ Из ЭКРАНА ДИСПЛЕЯ
WRITE(5,350)
350 FORMAT(1X,' ВВЕДИТЕ ИМЯ И РАСШИР. ВАШЕГО ФАЙЛА ВХОДНЫХ ДАННЫХ
*В ВИДЕ:'/1X,'"AAAA.DAT"( ДЛЯ ЭТОГО ЗАМЕНИТЕ СИМВОЛЫ "AAAA"
* НА ИМЯ)')
READ(5,351)Z1
351 FORMAT(A8)
C ОТКРЫТИЕ ФАЙЛА ВХОДНЫХ. ДАННЫХ., ЧТЕНИЕ ВХОДНЫХ. ДАННЫХ С ДИСКА
C В ОПЕРАТИВНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО И ЗАКРЫТИЕ ФАЙЛА
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 ОТКРЫТИЕ ФАЙЛА ДЛЯ ВЫХОДНЫХ ДАННЫХ, ЗАПИСЬ ВХОДНЫХ ДАННЫХ
C В ВЫХОДНОЙ ФАЙЛ
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.