10吉布斯函数

10吉布斯函数
10吉布斯函数

第三节 吉布斯函数

复习引入

复习热力学第一定律、热力学第二定律的内容及数学表达式;复习焓的引出及其定义式。 讲授新课

一、吉布斯函数

1、吉布斯函数

由热力学第一定律得

dU Q W δδ=+

其中 ''()W p dV W W δδ=-+外为非体积功

则 ''()Q dU p dV W dU p dV W δδδ=--+=+-外外 由热力学第二定律得 Q TdS δ≤

则 'dU p dV W TdS δ+-≤外

在恒温恒压的条件下,T 始=T 终=T 环=恒定值;p 始=p 终=p 系统=恒定值 则得 '()0

T d S d U p d V W δ-+-≥ 'dU pdV TdS W δ+-≤

即 '

()d U pV TS W δ+-≤ (3-17) 已知U 、p 、V 、T 、S 都是系统的状态函数,根据状态函数的性质,式(3-17)中的U+pV-TS 应为一状态函数。

令 G=U+pV-TS (3-18) 称G 为吉布斯函数,简称吉氏函数。

又因为 H=U+pV

所以 G=H-TS (3-19) 式(3-18)为吉氏函数的定义式。不难看出,吉氏函数具有能量的单位,是系统的广延性质。

式(3-17)可变为 'dG W δ≤

上式表明,在恒温恒压条件下,系统在可逆过程所得到的非体积功,数值上等于吉布斯函数的增加值。而在同样条件下进行不可逆过程(自发过程)时,系统所得的非体积功恒大于吉氏函数的增加值。反之,在恒温恒压条件下,系统在可逆过程所做的非体积功,数值上等于吉氏函数的减少值,而在同样条件下进行不可逆过程(自发过程)时,系统所做的非体积功恒小于吉氏函数的减少值。

2、吉布斯函数判据

由熵判据

0S S ?+?>环境 自发过程

0S S ?+?=环境 平衡态

因为 Q S T ?=-环境环境

如果封闭系统进行一个恒温恒压且W’=0的过程时,则

H S T ??=-

环境环境 所以熵判据变为 0H S T

??-> 自发过程 0H S T

??-= 平衡态 整理可得 0H T S ?-?< 自发过程

0H T S ?-?= 平衡态

根据吉氏函数定义得 ,T p G H T S ?=?-?

所以,恒温恒压且不做非体积功的条件下,可以根据吉氏函数的变化值来判断过程的方向和限度,即

(3-20) 式(3-20)称为吉氏函数判据。其意义可表述为:在恒温恒压条件下,封闭系统中的过程总是自发的向着吉布斯函数G 减少的方向进行,直到达到在该条件下G 值最小的平衡状态为ΔG T ,p <W ‘ 不可逆过程

= W ‘ 可逆过程

ΔG T ,p <0 自发过程 =0 平衡

止。在平衡状态时,系统的任何变化都一定是可逆过程,其G 值不再改变。

3、封闭系统恒温过程吉布斯函数变化值ΔG 的计算

在封闭系统不做非体积功的条件下,恒温过程ΔG 的计算可分为三种情况。

(1)恒温过程的计算通式 封闭系统的恒温过程,根据吉布斯函数的定义式G=H-TS ,则有

ΔG=ΔH-T ΔS (3-21)

所以只要求得恒温过程的△H 和△S ,就可以由式(3-21)求出该恒温过程的ΔG 。

(2)恒温的单纯p 、V 变化过程 对于理想气体的恒温且不做非体积功的过程,其△H=0,2112

ln ln V p S nR nR V p ?==,代入式(3-21)得 1221

ln ln V p G nR nR V p ?== (3-22) (3)相变化过程 由于可逆相变过程是在恒温恒压且不做非体积功的条件下发生的,根据吉布斯函数判据,可得可逆相变过程

0G βα?=

对于不可逆相变过程G βα?的计算,需设计一个包含可逆相变途径来求得。

[例题3-7] lmol 理想气体137℃时,自l00kPa 压缩至2000kPa ,计算其过程的ΔG 。 解:根据式(3-22)得

2142000ln 18.314(137273)ln 1001.0211010.21p G nR p J kJ

?==??+?=?=

本章小结

