ЛБ2
.docx
Инженерная школа природных ресурсов
Направление подготовки Химическая технология
Отделение химической инженерии
ОСНОВЫ ПРОГРАММИРОВАНИЯ НА PYTHON
Отчет по лабораторной работе № 2
Структурное программирование
Выполнил студент гр. ХИМ54 А.В. Чижова
(Подпись)
14.10.2025 г.
Отчет принят:
Преподаватель
доцент ОХИ ИШПР, к.т.н. В.А. Чузлов
(Подпись)
_____ _____________ 2025 г.
Томск 2025 г.
Задание 1
Температура кипения углеводорода может быть рассчитана при помощи следующей формулы:
|
(1) |
где
– температура кипения углеводорода,
К;
– число атомов углерода в молекуле
углеводорода.
Используя формулу (1), определите минимальное количество атомов углерода в молекуле углеводорода, температура кипения которого будет превышать 500 К.
Nc = ((6.9955 - math.log(1090 - Tb)) / 0.11193) ** (1/3)
Программная реализация:
import math
t_min = 500
N = 1
while True:
t_b = 1090 - math.exp(6.9955-0.11193 * N ** (2/3))
if t_b > t_min:
break
N += 1
print(f"Минимальное количество атомов углерода: {N}")
print(f"Температура кипения: {t_b:.2f} K")
Ответ:
Минимальное количество атомов углерода: 13
Температура кипения: 502.04 K
Задание 2
Вычислите энтальпию образования метана в зависимости от температуры по формуле:
|
(2) |
|
(3) |
с
шагом 50 К.
[кДж/моль].
Программная реализация:
import math
h300 = -103.97
for t in range(400, 601, 50):
if t <= 400:
C = 94.31
elif 400 < t <= 500:
C = 113.05
else:
C = 129.20
h = h300 + C * (300 - t)
print(f'температура = {t}; энтальпия = {h:.2f}')
Ответ:
температура = 400; энтальпия = -9534.97
температура = 450; энтальпия = -17061.47
температура = 500; энтальпия = -22713.97
температура = 550; энтальпия = -32403.97
температура = 600; энтальпия = -38863.97
Задание 3
Коэффициент сжимаемости учитывает отклонение реального газа от уравнения состояния идеального газа и может быть определен по формуле:
|
(4) |
где
– ацентрический фактор, вычисляемый
по уравнению:
|
(5) |
– приведенная
температура:
;
– приведенное
давление:
;
– температура
кипения, К;
К;
МПа
Проведите
оценку фактора сжимаемости
при
с шагом h
= 0.1 МПа при Т = 110 К.
Программная реализация:
import math
tb = 77.25
tc = 126.2
pc = 3.9
t = 110
tr = t / tc
for p in range(100, 351, 10):
p = p / 100
pr = p / pc
w = 3 / 7 * ((math.log10(pr)-5) / (t / (tr*tb) - 1)) - 1
z1 = 0.073 * w
z2 = (0.33 - 0.46 * w) / tr
z3 = (0.138 + 0.5 * w) / tr**2
z4 = (0.012 + 0.097 * w) / tr**3
z5 = 0.0073 * w / tr**8
z = 1 + pr/tr * (0.144 + z1 - z2 - z3 - z4 - z5)
print(f'давление = {p}; фактор сжимаемости {z:.2f}')
Ответ:
давление = 1.0; фактор сжимаемости 1.19
давление = 1.1; фактор сжимаемости 1.21
давление = 1.2; фактор сжимаемости 1.22
давление = 1.3; фактор сжимаемости 1.24
давление = 1.4; фактор сжимаемости 1.26
давление = 1.5; фактор сжимаемости 1.27
давление = 1.6; фактор сжимаемости 1.29
давление = 1.7; фактор сжимаемости 1.31
давление = 1.8; фактор сжимаемости 1.32
давление = 1.9; фактор сжимаемости 1.34
давление = 2.0; фактор сжимаемости 1.35
давление = 2.1; фактор сжимаемости 1.37
давление = 2.2; фактор сжимаемости 1.38
давление = 2.3; фактор сжимаемости 1.40
давление = 2.4; фактор сжимаемости 1.41
давление = 2.5; фактор сжимаемости 1.43
давление = 2.6; фактор сжимаемости 1.44
давление = 2.7; фактор сжимаемости 1.46
давление = 2.8; фактор сжимаемости 1.48
давление = 2.9; фактор сжимаемости 1.49
давление = 3.0; фактор сжимаемости 1.51
давление = 3.1; фактор сжимаемости 1.52
давление = 3.2; фактор сжимаемости 1.53
давление = 3.3; фактор сжимаемости 1.55
давление = 3.4; фактор сжимаемости 1.56
давление = 3.5; фактор сжимаемости 1.58
Задание 4
Плотность газов, близких по свойствам к идеальному газу, можно оценить по следующей формуле:
|
(6) |
Где
М – молярная масса газа,
;
– нормальная
температура, К;
– нормальное
давление, Па;
– температура,
при которой определяется плотность, К;
–
давление,
при котором определяется плотность,
Па.
Исследуйте
изменение плотности пропана при
кПа,
К. Шаг по давлению 10 кПа, шаг по температуре
10 К. Молярная масса пропана 44.1 кг/кмоль.
Необходимо получить значение плотности пропана для каждого значения давления при каждом значении температуры из указанных интервалов, поэтому лучше всего использовать цикл for по давлению, в который вложен цикл for по температуре.
Программная реализация:
import math
t0 = 273.15
p0 = 101325
m = 44.1
for p in range(300, 331, 10):
p = p * 1000
for t in range(280, 311, 10):
d = m / 22.4 * t0 * p / (t * p0)
print(f'давление = {p} Па ({p/1000} кПа), температура = {t} К, плотность = {d:.2f} кг/м3')
Ответ:
давление = 300000 Па (300.0 кПа), температура = 280 К, плотность = 5.69 кг/м3
давление = 300000 Па (300.0 кПа), температура = 290 К, плотность = 5.49 кг/м3
давление = 300000 Па (300.0 кПа), температура = 300 К, плотность = 5.31 кг/м3
давление = 300000 Па (300.0 кПа), температура = 310 К, плотность = 5.14 кг/м3
давление = 310000 Па (310.0 кПа), температура = 280 К, плотность = 5.88 кг/м3
давление = 310000 Па (310.0 кПа), температура = 290 К, плотность = 5.67 кг/м3
давление = 310000 Па (310.0 кПа), температура = 300 К, плотность = 5.48 кг/м3
давление = 310000 Па (310.0 кПа), температура = 310 К, плотность = 5.31 кг/м3
давление = 320000 Па (320.0 кПа), температура = 280 К, плотность = 6.07 кг/м3
давление = 320000 Па (320.0 кПа), температура = 290 К, плотность = 5.86 кг/м3
давление = 320000 Па (320.0 кПа), температура = 300 К, плотность = 5.66 кг/м3
давление = 320000 Па (320.0 кПа), температура = 310 К, плотность = 5.48 кг/м3
давление = 330000 Па (330.0 кПа), температура = 280 К, плотность = 6.26 кг/м3
давление = 330000 Па (330.0 кПа), температура = 290 К, плотность = 6.04 кг/м3
давление = 330000 Па (330.0 кПа), температура = 300 К, плотность = 5.84 кг/м3
давление = 330000 Па (330.0 кПа), температура = 310 К, плотность = 5.65 кг/м3
