Здавалка
Главная | Обратная связь

Библиографический список



1. Болотников Л.Е. Технологическое проектирование производства редких металлов. М.: Металлургия, 1973. – 472 с.

2. Джонсон К. Численные методы в химии. Пер. с англ. - М.: Мир, 1983. - 504 с.

3. Вольдман Г.М., Зайцев Ю.Н. Расчет балансов по металлу в технологических схемах (с использованием ЭВМ). - Изд. МИТХТ, 1986. - 28 с.

4. Бурляев В.В. Численные методы в примерах на EXCEL /Методическое пособие по дисциплине “Программирование и численные методы”. - Изд. МИТХТ, 1997. - 63 с.

 

Приложения

ПРИЛОЖЕНИЕ 1

Текст программы на языке BASIC

 

CLS

DIM X(50), A(50, 51)

PRINT "ПРОГРАММА РАСЧЕТА БАЛАНСА ПО МЕТАЛЛУ"

PRINT "ВВЕДИТЕ ЧИСЛО НЕИЗВЕСТНЫХ"

INPUT N

 

REM Обнуление матрицы коэффициентов

 

FOR I = 1 TO N

FOR J = 1 TO N + 1

LET A(I, J) = 0

NEXT J

NEXT I

 

REM Ввод ненулевых коэффициентов

 

PRINT "ВВЕДИТЕ НЕНУЛЕВЫЕ КОЭФФИЦИЕНТЫ, ВКЛЮЧАЯ СВОБОДНЫЕ ЧЛЕНЫ"

FOR I = 1 TO N

PRINT "СТРОКА "; I; ". СКОЛЬКО НЕНУЛЕВЫХ КОЭФФИЦИЕНТОВ В ЭТОЙ СТРОКЕ?"

INPUT N7

PRINT "ВВОДИТЕ ПОСЛЕДОВАТЕЛЬНО (ЧЕРЕЗ ЗАПЯТУЮ) ПО ДВА ЧИСЛА -"

PRINT "ВТОРОЙ ИНДЕКС И ЗНАЧЕНИЕ КОЭФФИЦИЕНТА, НАПРИМЕР: 1,-0.25"

FOR L = 1 TO N7

INPUT J, A(I, J)

NEXT L

NEXT I

 

REM Контроль правильности ввода

 

PRINT "ПРОВЕРЬТЕ, ПРАВИЛЬНО ЛИ ВВЕДЕНЫ НЕНУЛЕВЫЕ КОЭФФИЦИЕНТЫ"

FOR I = 1 TO N

FOR J = 1 TO N + 1

IF A(I, J) = 0 THEN GOTO L1

PRINT "A("; I; ","; J; ")="; A(I, J),

L1: NEXT J

PRINT

NEXT I

PRINT "ПРАВИЛЬНО ЛИ ВЫ ВВЕЛИ ВСЕ КОЭФФИЦИЕНТЫ?";

PRINT "(ДА - 5, НЕТ - 2, ВЫХОД ИЗ ПРОГРАММЫ - 0)"

INPUT N8

L2: IF N8 = 5 THEN GOTO L4 ELSE IF N8 = 0 THEN GOTO L8

 

REM Исправление ошибок ввода

 

PRINT "СКОЛЬКО КОЭФФИЦИЕНТОВ НУЖНО ИСПРАВИТЬ? УЧТИТЕ, ЧТО ОШИБКА В"

PRINT "ИНДЕКСЕ ПРИВОДИТ К ДВУМ НЕВЕРНЫМ КОЭФФИЦИЕНТАМ - ТОМУ, ВМЕСТО"

PRINT "КОТОРОГО ВВЕДЕНО ЧИСЛО, И ТОМУ, КОТОРЫЙ НУЖНО БЫЛО ВВЕСТИ"

INPUT N9

PRINT "ВНЕСИТЕ ИСПРАВЛЕНИЯ, ВВОДЯ ПО 3 ЧИСЛА - НОМЕР СТРОКИ,"

PRINT "НОМЕР СТОЛБЦА, ЗНАЧЕНИЕ КОЭФФИЦИЕНТА, НАПРИМЕР: 1,1,-0.25"

FOR L = 1 TO N9

INPUT I, J, A(I, J)

NEXT L

PRINT "ПРОВЕРЬТЕ КОЭФФИЦИЕНТЫ ПОСЛЕ ИСПРАВЛЕНИЯ"

FOR I = 1 TO N

FOR J = 1 TO N + 1

IF A(I, J) = 0 THEN GOTO L3

PRINT "A("; I; ","; J; ")="; A(I, J),

L3: NEXT J

PRINT

NEXT I

PRINT "ВСЕ ЛИ ТЕПЕРЬ ПРАВИЛЬНО? (ДА - 5, НЕТ - 2, ВЫХОД ИЗ ПРОГРАММЫ - 0)";

INPUT N8

GOTO L2

 

REM Решение системы уравнений методом Гаусса с

REM выбором главного элемента столбца

 

L4: FOR K = 1 TO N

 

REM Определение строки, содержащей
REM главный элемент столбца "K"

 

LET C = 0

FOR I = K TO N

IF ABS(A(I, K)) <= C THEN GOTO L5

LET C = ABS(A(I, K))

LET I1 = I

L5: NEXT I

IF C > 0 THEN GOTO L6

PRINT "РЕШЕНИЯ НЕТ"

GOTO L8

L6: IF I1 = K THEN GOTO L7

 

REM Перестановка строк - k-той и содержащей

REM главный элемент k-го столбца

 

FOR I = K TO N + 1

LET C = A(K, I)

LET A(K, I) = A(I1, I)

LET A(I1, I) = C

NEXT I

 

REM Сокращение k-го столбца

 

L7: FOR I = K + 1 TO N

LET C = A(I, K) / A(K, K)

LET A(I, K) = 0

FOR J = K + 1 TO N + 1

LET A(I, J) = A(I, J) - C * A(K, J)

NEXT J

NEXT I

NEXT K

 

REM Вычисление X(I)

 

LET X(N) = A(N, N + 1) / A(N, N)

FOR K = N - 1 TO 1 STEP -1

LET S = 0

FOR J = K + 1 TO N

LET S = S + A(K, J) * X(J)

NEXT J

LET X(K) = (A(K, N + 1) - S) / A(K, K)

NEXT K

 

REM Вывод результатов

 

PRINT "РЕШЕНИЕ:"

FOR I = 1 TO N

PRINT "X("; I; ")="; X(I),

NEXT I

L8 END

 

 


ПРИЛОЖЕНИЕ 2







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.