1、热力学第二定律的主要内容;

2、熵函数、吉布斯函数的定义式;

3、熵增原理、克劳修斯不等式、吉布斯函数判据判断过程是否能自发进行;

4、熵变、吉布斯函数变的计算。

Python 实验8 函数1

实验8 函数(一)实验目的: 1、理解自定义函数过程的定义与调用方法; 2、掌握自定义函数的定义与调用方法; 3、理解函数中的参数的作用; 实验内容: 1、编写一函数Fabonacci(n),其中参数n代表第n 次的迭代。While循环 def fib(n): if n==1 or n==2: return 1 a=1 b=1 i=2 while True: c=a+b a=b b=c i+=1 #第i次迭代,也就就是第i个数 if i==n: return c break def main(): n=input("Enter a number of generation:") print fib(n) main() 或者用for循环 def fib(n): a=1 b=1 c=0 if n==1 or n==2: return 1 else: for i in range(3,n+1): c=a+b a=b b=c return c def main(): n=input("enter n:") print fib(n) main() 2、编写一函数Prime(n),对于已知正整数n,判断该数就是否为素数,如果就是素数,返回True,否则返回 False。 def prime(n): if n<2: return False a=0 for i in range(1,n+1): if n%i==0: a+=1 if a>2: return False else: return True def main(): n=input("Enter a number:") print prime(n) main() Or: def prime(n): if n<2: return False if n==2: return True for i in range(2,n): if n%i==0: return False return True def main(): n=input("Enter a number:") print prime(n) main()

浙师大 C语言 实验10函数2+答案

上机实验十函数与程序结构 学号姓名 一.目的要求 1.掌握函数声明、定义和调用的基本方法 2.掌握用递归函数解决问题的方法。 3.掌握局部变量与全局变量的作用域区别 4.掌握数组作为函数参数的基本方法。 二.实验内容 【实验题1】 分析如下: Line 2中的变量k是_全局_变量;而Line 10中的k是__局部_变量。程序输出结果是k=1,k=1,k=1 。 如果将第10行改为“static int k=1;变量,程序输出结果是k=1,k=2,k=1 。 如果将第10行改为“k=1; ”,该k变量,程序输出结果是k=1,k=1,k=2 。 如果将第10行改为空语句“; ”后,,程序输出结果是k=1,k=2,k=3 。 【实验题2】程序填空:输入一个整数n (1≤n≤10),再输入n个整数,将它们按升序排列后输出。 程序分析_选择法: (1)由于n最大是10,需要定义一个长度为10的整型数组a; (2)整个排序只需要确定前n-1个元素(a[0] ~a[n-2]),最后一个元素a[n-1]无需另外处理; (3)在确定a[i](i=0,1,…,n-2)时,先将a[i]本身看成最小,即令k=i, 并将a[k]与后面的元素a[j](j=i+1, i+2, …, n-1)一一比较, 如果a[j]< a[k],则更新k的值:k =j。找出对应于下标i的最小元素a[k]后,交换a[i]与a[k]。(4)上述排序算法的代码:

运行程序,输入n: 5,输入5个整数:23 -9 14 0 -3,显示结果为: 如果是按从大到小的降序排列,语句行Line 13 应改为:if(a[k]> a[j] ) k=j; [思考题]程序填空: 将上述的程序用函数调用的方式去实现。定义一个sort()函数来实现数组的排序;在main()函数中调用sort()函数来实现数组的排序,并将结果输出。

亥姆霍兹自由能和吉布斯自由能的区别

