Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PDF / lecture_1

.pdf
Скачиваний:
41
Добавлен:
07.01.2014
Размер:
206.25 Кб
Скачать

(С) ИиКМ РХТУ февраль 2004г. Калинкин Владимир Николаевич

1

Лекция 1

Процесс решения задачи можно разбить на следующие этапы.

1.О Б Ь Е К Т. Постановка задачи. Экспериментальное исследование физико-химического процесса или объекта и определение основных законов управляющих данным объектом или процессом.

2.М О Д Е Л Ь. Построение математической модели (математическая формулировка задачи) - запись законов описывающих процесс в форме уравнения или системы уравнений (алгебраических, дифференциальных, интегральных и т.д.).

3.А Л Г О Р И Т М. Разработка численного метода и алгоритма (блок-схема). Поскольку ЭВМ не понимает постановки задачи в математической формулировке, то для решения задачи необходимо найти численный метод, позволяющий свести задачу к некоторому вычислительному алгоритму. Алгоритм можно изобразить в виде блок-схемы.

4.П Р О Г Р А М М А. Алгоритм решения задачи записывается на понятном машине языке в виде точно определенной последовательности операций - программы для ЭВМ. Составление программ (программирование) обычно производится с помощью промежуточного (алгоритмического) языка. В качестве такого языка будем использовать VBA(Visual Basic for Applications).

5.Проведение вычислений и анализ результатов.

Запись алгоритмов в виде блок-схем и написание программ

 

 

Основные Элементы блок-схем.

 

 

 

 

поцесс

Ввод-вывода

 

 

условие

( вычисление )

 

 

 

 

( решение )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

основные типы алгоритмов

линейный

разветвляющий

циклический

2

2

1

нет да

3

2

3

4

5

нет да

3

4

 

6

5

(С) ИиКМ РХТУ февраль 2004г. Калинкин Владимир Николаевич

2

пример алгоритмов и программ

Переменные и константы используются для хранения необходимых программных данных, которым даются уникальные имена (идентификаторы). Переменные получают свои значения во время выполнения программы и сохраняют их, пока им не будут присвоены новое значение. Константы применяют в случаях, когда требуется много раз использовать в программе одно и тоже значение. Обычно, перед использованием переменных и констант необходимо произвести их объявление – т.е. заранее указать их имена и типы данных, для которых они предназначены, а для констант и их значения.

Литейный алгоритм. Вычислить значения констант скорости реакции по уравнению Арениуса для двух значений температур, полагая известными энергию активации Ea и

предэкспоненциальный множитель k0 .

Ea

k =k0 e RT

 

 

нач

 

 

 

 

 

 

 

 

 

 

 

Sub Blok1()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Dim T1 as single, T2 as single

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Dim K1 as single, K2 as single

R =8.314 Ea

 

 

 

 

 

 

 

 

 

 

 

=53234

 

1

Const

R as single=8.314, Ea as single=32000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Const

