Библиографический список
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 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 NEXT I PRINT "ВСЕ ЛИ ТЕПЕРЬ ПРАВИЛЬНО? (ДА - 5, НЕТ - 2, ВЫХОД ИЗ ПРОГРАММЫ - 0)"; INPUT N8 GOTO L2
REM Решение системы уравнений методом Гаусса с REM выбором главного элемента столбца
L4: FOR K = 1 TO N
REM Определение строки, содержащей
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 Все права принадлежат авторам размещенных материалов.
|