亥姆霍兹自由能(Helmholtz free energy): F=U-TS, U 是系统的内能,T 是温度,S 是熵。(注意与吉布斯自由能的区别) 吉布斯自由能(Gibbs free energy): G=H-TS , H为焓,S为熵,T为当前温度 由于吉布斯自由能G 可以表示为G = F + pV,另有G = μN,所以F = μN –pV;亥姆霍兹自由能的微分形式是:dF = - SdT - PdV + μdN 其中P 是压强,V 是体积,μ是化学势 在统计物理学中,亥姆霍兹自由能是一个最常用的自由能,因为它和配分函数Z直接关联:F = -kTlnZ 吉布斯自由能的微分形式是: dG = ? SdT + Vdp + μdN, 其中μ是化学势,也就是说每个粒子的平均吉布斯自由能等于化学势; ΔG叫做吉布斯自由能变(吉布斯自由能判据) 吉布斯自由能的变化可作为恒温、恒压过程自发与平衡的判据。 吉布斯自由能改变量。表明状态函数G是体系所具有的在等温等压下做非体积功的能力。反应过程中G的减少量是体系做非体积功的最大限度。这个最大限度在可逆途径得到实现。反应进行方向和方式判据。 (功函判据) 亥姆霍兹函数是一个重要的热力学参数,等于内能减去绝对温度和熵的乘积:两个状态差值的负数等于一个可逆等温等容过程的最大功输出。 亥姆霍兹自由能是等温下做所有功的能力,亦称功函 吉布斯自由能是等温等压下除体积功以外的功的能力 玻尔兹曼常数(Boltzmann constant)(k 或kB)是有关于温度及能量的一个物理常数: 记为“K”,数值为:K=1.3806488(13)×10^-23J/K 理想气体常数等于玻尔兹曼常数与阿伏伽德罗常数的乘积: R=kN; 熵函数 熵可以定义为玻尔兹曼常数乘以系统分子的状态数的对数值: S=k㏑Ω; 焓变熵变 焓 焓是物体的一个热力学能状态函数,即热函:一个系统中的热力作用,等于该系统内能加上其体积与外界作用于该系统的压力的乘积的总和(Enthalpy is a combination of internal energy and flow work.)。 焓是一个状态函数,也就是说,系统的状态一定,焓的值就定了。 焓的定义式(物理意义)是这样的:H=U+pV [焓=流动内能+推动功] 其中U表示热力学能,也称为内能(Internal Energy),即系统内部的所有能量; p是系统的压力(Pressure),V是系统的体积(V olume) 。 焓变 焓变(Enthalpy changes)即物体焓的变化量。 焓变是生成物与反应物的焓值差。作为一个描述系统状态的状态函数,焓变没有明确的物理意义。

实验2:函数的应用

实验项目:函数的应用 实验目的: (1)掌握函数的定义和调用方法 (2)练习重载函数的使用 (3)练习使用系统函数 (4)使用debug调试功能,使用step into追踪到函数内部。 实验任务: 1.编写重载函数MAX1可分别求取两个整数,三个整数,两个双精度,三个双精度数的最大值。 2.用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。 实验步骤: 1.分别编写四个同名的函数max1,实现函数重载,在main()中测试函数功能。 int max1(int x, int y) { return (x>y?x:y); } int max1(int x, int y, int z) { int temp1=max1(x,y); return (y>z?y:z); } double max1(double x, double y) { return (x>y?x:y); } double max1(double x, double y, double z) { double temp1=max1(x,y); return (y>z?y:z); } void main() { int x1, x2; double d1, d2; x1 = max1(5,6); x2 = max1(2,3,4); d1 = max1(2.1, 5.6); d2 = max1(12.3, 3.4, 7.8); cout << "x1=" <=1000) {printf("please enter the num again! (num>=100&&num<1000) \n"); scanf("%d",&num);} if(fun(num)==1) printf(" yes \n"); else printf(" no \n");} 编写函数ss(n), 判断n是否为素数,是返回1,否返回0。编写main函数,输入一个数num,调用ss(num)函数,并输出函数的返回值。 #include "stdio.h" int ss(int n) {int i; for(i=2;i=n) return(1); else return(0);} main() { int num; scanf("%d",&num); if(ss(num)==1) printf(" yes \n"); else printf(" no \n");} 编写一个函数fun(n),计算n!,并编写main函数测试,在main函数中输入num,调用fun(num),输出计算的结果。 #include "stdio.h" long fun(int n) {long s=1; int i; for(i=1;i<=n;i++) s=s*i; return(s);}

实验二 函数的应用

