- •Г.М.Вольдман расчет балансов по ценному компоненту в технологических схемах
- •Оглавление
- •Введение
- •1. Расчет методом "от операции к операции"
- •2. Расчет технологической схемы в целом
- •3. Расчет с помощью программы на языке basic
- •4. Расчет с помощью табличного процессора excel
- •5. Библиографический список
- •Приложения приложение 1 Текст программы на языке basic
- •Приложение 2 Протокол решения контрольной задачи
- •Приложение 3 Распечатка решения контрольной задачи
5. Библиографический список
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 Определение строки, содержащей 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
