亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用VB程序解決化學(xué)平衡的計(jì)算例析

        2010-12-31 00:00:00王國(guó)勇
        化學(xué)教學(xué) 2010年7期

        文章編號(hào):1005-6629(2010)07-0070-03 中圖分類號(hào):G633.67 文獻(xiàn)標(biāo)識(shí)碼:B

        當(dāng)我們學(xué)習(xí)化學(xué)平衡的相關(guān)知識(shí)時(shí),化學(xué)平衡常數(shù)的計(jì)算列出的方程,有時(shí)可能是一個(gè)難以求解的高次方程,只有通過近似估計(jì),反復(fù)使用計(jì)算器試根,才能得出近似解。由此,我想到可以編寫一個(gè)自動(dòng)執(zhí)行這一過程的電腦程序,以幫助我們完成計(jì)算。程序使用VB編寫,操作界面友好易懂,算法采用二分法、窮舉、循環(huán)等簡(jiǎn)單的語句完成。完成了在定容這一題目常見條件下對(duì)于一般平衡計(jì)算題型的求解,也增強(qiáng)了同學(xué)們使用VB語言解決問題的能力。

        1引言

        有關(guān)化學(xué)平衡的計(jì)算題相信很多高中的學(xué)生都經(jīng)常遇到,相比于整個(gè)化學(xué)平衡對(duì)邏輯思維的高要求,這種給定初始情況和平衡常數(shù),要求計(jì)算最終平衡情況的題目,在思路上是沒有難度的,但卻常常因高次方程難以求解的問題而無法得出結(jié)果。下面,舉這樣一個(gè)例子。

        已知?dú)庀喾磻?yīng),2SO2+O22SO3, 在一定溫度時(shí)體積恒定為1 L的密閉容器中,充入0.4 mol的二氧化硫和1.0 mol氧氣。已知平衡常數(shù)為19,求反應(yīng)平衡時(shí)二氧化硫轉(zhuǎn)化率。

        解:初始濃度 二氧化硫 0.4 mol·L-1氧氣1.0 mol·L-1

        設(shè)二氧化硫反應(yīng)掉x mol·L-1

        則氧氣反應(yīng)掉 x/2 mol·L-1

        由平衡常數(shù)定義計(jì)算式可列方程:

        x2/[(0.4-x)2 (1-x/2)]=19

        這是一個(gè)三次方程,顯然x取值范圍為0~0.4,當(dāng)x等于0.3時(shí)仍然偏小,使用計(jì)算器計(jì)算x在 0.3~0.4之間左式的值,步長(zhǎng)0.01,結(jié)果如下:

        可見,當(dāng)x=0.32時(shí),左式值為19.047約等于右式,則x=0.32為方程近似解。

        所以, 二氧化硫轉(zhuǎn)化率為0.32÷0.4×100%=80%

        由對(duì)此題的求解過程,我們發(fā)現(xiàn),其實(shí)類似的高次方程是有特點(diǎn)的:

        (1)對(duì)于化學(xué)平衡中我們所涉及的反應(yīng)物消耗量x mol。它是有范圍的,其范圍為零到初始濃度之間。所以我們所求的高次方程解也在這個(gè)范圍間。

        (2)此類化學(xué)計(jì)算中,一般用有一定近似程度的小數(shù)表示,所以,只要精確度達(dá)到要求,方程近似解可以作為最終的答案。

        (3)使用計(jì)算器的時(shí)候,由于反復(fù)運(yùn)算同一個(gè)方程,可以用計(jì)算機(jī)中的循環(huán)語句完成這一循環(huán)計(jì)算過程。

        由此,我編寫了“定容化學(xué)平衡計(jì)算程序”我們可以借助計(jì)算機(jī)解決這個(gè)問題,既增強(qiáng)了同學(xué)們的學(xué)習(xí)興趣,又可促進(jìn)同學(xué)們對(duì)VB語言的掌握和應(yīng)用。

        2 程序算法詳解

        在前文中,我們得到方程x2/[(0.4-x)2(1-x/2)]=19,將其展開,設(shè)定函數(shù)F(x)=x2 -19*[(0.4-x)2 (1-x/2)], 原方程的解,轉(zhuǎn)化為求F(x)的零點(diǎn)。其實(shí), 對(duì)于一個(gè)化學(xué)方程式: aA+bB+cC=dD+eE+fF A、B、C、D、E、F分別為參與反應(yīng)的氣體物質(zhì),a、b、c、d、e、f為對(duì)應(yīng)的系數(shù),即化學(xué)方程式計(jì)量數(shù)。假設(shè)平衡常數(shù)為K。初始濃度分別為 ca , cb , cc , cd , ce , cf 。同樣我們可以得到函數(shù):fx=((cd+x/a*d)d) * ((ce+x/a *e)e)*((cf+x/a*f)f)-k*((ca-x)a)*((cb-x/a*b)b)*((cc-x/a*c)c)這是達(dá)到平衡時(shí), 假設(shè)A轉(zhuǎn)化x mol·L-1, 由方程式對(duì)應(yīng)得出其它物質(zhì)濃度變化所列計(jì)算式。

        而當(dāng)給定初始條件平衡逆移時(shí),假設(shè)D轉(zhuǎn)化x mo·L-1,則有:

        fx=((cd-x)d)*((ce-x/d*e)e)*((cf-x/d*f)f)-k*((ca+x/d *a)a)*((cb+x/d*b)b)*((cc+x/d*c)c)

        下面,我們對(duì)第一種情況進(jìn)行具體講解,第二種情況算法是完全相同的。

        x有一定范圍,所以,起始x從其最大值,即x=ca開始。

        2.1二分法縮小范圍

        其語句如下:

        x=ca

        Do

        fx=((cd+x/a*d)d)*((ce+x/a*e)e)*((cf+x/a*f)f)-k*((ca-x)a)*((cb-x/a*b)b)*((cc-x/a*c)c)

        x=(x/2)

        Loop Until (f(x)) < 0

        對(duì)于x,執(zhí)行循環(huán),每一次都將上一個(gè)x的值除以2,因?yàn)楫?dāng)x=ca時(shí),fx顯然是大于零的,而不斷的等分x,當(dāng)(f(x))<0時(shí)終止循環(huán),此時(shí),前一個(gè)x所對(duì)應(yīng)的函數(shù)值仍然大于零。所以,下面的循環(huán)語句,將在縮小后的范圍內(nèi)求解x,由于2分法的高效性,大大減少了運(yùn)算次數(shù),相應(yīng)縮短了運(yùn)算時(shí)間。

        2.2窮舉求出x近似值

        當(dāng)?shù)谝徊娇s小過范圍后,找到一個(gè)x

        其后語句如下

        x1=x*4

        x2=x*4-0.00001

        Do

        fx1=((cd+x1/a*d)d)*((ce+x1/a*e)e)*((cf+x1/a*f)f)-k *((ca-x1)a)*((cb-x1/a*b)b)*((cc-x1/a*c)c)

        fx2=((cd+x2/a*d)d)*((ce+x2/a*e)e)*((cf+x2/a*f)f)-k *((ca-x2)a)*((cb-x2/a*b)b)*((cc-x2/a*c)c)

        x3=(x1+x2)/2

        x1=x1-0.00001

        x2=x2-0.00001

        Loop Until ((fx1) * (fx2)) <= 0

        x1=x*4,是因?yàn)榍懊娴恼Z句循環(huán)時(shí),找到x后多除了一次2,所以乘2,且需要的是之前x的值,所以再乘2。同樣,x2=x*4-0.00001。設(shè)這兩個(gè)x以及兩個(gè)fx的意義如圖1:

        這兩個(gè)x從初始開始在循環(huán)語句中,間隔是始終不變的,分別對(duì)應(yīng)各自函數(shù)值,當(dāng)我們從初始值開始遞減,兩條豎線不斷左移,fx1*fx2的值始終是大于零的,而當(dāng)移動(dòng)到某一位置,兩條豎線分居零點(diǎn)左右或者有可能剛好其中一條位居零點(diǎn),此時(shí)f(x1)*f(x2)<=0,循環(huán)結(jié)束,因?yàn)閤1,x2間隔始終為0.00001很小,可取x1,x2平均值x3為最終結(jié)果。

        而當(dāng)平衡逆移,即前文所說的第二種情況,其代碼如下:

        Do

        fx=((cd-x)d)*((ce-x/d*e)e)*((cf-x/d*f)f)-k*((ca+x/d*a)a)*((cb+x/d*b)b)*((cc+x/d*c)c)

        x=(Int((x/2)*10000000))/10000000

        Loop Until (f(x))>0

        x1=x*4

        x2=x*4-0.00001

        Do

        fx1=((cd-x1)d)*((ce-x1/d*e)e)*((cf-x1/d*f)f)-k*((ca+x1/d*a)a)*((cb+x1/d*b)b)*((cc+x1/d*c)c)

        fx2=((cd-x2)d)*((ce-x2/d*e)e)*((cf-x2/d*f)f)-k*((ca+x2/d*a)a)*((cb+x2/d*b)b)*((cc+x2/d*c)c)

        x3=(x1+x2)/2

        x1=x1-0.00001

        x2=x2-0.00001

        Loop Until (f(x1)* (f(x2)) <= 0

        唯一的不同就是,二分法時(shí),判斷語句為fx>0,這是因?yàn)楹瘮?shù)在這附近是單減的,初始X值時(shí),fx為負(fù)。而第二步完全相同,因?yàn)閮蓚€(gè)負(fù)數(shù)相乘的積也是正數(shù),所以判斷語句仍為fx1*fx2<0。

        而對(duì)于初始反應(yīng)方向的判斷,由if……then,語句完成。判斷F(X)=(cd^d)*(ce^e)*(cf^f)-k*(ca^a)*(cb^b) *(cc^c)的符號(hào),等于零表示初始就平衡,直接輸出結(jié)果,小于零,表示反應(yīng)正向進(jìn)行(注意!是正向!),即第一種情況,若大于零,則反應(yīng)逆向進(jìn)行,即第二種情況。

        在得出x結(jié)果后,六種物質(zhì)平衡時(shí)的最終濃度便都可以得解,相應(yīng)的轉(zhuǎn)化率也可以求出。

        3 整體程序的編寫設(shè)計(jì)及注意事項(xiàng)

        整體程序的完成包括以下幾部分

        3.1界面的設(shè)計(jì)

        為了讓人更直觀的使用本程序,我們使用VB的可視化窗口形式。整個(gè)界面上半部分為用戶輸入部分,下半部分為結(jié)果顯示部分,取消和刷新分別還原上下部分。點(diǎn)擊確定則由輸入的數(shù)據(jù)計(jì)算出結(jié)果并在下方顯示。

        3.2對(duì)于數(shù)據(jù)的讀入和輸出

        在VB里,使用text.text=的語句從用戶輸入的信息中讀取數(shù)據(jù)。要注意的是,當(dāng)反應(yīng)物或生成物沒有達(dá)到三個(gè)時(shí),會(huì)出現(xiàn)系數(shù)為零,此時(shí)會(huì)出現(xiàn)0^0,因此,在整個(gè)計(jì)算前,對(duì)系數(shù)判斷,若其系數(shù)等于零,濃度賦值為1,1^0=1,做乘法對(duì)計(jì)算結(jié)果無影響。當(dāng)然,在輸出的時(shí)候,要將濃度重新賦為0。對(duì)于a和d,因?yàn)槲夷J(rèn)按順序輸入,作為化學(xué)方程第一種物質(zhì)即運(yùn)算中的除數(shù),都是不能等于零的。

        3.3程序的不足

        (1)因?yàn)樾枰又庇^,化學(xué)計(jì)量數(shù)的輸入格式上已經(jīng)是方程式的形式,所以只能用于計(jì)算反應(yīng)物和生成物是三個(gè)或三個(gè)以內(nèi)的化學(xué)反應(yīng)方程式。而且因?yàn)橐詽舛扔?jì)算的時(shí)候固體和純液體是沒有意義的,所以,對(duì)于反應(yīng)物或生成物全是固液的方程,在程序里a,d等于零,已經(jīng)沒有意義無法計(jì)算,這是本程序最大的缺陷。但在高中所遇到的平衡題目?jī)?nèi),化學(xué)方程達(dá)到這兩個(gè)條件的相當(dāng)少見,而對(duì)于部分反應(yīng)物或生成物含有固液,只要量足夠且不影響反應(yīng),將剩余部分方程式輸入仍可以計(jì)算。

        (2)雖然已經(jīng)使用二分法縮小范圍,但對(duì)于初始濃度超過較大兩位數(shù)的情況程序出現(xiàn)明顯停頓,基本在30秒以上。

        4總結(jié)

        “定容化學(xué)平衡計(jì)算程度”只是一個(gè)小小的程序設(shè)計(jì),它有著許多的不足,但對(duì)于高中學(xué)生日常處理平衡計(jì)算問題,老師驗(yàn)證答案的正確都有一定的幫助,作為一種教學(xué)課件可以為初學(xué)者演示一些許小的變化引起平衡移動(dòng)的結(jié)果,激發(fā)學(xué)生的興趣。更重要的是,這也是一種解決問題的方式,面對(duì)一個(gè)無法得出的答案,可以借助計(jì)算機(jī)的幫助,以人的邏輯思考能力與計(jì)算機(jī)強(qiáng)大的計(jì)算能力相結(jié)合,充分利用學(xué)過的知識(shí),解決棘手的問題,這種思想在平常的學(xué)習(xí)中會(huì)幫助我們獲得更多的啟迪和靈感。

        亚洲欧美一区二区三区国产精| 人妻 偷拍 无码 中文字幕| 一区二区三区在线观看视频精品| 亚洲综合精品中文字幕| 欧美成人免费全部| 国产午夜福利精品| 极品少妇一区二区三区四区| 男女交射视频免费观看网站| 狠狠色噜噜狠狠狠777米奇小说| 久久久精品久久日韩一区综合 | 成人精品一级毛片| 久久精品人妻嫩草av蜜桃| 日本高清成人一区二区三区| 欧美性猛交xxxx乱大交极品| 人妻暴雨中被强制侵犯在线| 精品少妇爆乳无码aⅴ区| 蜜桃视频色版在线观看| 丝袜美腿国产一区二区| 67194熟妇人妻欧美日韩| 亚洲最新偷拍网站| 偷亚洲偷国产欧美高清| 日韩女优在线一区二区| 搡女人真爽免费视频大全| 国产欧美日韩一区二区三区在线| 欧美成人高清手机在线视频| 日本淫片一区二区三区| a级毛片免费观看在线播放| 白嫩少妇激情无码| 啪啪视频免费看一区二区| 中文字幕一区二区三区的| 国产成人精品电影在线观看| 日本精品一区二区三区在线视频| 国产一区二区三区观看视频| 亚洲成人福利在线视频| 亚洲日韩在线中文字幕综合| 久久久久国产精品免费免费搜索 | 天堂网站一区二区三区| 真人直播 免费视频| 亚洲日本无码一区二区在线观看| 熟妇人妻精品一区二区视频免费的| 亚洲精品久久|