实验二函数的应用 一、实验目的 1、掌握函数的定义和调用方法。 2、掌握函数实参与形参的对应关系。 3、掌握函数嵌套调用和递归调用的方法。 二、实验内容与步骤 1、写一个判断素数的函数,在主函数中输入一个整数,输出是否是素数的信息。 2、编写重载函数Max可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。 3、递归函数与非递归函数。 编写一个函数,求从n个不同的数中取r个数的所有选择的个数。其个数值为:n! C r n= r!*(n-r)! 其中:n!=n*(n-1)*(n-2)* (1) 要求: (1)分别用递归和非递归两种方式完成程序设计; (2)主程序中设计一个循环,不断从输入接收n和r的值,计算结果并输出,当用户输入0 0时,程序结束; (3)能检查输入数据的合法性,要求n>=1并且n>=r; (4)注意整数能存放的数据范围有限,如何解决? 提示: (1)可以用double数据类型来存放函数的计算结果。 (2)递归结束条件: 如果r=0,则C(n,r)=1; 如果r=1, 则C(n,r)=n。 测试数据: 输入:5 3 输出:10 输入:10 20 输出:Iput Invalid1 输出:50 3 输出:19600 输入:0 0 程序结束 思考问题:

(1)对各种数据类型的字长是否有了新的认识? (2)递归函数的书写要点是什么? (3)递归和非递归函数各有哪些好处? 4、求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数,用另一个函 数求最小公倍数。 要求: 两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,然后再和两个整数一起作为实参传递给函数2,以求出最小公倍数,再返回到主函数输出最大公约数和最小公倍数。

实验6函数习题及答案

实验6 函数 班级:学号: 姓名:日期: 一、实验目的 (1)掌握定义函数的方法; (2)掌握函数实参与形参的对应关系,以及“值传递”的方式; (3)掌握函数的嵌套调用和递归调用的方法; (4)掌握全局变量和局部变量、动态变量和静态变量的概念和使用方法; (5)学习对多文件的程序编译和运行。 二、实验内容 1.阅读下面程序,写出程序运行结果,并且上机进行验证。 (1)a1.cpp 变量的虚实耦合,实现的是值传递,是单向传递 #include "stdio.h" int swap(int a,int b) { int c,s; c=a; a=b; b=c; s=a+b; return s; } void main() { int a,b,s; a=3;b=4; s=swap(a,b); printf("a=%d b=%d s=%d\n",a,b,s); } (2)a2.cpp

将十进制数26的各位数字相乘 #include "stdio.h" int fun(int num) { int k=1; do { k*=num %10; / num/=10; }while(num); return(k); } void main() { int n=26; printf("%d\n",fun(n)); } (3)a3.cpp 变量的作用域,当在函数内定义了与全局变量同名的局部变量时,全局变量被屏蔽#include "stdio.h" int a=3,b=5,c; void f(int b) { c=a+b; printf("%d %d %d\n",a,b,c); } void main() { int a=8; f(3); printf("%d %d %d\n",a,b,c); } (4)a4.cpp 递归,将十进制11转换为二进制 #include "stdio.h" void dtob(int n) { int i;

亥姆霍兹自由能和吉布斯自由能的区别

亥姆霍兹自由能(Helmholtz freeenergy): F=U-TS, U 就是系统得内能,T 就是温度,S就是熵。(注意与吉布斯自由能得区别) 吉布斯自由能(Gibbsfree energy): G=H-TS , H为焓,S为熵,T为当前温度 由于吉布斯自由能G 可以表示为G= F+ pV,另有G = μN,所以F= μN –pV; 亥姆霍兹自由能得微分形式就是:dF= - SdT - PdV+μdN?其中P 就是压强,V 就是体积,μ就是化学势 在统计物理学中,亥姆霍兹自由能就是一个最常用得自由能,因为它与配分函数Z直接关联:F = —kTlnZ 吉布斯自由能得微分形式就是: dG=?SdT + Vdp +μdN, 其中μ就是化学势,也就就是说每个粒子得平均吉布斯自由能等于化学势; ΔG叫做吉布斯自由能变(吉布斯自由能判据) 吉布斯自由能得变化可作为恒温、恒压过程自发与平衡得判据。 吉布斯自由能改变量.表明状态函数G就是体系所具有得在等温等压下做非体积功得能力。反应过程中G得减少量就是体系做非体积功得最大限度。这个最大限度在可逆途径得到实现。反应进行方向与方式判据。 (功函判据) 亥姆霍兹函数就是一个重要得热力学参数,等于内能减去绝对温度与熵得乘积:两个状态差值得负数等于一个可逆等温等容过程得最大功输出. 亥姆霍兹自由能就是等温下做所有功得能力,亦称功函 吉布斯自由能就是等温等压下除体积功以外得功得能力