K0 as single=56123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T1=cells(2,1): T2=cells(2,2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K1=K0*exp(-Ea/(R*T1))

 

k0

= 32000

 

2

 

 

 

 

 

 

 

 

 

 

 

 

K2=K0*exp(-Ea/(R*T2))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cells(3,1)=K1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cells(3,2)=k2

 

 

T1,T2

 

3

 

 

 

 

 

 

 

 

 

End Sub

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Переменные T1, T2, K1 и K2 объявлены, как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вещественные обычной точности.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Задаются значения констант R,Ea и K0. Они

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ea

 

 

 

 

 

 

 

 

объявляются как вещественные с обычной

 

k

=k

0

e RT1

 

4

 

 

 

 

точностью

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Переменным T1 и T2 присваиваются значения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

из соответствующих ячеек текущего листа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ea

 

 

 

 

 

 

 

 

EXCEL.

 

k2

=k0 e RT2

 

 

5

 

 

 

 

 

 

 

 

 

3. Вычисляются значения переменных K1 и K2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Вычисленные значения выводятся в ячейки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

листа EXCEL.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k1 ,k2 6

Кон.

Разветвляющий алгоритм. Решить квадратное уравнение ax2 +bx +c =0

Вычисляем значение дискриминанта

D =b2 4ac

(С) ИиКМ РХТУ февраль 2004г. Калинкин Владимир Николаевич

3

Затем значения корней уравнения.

x

= b ± D

1,2

2a

 

нач

 

 

 

 

 

 

 

a,b,c

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D := b2

4ac

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D<0 | 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x :=

b +

D

4

 

 

 

 

 

Нет | 7

1

 

2a

 

 

 

 

 

 

 

 

Решения|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x21 :=

b

D

5

 

 

 

 

 

 

 

 

 

 

 

2a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1, x2

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sub blok2()

Dim a as single, b as single, c!,D!,x1!

a = cells(2,1): b = cells(2,2): c = cells(2,3) D = b^2 - 4*a*c

if D<0 then cells(3,2)=”нет решения”

else x1=(-b+sqr(D))/(2*a) x2=(-b-sqr(D)/2/a

x1 = ( -b + sqr(d))/2/a cells(3,1) = d cells(3,2) = x1 cells(3,3) = x2

end if End Sub

D 8

Кон.

Циклический алгоритм. Вычислить среднее арифметическое n чисел.

_

n

xi

 

x

+ x

2

+ x

3

+... + x

n

x =

i=1

 

=

1

 

 

 

n

 

 

 

n

 

 

 

 

 

 

 

 

 

(С) ИиКМ РХТУ февраль 2004г. Калинкин Владимир Николаевич

4

нач

n | 1

i:=1 | 2

i<=n. |.2

xi 3

I=I+1 | 2

s:=0 | 2

i:=1 | 2

i<=n. |.2

s:=s+xi | 4

 

 

=

s

 

 

7

 

x

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

кон

 

 

нач

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n | 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i:=1 шаг 1 до n

| 2

 

 

 

 

 

 

 

 

 

 

 

 

| 3

 

 

 

 

 

 

 

 

 

 

 

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s:=0 | 4

i:=1 шаг 1 до n | 2

s:=s+xi | 4

 

 

=

s

 

 

7

 

x

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

кон

(С) ИиКМ РХТУ февраль 2004г. Калинкин Владимир Николаевич

5

Sub blok3()

Sub blok31()

 

Dim n as byte, x() as single

Dim n as byte, x() as single

 

Dim i as byte

Dim i as byte

 

Dim x_average as single

Dim x_average as single

 

n=cells(2,1)

n=cells(2,1)

 

Redim x(n)

Redim x(n)

 

i=1

For i=1 to n

 

While i<=n then

x(i)=cells(i+3,1)

 

x(i)=cells(i+3,1)

Next i

 

i=i+1

s=0

 

Wend

For i=1 to n

 

s=0

s=s+x(i)

 

i=1

Next i

 

While i<=n then

x_average=s/n

 

s=s+x(i)

cells(2,2)=x_average

 

i=i+1

End Sub

 

Wend

 

 

x_average=s/n cells(2,2)=x_average

End Sub

Вычислить значения констант скорости реакции по уравнению Арениуса в зависимости от температуры ( от T-нач. до T-кон. в n+1 точке)-Табуляция.

Ea

k =k0 e RT

Полагая известными энергию активации Ea и предэкспоненциальный множитель k0 .

нач

Ea

k =k0e RT

T_Big, T_End, T_Step | 1

T:=T_Big шаг T_Step до T_End | 2

T, k(T) | 3

кон

(С) ИиКМ РХТУ февраль 2004г. Калинкин Владимир Николаевич

6

Const R = 8.314, K0 As Single = 55234, Ea As Single = 32000 Sub blok41()

Dim T_Big As Single, T_End As Single

Dim T_Step As Single, T As Single, i As Byte T_Big = Cells(2, 2): T_End = Cells(3, 2) T_Step = Cells(2, 4)

i = 6

For T = T_Big To T_End Step T_Step Cells(i, 1) = T: Cells(i, 2) = k(T)

i = i + 1 Next T

End Sub

Function k(T As Single) As Single k = K0 * Exp(-Ea / (R * T))

End Function

Соседние файлы в папке PDF