? 玻尔兹曼常数(Boltzmannconstant)(k 或kB)就是有关于温度及能量得一个物理常数: 记为“K”,数值为:K=1、3806488(13)×10^-23J/K 理想气体常数等于玻尔兹曼常数与阿伏伽德罗常数得乘积: R=kN; 熵函数 熵可以定义为玻尔兹曼常数乘以系统分子得状态数得对数值: S=k㏑Ω; 焓变熵变 焓 焓就是物体得一个热力学能状态函数,即热函:一个系统中得热力作用,等于该系统内能加上其体积与外界作用于该系统得压力得乘积得总与(Enthalpy is a bination of internalenergyand flowwork、)。 焓就是一个状态函数,也就就是说,系统得状态一定,焓得值就定了。 焓得定义式(物理意义)就是这样得:H=U+pV[焓=流动内能+推动功] 其中U表示热力学能,也称为内能(Internal Energy),即系统内部得所有能量; p就是系统得压力(Pressure),V就是系统得体积(Volume)。 焓变

实验4-1 函数的应用的答案

实验4 函数的应用 【实验目的】 1掌握函数声明、定义和调用的方法; 2了解函数调用的实参与形参的传递,以及参数默认值的设置。 3掌握重载函数的实现方法。 4理解递归和嵌套函数的概念、定义与调用。 【实验内容】 ⒈分别输入整数半径和实数半径,使用函数重载计算圆的面积。 #include #define PI 3.14 int area(int); float area(float); void main() { int r1; cout<<"Input a integer r="; cin>>r1; cout<<"area="< void fun (int x,int y ); main() {int x=5,y=3; fun(x,y); printf("%d,%d\n",x,y); } void fun (int x,int y ) { x=x+y; y=x-y;

x=x-y; printf("%d,%d\n",x,y); 3.#include int f (int a); main() { int s[ 8 ] = {1,2,3,4,5,6} ,i, d=0; for (i=0; f( s[i] ) ; i++) d+=s[i]; printf("%d\n",d); } int f(int a) { return a%2; } 4.#include long f( int g) { switch(g) { case 0:return 0; case 1: case 2: return 1; } return ( f(g-1)+ f(g-2)); } main ( ) { long int k; k = f(7); printf("\nk= %d\n",k); }

实验八 函数含答案

实验八函数 【目的与要求】 1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。 2.了解主调函数和被调函数之间的参数传递方式。 【上机内容】 【一般示例】 【例1】将打印18个"*"组成星形线定义为一个返回值和形参列表都为空的函数,通过主函数调用它。 #include void Star(void) //画星形线。函数没有返回值,形参列表也为空 { int i; for(i=1;i<=18;i++) printf("*"); //18个"*"组成星形线 printf("\n"); return ; //返回值类型为void,return后不带表达式,此句可省略 } int main() { Star( ); //单独的函数调用语句,实参表为空,但必须保留括号 printf("I love C language!\n"); Star( ); return 0; } 【例2】调用prime 函数以每行5个素数的格式输出100到200之间的所有素数。

#include #include int prime(int m) //判断素数函数定义 { int i,k,f=1 ; //函数内定义3个变量 if (m==1) //形参若为1 f=0 ; //形参若为1,非素数 k=(int)sqrt(m); for (i=2; i<=k;i++) if (m%i==0) //m被某除数整除 f=0 ; //则不是素数 return f ; //用return语句返回 } //函数体结束 int main( ) { int i,count=0; for (i=101;i<200;i=i+2) //用i作为循环控制变量,从101开始,步长为2 if (prime(i)) //对每一个i,调用prime函数判断它是否为素数 { printf("%5d",i); //如果是素数,输出该素数i count++ ; //素数个数加1 if (count%5==0 ) //每输出5个素数换一行 printf("\n"); }

化学反应的吉布斯自由能变化

化学反应的标准右布斯自由能变化r G m 0是反应产物与反应物都处于标准态下化学势之差。化学反应的吉布斯自由能变化r G m 是反应产物和反应物皆处于任意状态下化学势之差。 r G m ?与r G m 是两个含义不同的物理量。在等温等压条件下,任何物质的i 0都有定值,所以任何反应的r G m ?都有是常数;但由化学反应的等温式可知r G m 不但与r G m ?有关,即与Q a 有关,所以在等温等压条件下r G m 不是常数。换言之, r G m ? >0的化学反应未必不能正向自发进行,可以通过Q a 值的调整使反应的r G m <0,反应即能正向自发进行。例如氨合成反应,在673K 时,如果N 2、H 2和NH 3的分压都是101325Pa ,此时r G m ? = kJ mol -1,这个数值大于零,在该条件下r G m >0,反应不能正向自发进行。若改变N 2、H 2和NH 3的分压,则可使r G m <0,反应便能正向自发进行。式业合成氨就是这种情况下实现的。 r G m ? 虽然不能用来指示反应的方向,但可以用来估计反应的可能性。等 温式告诉我们,如果r G m ? 的绝对值很大,则r G m 的正负号在一般情况下可能与r G m ? 一致。譬如, r G m ? 有很大的负值,若要使改变符号,Q a 必很大,这在实际上有时是难以实现的。例如反应: Zn(s)+1/2O 2(g)===ZnO(s) 在298K 时,该反应的r G m ? =-mol -1.根据r G m ? =-RTlnK ? ,K P P O 0012 12 (/), 解得氧气的平衡分压P O 2=×10-107 Pa.要使r G m >0,即Zn 不被氧化,氧的分压要 小于×10-107 Pa ,因此Zn 在空气中能自动地被氧化,而且反应很彻底。 同理,如果r G m ? 的正值很大,亦决定了r G m 也为正。这就是说,在标准状态下反应不能正向自发进行,在一般的条件下反应也不能正向自发进行。 一般说来,大约以42 kJ mol -1为界限,当r G m ? <-42 kJ mol -1时,可认为反应能正向自发进行; 当r G m ? >-42 kJ mol -1时,反应不能正向自发进行。 r G m ?不但可以用来指示反应的限度, 估计反应的方向,而且可以用来计算反应的标准平衡常数K ?,由此得到平衡组成,这就决定了r G m ? 在讨论化学平衡问题时的极其重要的作用。 规定:在标准压力和一切温度下,各种最稳定单质的生成吉布斯自由能等于零。那么由最稳定单质生成单位物质的量某物质时反应的r G m ? 就是该物质的标准生成吉布斯自由能,以符号“r G m ? ”表示。

化学反应的吉布斯自由能变化

3标准摩尔吉布斯自由能变()的计算和反应方向的判断 标准态时,吉布斯公式(2.1.2)变为: =- T(2.1.3) 显然,等温、等压下反应在标准态时自发反应判据是: < 0 除可根据式(2.1.3)求算外,还可由标准摩尔生成吉布斯自由能 求算。在标准态下,由最稳定的纯态单质生成单位物质的量的某物质时的吉布斯 自由能变称为该物质的标准摩尔生成吉布斯自由能(以表示)。根据此定义, 不难理解,任何最稳定的纯态单质(如石墨、银、铜、氢气等)在任何温度下的标 准摩尔生成吉布斯自由能均为零。 反应的吉布斯自由能变()与反应焓变()、熵变()的计算原 则相同,即与反应的始态和终态有关,与反应的具体途径无关。在标准态下,反 应的标准摩尔吉布斯自由能变()可按下式计算: =Σνi(生成物) + Σνi(反应物) (2.1.4) 这里需要指出,由于温度对焓变和熵变的影响较小,通常可认为(T) ≈ (298.15K)、(T) ≈ (298.15K)这样任一温度T时的标准摩尔 吉布斯自由能变可按下式作近似计算: (T) =(T) - T(T) ≈ (298.15K) - T(298.15K) (2.1.5) 4非标准态摩尔吉布斯自由能变(Δr G m)的计算和反应方向的判断 在实际中的很多化学反应常常是在非标准态下进行的。在等温等压及非标准 态下,对任一反应来说:

c C + d D─→ y Y +z Z 根据热力学推导,反应摩尔吉布斯自由能变有如下关系式: Δr G m = + RT ln J(2.1.6) 此式称为化学反应等温方程式,式中J为反应商。 对于气体反应: 对于水溶液中的(离子)反应: 由于固态或液态处于标准态与否对反应的Δr G m影响较小,故它们在反应商 (J)式中不出现。例如反应: MnO2(s) + 4H+(aq) + 2Cl-(aq)─→ Mn2+(aq) + Cl2(g) + 2H2O (l) 非标态时:Δr G m = + RT ln J其中:

C语言:函数的应用实验报告

课程名称:结构化程序设计与C语言开课实验室:年月日 一、实验目的 用C语言编写和调试函数的程序。从而对函数的定义、调用、全局变量的灵活运用有比较深入的了解。 二、内容及结果 1、程序一素数函数 1)程序要求:写一个判断是否是素数的函数,在主函数输入一个整数,调用它后输出结果。2)代码: #include #include int prime(int n) { int i,k; k=sqrt(n); for(i=2;i<=k;i++) if(n%i==0) break; if(i<=k) return 0; else

return 1; } int main() { int prime(int n); int n; printf("Please enter n:"); scanf("%d\n",&n); if(prime(n)==1) printf("%d is a prime number",int(n)); else printf("%d is not a prime number",int(n)); } 3)运行截图: 2、程序二用递归方法求n阶勒让德多项式的值 1)程序要求: 递归公式为: 当n=0,= ) (x P n 1 当n=1, = ) (x P n x; 当n>=1, = ) (x P n((2n-1)x-P n-1(x)-(n-1)P n-2 )x))/n 2)代码: #include

#include int p(int n,int x); void main() { int n,x; scanf("%d",&x); for(n=0;n<=10;n++) printf("p(%d,%d)=%d\n",n,x,p(n,x)); } int p(int n,int x) { if(n==0) return 1; else if(n==1) return x; else return((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n; } 3)运行截图:

亥姆霍斯自由能与吉布斯自由能

2.4 亥姆霍兹自由能和吉布斯自由能 2.4.1 为什么引入亥姆霍兹自由能和吉布斯自由能 从热力学第一定律和第二定律,我们分别得到了两个状态函数----内能和熵,为便于处理热化学问题,定义了辅助状态函数----焓。并得到了熵判据:T Q dS δ≥ 但用熵判据判断过程的方向时,必须是隔离体系,或者是考虑环境的封闭体系,这很不方便。因此,有必要引入新的函数,利用体系自身的某种变化值判断其自发变化的方向,而不用考虑环境。为此亥姆霍兹和吉布斯分别定义了两个新的函数,这两个函数和焓一样,都是人为定义的辅助函数,不是热力学定律的直接结果,但它们都是体系自身的性质,是状态函数。 结合第一定律W Q dU δδ+=和第二定律T Q dS δ≥,得T W dU dS δ-≥,因T >0,故有:W dU TdS δ-≥,该式在不同的条件下,有不同的表现形式。 2.4.2.亥姆霍兹自由能和亥姆霍兹自由能判据 在等温下,0=dT ,故: )(TS d TdS =,则有: W )TS U (d δ-≥-- 令: TS U F -≡ 或 TS U A -≡————亥姆霍兹自由能 则: W dA δ-≥- 或 W dA T δ≤ 由于U 和TS 均为状态函数,故A 也是状态函数,称为亥姆霍兹自由能或亥姆霍兹函数,也称功焓. 此式的意义是:在等温可逆过程中,封闭体系的亥姆霍兹自由能的减少等于体系对外所得做的最大功(含体积功和非体积功)。故亥姆霍兹自由能可视为等温条件下体系作功的本领。这是该函数被称为功焓的原因。若过程不可逆,则体系亥姆霍兹自由能的增加小于体系所获得的功。因而,可用该式来判断过程的方向性。 若体系经历一个等温等容过程,则: f f f e W W pdV W W W dA δδδδδ=+-=+=≤ 即: f W dA δ≤.这说明在等温等容过程中,体系亥姆霍兹函数的增加小于等于体系所获得 的非体积功,或体系亥姆霍兹函数的减少大于等于体系对外所做的非体积功(f W dA δ-≥-)。 若体系在等温等容且不做其它功的情况下,则:0≤?A ——亥姆霍兹自由能判据。 因此,亥姆霍兹自由能又称为等温等容位。

C++语言程序设计实验答案-函数的应用

C++语言程序设计实验答案-函数的应用

实验03函数的应用(2学时) (第3章函数) 一、实验目的 (1) 掌握函数的定义和调用方法。 (2) 练习重载函数的使用。 (3) 练习使用系统函数。 (4) 学习使用Visual Studio 2010的调试功能,使用“逐语句”追踪到函数内部。 二、实验任务 3_1(习题3-8)编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。 3_2 编写重载函数Max1可分别求取2个整数、3个整数、2个双精度数、3个双精度数的最大值。 3_3 使用系统函数pow(x, y)计算x y的值,注意包含头文件cmath。 3_4(习题3-13)用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。

三、实验步骤 1.(编程,习题3-8)把华氏温度转换为摄氏温度。 编写函数float Convert(float TempFer),参数和返回值都为float类型,实现算法 C=(F-32)*5/9,在main()函数中实现输入、输出。程序名:lab3_1.cpp。 ★程序及运行结果:(注意:定义的函数头是float Convert(float TempFer)) //lab3_1(习题3-8) #include using namespace std; float Convert(float TempFer); void main(){ float f; cout<<"输入一个华氏温度值:"; cin>>f; cout<<"华氏温度"<

度的值是"< using namespace std; int Max1(int a,i n t b){

吉布斯自由能

@ 吉布斯自由能 定义 ΔG=ΔH-TΔS (Kj/mol) 吉布斯自由能相关书籍封面(1) G叫做吉布斯自由能。因为H、T、S均为状态函数,所以G为状态函数。 特点 ΔG叫做吉布斯自由能变化 、 吉布斯自由能的变化可作为恒温、恒压过程自发与平衡的判据。 吉布斯自由能改变量。表明状态函数G是体系所具有的在等温等压下做非体积功的能力。反应过程中G的减少量是体系做非体积功的最大限度。这个最大限度在可逆途径得到实现。反应进行方向和方式判据。 吉布斯自由能的变化可作为恒温、恒压过程自发与平衡的判据。 范特霍夫等温公式 吉布斯自由能随温度和压强变化很大。为了求出非标准状况下的吉布斯自由能,可以使用范特霍夫等温公式: ΔG = ΔG0 + RT \ln J 其中,ΔG0是同一温度、标准压强下的吉布斯自由能,R是气体常数,J是反应熵。 温度的变化在ΔG0的使用上表现出来,不同的温度使用不同的ΔG0。非标准状况的ΔG0需要通过定义式(即吉布斯等温公式)计算。压强或浓度的变化在J的表达上表现出来。 】 研究对象 >W非反应以不可逆方式自发进行 =W非反应以可逆方式进行

<0 反应以不可逆方式自发进行 =0 反应以可逆方式进行 >0 不能进行 * 等温等压下体系的吉布斯自由能减小的方向是不做非体积功的化学反应进行的方向。 任何等温等压下不做非体积功的自发过程的吉布斯自由能都将减少。 标准自由能 在温度T时,当反应物和生成物都处于标准态,发生反应进度 标准自由能推理过程 为1 mol的化学反应Gibbs自由能的变化值,称为标准摩尔反应吉布斯自由能变化值,用表示标准吉布斯自由能与一般反应的吉布斯自由能的关系: # 标准自由能变化 标准自由能变化(△GO):相应于在一系列标准条件(温度298K,压力1atm(=),所有溶质的浓度都是不是mol/L)下发生的反应自由能变化。△GO′表示条件下的标准自由能变化。 平衡常数 在等温等压反应中,如果吉布斯自由能为负,则正反应为自发,反之则逆反应自发。如果为0,则反应处于平衡状态。此时,根据范特霍夫等温公式,ΔG = ΔG0 + RT \ln J,J变成平衡常数,于是有: ΔG0 = -RT ln K 要注意,使用范特霍夫等温公式时,ΔG和ΔG0的温度一定要相等。 这样,我们可以推出以下结论: ΔG0>0时,K<1; ¥ ΔG0=0时,K=1; ΔG0<0时,K>1。 自由能做功 有人可能会问:为什么单单用等温等压过程系统向环境作最大有用功的能力而不用包括气体膨

相关文档
最新文档