Bài giảng Tin học ứng dụng trong hóa học - Mai Xuân Trường
Tóm tắt Bài giảng Tin học ứng dụng trong hóa học - Mai Xuân Trường: ... C V A L O A I T R U N G B I N 3 C M L T B 4 C K H O I D A U G I A T R I T O N G V A C A I D E M 5 D E M X = 0 6 T O N G X = 0 7 C D O C B I A T H A M S O 8 R E A D ( 5 , 1 0 0 ) X N , M L T B 9 C D O C X 10 R E A D ( 5 , 1 0 0 ) X 11 C T A N G C A I D E M V A T I C H L U Y T O N G...i ma trận trực giao nếu ma trận nghịch đảo của nó trùng với ma trận chuyển vị MT = M-1 . Ví dụ: ⎥⎥ ⎥ ⎦ ⎤ ⎢⎢ ⎢ ⎣ ⎡ θθ− θθ cossin0 sincos0 001 là ma trận trực giao, bởi vì: MT M = E ⎥⎥ ⎥ ⎦ ⎤ ⎢⎢ ⎢ ⎣ ⎡ = ⎥⎥ ⎥ ⎦ ⎤ ⎢⎢ ⎢ ⎣ ⎡ θθ− θθì ⎥⎥ ⎥ ⎦ ⎤ ⎢⎢ ⎢ ⎣ ⎡ θθ θ−θ 1...ạm - Đại học Thái Nguyên 71 Ch−ơng 6 : thực hμnh 6.1. vận hμnh máy Khởi động mỏy tớnh, copy, cài đặt và khởi động chương trỡnh PASCAL, thoỏt ra khỏi chương trỡnh PASCAL, tắt mỏy tớnh. 6.2. Nhập ch−ơng trình vμo máy tính Nhập cỏc chương trỡnh ở cỏc vớ dụ cú trong tài liệu và chạy thử. L...
=k*2; h:=h0/k; RK2(xa,ya,h0,k,y); if yold=0 then yold:=1; temp:=abs((y-yold)/yold); if temp<eps then goto 10; yold:=y; end; {4} write('Nghiem khong on dinh');readln; 10: ya:=y; xa:=xa+h0; end; {3} writeln(ipont:3,xa:10:4,ya:20:10); end; {2} END; 2.3. Giải hệ ph−ơng trình vi phân th−ờng Procedure RKSYS (xa,h0:real; YA: m1; k,ndim :integer; VAR Y1: m1); (* ndim là số ph−ơng trình của hệ ph−ơng trình vi phân FUNC là hàm liên hệ *) VAR h,h2,x : real; i,jj : integer; TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 91 YY,RK,Y : m1; BEGIN h:=h0/k; h2:=h/2; x:=xa; for i:=1 to ndim do Y[i]:=YA[i]; for jj:=1 to k do Begin {1} FUNC(x,Y, DERY); For i:=1 to ndim do Begin {2} YY[i]:=Y[i]+h2*DERY[i]; (*yo+h0 func/2*) RK[i]:=DERY[i]; End; {2} (*k1/h=func*) x:=x+h2; FUNC(x,YY,DERY); For i:=1 to ndim do Begin {3} YY[i]:=Y[i]+h2*DERY[i]; RK[i]:=RK[i]+ 2*DERY[i]; end; {3} (*2k2/h=2func*) FUNC(x,YY,DERY); For i:=1 to ndim do Begin {4} YY[i]:=Y[i]+h*DERY[i]; RK[i]:=RK[i]+ 2*DERY[i]; end; {4} (*2k3/h=2func*) x:=x+h2; FUNC(x,YY,Dery); For i:=1 to ndim do Begin {5} RK[i]:=RK[i]+ DERY[i]; (*k4/h = func*) Y[i]:=Y[i]+h*RK[i]/6.0; end; {5} End; {1} for i:=1 to ndim do Y1[i]:=Y[i]; END; (*End of RKSYS*) 3. Xấp xỉ nghiệm và hàm 3.1. Ph−ơng pháp chia khoảng giải gần đúng ph−ơng trình một ẩn. Procedure PPCK(a,b,eps: real; VAR x:real); VAR fa,fb : real; BEGIN fa:= FF(a); fb:= FF(b); while abs (a-b) > eps do begin {1} c:=(a+b)/2; x:= c; fc:= FF(x); d:= fa * fc; if d > 0 then begin {2} TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 92 fa:= fc; a:= c; end {2} else begin {3} fb:= fc; b:= c; end; {3} end; {1} END; trong đó có sử dụng FUNCTION FF(x). Khi dùng PPCK bạn cần soạn riêng một function FF(x) cho hàm số trong ph−ơng trình f(x) = 0. 3.2. Hồi quy đa thức Procedure HQDT(npont,m: integer; Y,X:m1; VAR A:m1); (* npont là số điểm thực nghiệm xác định Y và X *) (* m là bậc của đa thức, A là các hệ số của đa thức hồi quy*) VAR bm,tampon,i,npont,j,k :integer; ab: real; xx: array [ 1.. 10] of real; sum,sum2 : array [ 0..20] of real; a,aa : array [1..20,1..20] of real; function ymux(y,x:real): real; VAR kqtg : real; BEGIN kqtg:=x*ln(y); ymux:=exp(kqtg); END; procedure GHPTTT(n:integer; A:m2; VAR X:m1); BEGIN . END; BEGIN bm:= 2 * m; for k := 1 to bm do begin {1} sum[k]:= 0; for i:=1 to npont do sum[k] := sum[k] + ymux(x[i],k); end; {1} sum[0]:= npont; for k := 0 to m do begin {2} sum2[k]:= 0; for i:=1 to npont do sum2[k] := sum2[k] + y[i]*ymux(x[i],k); end; {2} for i:=1 to m+1 do (*cac he so cua he ptrinh tuyen tinh*) begin {3} for j:=1 to m+1 do Begin {4} tampon:=bm-i-j+2; a[i,j]:= sum[tampon]; aa[i,j]:=a[i,j]; end; {4} end; {3} TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 93 for j:= 1 to m+1 do begin {5} tampon:=m-j+1; a[j,M+2]:= sum2 [tampon]; aa[j,M+2]:=a[j,M+2]; end; {5} GHPTTT(m+1,AA,X); (* giai he pt tuyen tinh *); END; 4. Các ch−ơng trình nguồn 4.1. Tính cân bằng ion Fe3+ SCN- PROGRAM CBION_FE_SCN; (* He Fe3+- SCN- *) LABEL 10; VAR FX,FFX,C1,C2,epsilon,GAM,W,NDOH,NDH : real; delta,Y,CC1,CC2,sum1,sum2,sum2,sum4,PK : real; PKK : array[1..6] of real; K,x: array[1..10] of real; i,m,j : integer; PROCEDURE FUNC(X: real; VAR FX,FFX: real); VAR tamp1,tamp2,tamp2,tamp4 : real; i : integer; BEGIN sum1 := 0 ; sum2 := 0; sum2 := 0; sum4 := 0; FOR i:= 1 TO 6 DO begin {1} tamp1:= exp( i * ln ( x ) )* PKK[ i ]; tamp2:= tamp1 / i ; tamp2:=tamp2* i * i/ x; tamp4:=tamp2/i; sum1:=sum1 + tamp1; sum2:=sum2 + tamp2; sum2:=sum2 + tamp2; sum4:=sum4 + tamp4; end; {1} W:= 1 + sum2 + NDOH/K[7]; FX := X - C2 + X * NDH/K[8] + C1 * sum1/W; FFX:= 1 + NDH/K[8] + C1 * (sum2 * W - sum4*sum1)/W/W; END; BEGIN Write('Do chinh xac cua loi giai :=?'); Readln (epsilon); Writeln (' nhap hscb:'); for i:=1 to 8 do begin {2} write('InK[',i,']='); readln( K[i]); K[i]:=exp(K[i]); end; {2} (*Tap so lieu dung de tinh thu K[1]:=1; K[2]:=5; K[2]:=2; K[4]:=1.5; K[5]:=2; K[6]:=4; K[7]:=10;K[8]:=12; *) Write (' nhap Nong Do Fe3+'); READLN (C1); write(' nhap pH cua dung dich'); readln ( NDH); TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 94 NDH:=exp(-NDH); NDOH:=1.e-14/NDH; Write (' nhap Nong Do SCN- va the tich GIOT '); Readln (C2, GAM); Writeln ('nhap x10 dau'); Readln (x[10]); (* Vi du x[10] 1.e-5 *) Writeln ('GIA TRI ND CAC ION CAN BANG'); Writeln('FeSCN':12,'FeSCN2':12,'FeSCN2':12,'FeSCN4':12,'FeSCN5':12,'FeSC N6':12); Writeln('FeOH':20,'HCNS':12,'Fe':12,'SCN':12); {sau lan tinh dau, cac x dau duoc chon la x cua phep tinh truoc } (*tinh PKi*) for i:=1 to 6 do begin {3} PK:= 1; For M:= 1 to i do PK:= PK * K[M]; PKK[i]:= 1.0/PK; end; {3} i:=0; 10: FUNC (x[10],FX,FFX); j:=j+1; delta := FX/FFX; X[10] := X[10]- delta; IF abs(delta)> epsilon THEN GOTO 10; x[9]:=C1/W; x[8]:=x[10]*NDH/K[8]; x[7]:=x[9]*NDOH/K[7]; x[1]:=x[9]*x[10]/K[1]; for i:=2 to 6 do x[i]:=x[i-1]*x[10]/K[i]; for i:=1 to 6 do write(x[i]:12); writeln; write('':12); for i:=7 to 10 do write(x[i]:12); writeln; if (j mod 10) = 0 then readln; C2 := C2 + GAM; IF (C2/2) <= C1 THEN GOTO 10; Readln; END. 4.2. Ch−ơng trình mô hình thực nghiệm bậc 2 tâm trực giao đầy đủ Program MO_HINH_HOA_THUC_NGHIEM_ BAC_HAI_TAM_TRUC_GIAO_DAY_DU; Uses Crt; LABEL nn2,nn3,nn4; TYPE M1= array [1..60] Of real; im1= Array[1..10] of integer; M2 = Array [1..30,1..38] Of Real; VAR f1,f2,f3,ii,i,n,m,j,o,q,qs,l : integer; s1,r,sfh,ss,so,skq,ssum,ysum,sl,ts,ms,d,v : Real; tb,y,s,mg,bt,kqtn,tts,tms,b : m1; xt,a,kq : m2; c : im1; z : Boolean; ch : char; finput, fout : text; TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 95 (*================chuong trinh con nhap so lieu==============*) Procedure Input; BEGIN Write('Ban nhap so lieu truc tiep (t) hay tu file (f)'); readln(ch); if (ch='f') or (ch='F') then begin {1} assign(finput,'d:\nhap.dat'); reset(finput); read(finput,n); For J:=2 to N+1 do Read(finput,MG[J]); For J:=2 to N+1 do Read(finput,BT[J]); end {1} else begin {2} write('xin moi nhap so yeu to (n<=5) anh huong toi phan ung : '); Readln(N); Writeln('Nhap muc goc va khoang bien thien cua cac yeu to anh huong'); For J:=2 to N+1 do Begin {3} Write('Yeu to anh huong thu ',J-1,' co muc goc: '); Readln(MG[J]); Write(' Khoang bien thien: '); Readln(BT[J]); End; {3} end; {2} END; (****************Chuong trinh con ghi ket qua ra file***********) Procedure ghiketqua; VAR ch, filename:string; BEGIN Write('Ban co ghi ket qua ra file khong (C/K)?');readln(ch); If (Ch ='C') or (Ch='c') then begin {4} Write('Ban nhap ten file ghi ket qua (*.txt)'); Readln(filename); Assign(fout,filename); Rewrite(fout); Writeln(fout,' KET QUA'); Writeln(fout,''); Writeln(fout,'Hang so d la ', D:5:4, ' Hang so phi la ',V:5:4); Writeln(fout,''); Writeln(fout,'LAM THI NGHIEM NHU SAU'); Writeln(fout,''); For I:= 1 to M do For J:= 2 to N+1 do Begin {5} XT[I,J]:=(MG[J] + A[I,J]*BT[J]); end; {5} For I:=1 to M do Begin {6} Write(fout,'Thi nghiem thu ',I:2) ; For J:=2 to N+1 do Write(fout, XT[I,J]:6:3); Writeln(fout,''); End; {6} Writeln(fout,'DANH GIA DO LAP LAI CUA THI NGHIEM'); TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 96 Writeln(fout,''); If Z THEN Begin {7} Writeln (fout,'Sai so thi nghiem nho hon sai so toan bo thi nghiem'); Writeln(fout,' Thi nghiem co tinh lap lai'); End; {7} Writeln(fout,''); Writeln(fout,'*** MA TRAN THUC NGHIEM ***');Writeln(fout,''); For i:=1 to M do Begin {8} For J:=1 to O do Write(fout,A[I,J]:6:2); Write(fout,KQTN[I]:6:2); Writeln(fout); End; {8} Writeln(fout,'TIM CAC HE SO B PHUONG TRINH HOI QUY');Writeln(fout,''); For J:=1 to O do Begin {9} TS:=0; MS:=0; For I:=1 TO M DO Begin {10} TS:=TS+(A[I,J]*KQTN[I]); MS:=MS+(A[I,J]*A[I,J]); End; {10} TTS[J]:=TS; TMS[J]:=MS; B[J]:=TTS[J]/(TMS[J]); End; {9} For j:=1 to O do Begin {11} Write(fout,'He so B[',J,']= ', B[J]:6:3) ; Writeln(fout,''); End; {11} SO:=SQRT(SSUM/SQR(M)); TB[1]:=12.706; TB[2]:=4.303; TB[3]:=3.182; TB[4]:=2.776; TB[5]:=2.571; TB[10]:=2.228; TB[27]:=2.050; TB[15]:=2.131; TB[9]:=2.262; TB[18]:=2.101; TB[30]:=1.960; TB[25]:=2.060; If F2>30 then TB[F2]:=1.960; SS:=SO*TB[F2]; For J:=1 to O do If (ABS(B[J])< ABS(SS)) then Writeln(fout,' Phai loai he so B[',J,']'); L:=0; For J:=1 to O do If (ABS(B[J])> ABS(SS)) then Begin {12} Writeln(fout,'He so hoi quy con lai la: B[',J,']= ',B[J]:7:3); L:=L+1; End; {12} Writeln(fout,''); Writeln(fout,'So he so co y nghia la ',l); Close(fout); end; {4} TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 97 END; (*======ham x mu y==============================*) Function mu(x,y:integer):integer; VAR tg,q:integer; BEGIN tg:=1; For q:=1 to y do tg:=tg*x; mu:=tg; END; (*======Ham tinh giai thua=========================*) Function Gthua(w:integer):integer; VAR gt,i:integer; BEGIN If w=0 then gt:=1 else Begin {13} gt:=1; For i:=1 to w do gt:= gt*i; End; {13} Gthua:=gt; END; Function t(i,k:integer):integer; VAR tt,t1,t2,q:integer; BEGIN t1:=i Div k; t2:=I Mod k; If t2=0 then tt:=t1 else tt:=t1+1; t:=tt; END; Procedure XDMTTN(Var a:m2); Label 11; VAR KT,U:integer; BEGIN O:=1+N; For I:=1 to N do Begin {14} C[I]:=(Gthua(N) DIV (Gthua(I)* Gthua(N-I))); O:=O+C[i]; End; {14} Writeln('So he so B can tim la: ',O); For I:=1 to M do A[I,1]:= 1; For J:=2 to N+1 do Begin {15} KT:=MU(2,J-2); For I:=1 to Q do Begin {16} U:= T(I,KT); A[I,J]:= MU(-1,U); End; {16} End; {15} Case n of 1:goto 11; TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 98 2:Begin {17} For I:= Q+1 to M do Begin {18} For J:=2 to N+1 do Begin {19} if J=2 then Begin {20} A[Q+1,J]:=D; A[Q+2,J]:=-D; End; {20} if J=3 then Begin {21} A[Q+3,J]:=D; A[Q+4,J]:=-D; End {21} else A[I,J]:=0; End; {19} End; {18} For I:= 1 to M do Begin {22} A[I,4]:=A[I,2]*A[I,3]; A[I,5]:=(A[I,2]*A[I,2])-V; A[I,6]:=(A[I,3]*A[I,3])-V; End; {22} End; {17} 3:Begin {23} For I:= Q+1 to M do Begin {24} For J:=2 to N+1 do Begin {25} If J=2 Then Begin {26} A[Q+1,J]:=D; A[Q+2,J]:=-D; End; {26} If J=3 Then Begin {27} A[Q+3,J]:=D; A[Q+4,J]:=-D; End; {27} If J=4 Then Begin {28} A[Q+5,J]:=D; A[Q+6,J]:=-D; End {28} else A[I,J]:=0; End; {25} End; {24} For I:= 1 to M do Begin {29} A[I,5]:=A[I,2]*A[I,3]; A[I,6]:=A[I,2]*A[I,4]; A[I,7]:=A[I,4]*A[I,3]; A[I,8]:=A[I,5]*A[I,4]; A[I,9]:=(A[I,2]*A[I,2])-V; A[I,10]:=(A[I,3]*A[I,3])-V; A[I,11]:=(A[I,4]*A[I,4])-V; End; {29} end; {23} TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 99 4:Begin {30} For I:= Q+1 to M do Begin {31} For J:=2 to N+1 do Begin {32} If J=2 Then Begin {33} A[Q+1,J]:=D; A[Q+2,J]:=-D; End; {33} If J=3 Then Begin {34} A[Q+3,J]:=D; A[Q+4,J]:=-D; End; {34} If J=4 Then Begin {35} A[Q+5,J]:=D; A[Q+6,J]:=-D; End; {35} If J=5 Then Begin {36} A[Q+7,J]:=D; A[Q+8,J]:=-D; End {36} Else A[I,J]:=0; End; {32} End; {31} For I := 1 to M do Begin {37} A[I,6]:=A[I,2]*A[I,3]; A[I,7]:=A[I,2]*A[I,4]; A[I,8]:=A[I,2]*A[I,5]; A[I,9]:=A[I,4]*A[I,3]; A[I,10]:=A[I,5]*A[I,3]; A[I,11]:=A[I,4]*A[I,5]; A[I,12]:=A[I,4]*A[I,6]; A[I,13]:=A[I,6]*A[I,5]; A[I,14]:=A[I,2]*A[I,11]; A[I,15]:=A[I,11]*A[I,3]; A[I,16]:=A[I,11]*A[I,6]; A[I,17]:=(A[I,2]*A[I,2])-V; A[I,18]:=(A[I,3]*A[I,3])-V; A[I,19]:=(A[I,4]*A[I,4])-V; A[I,20]:=(A[I,5]*A[I,5])-V; End; {37} End; {30} 5:Begin {38} For I:= Q+1 to M do Begin {39} For J:=2 to N+1 do Begin {40} If J=2 Then Begin {41} A[Q+1,J]:=D; A[Q+2,J]:=-D; End; {41} If J=3 Then Begin {42} A[Q+3,J]:=D; A[Q+4,J]:=-D; End; {42} If J=4 Then Begin {43} TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 100 A[Q+5,J]:=D; A[Q+6,J]:=-D; End; {43} If J=5 Then Begin {44} A[Q+7,J]:=D; A[Q+8,J]:=-D; End; {44} If J=6 Then Begin {45} A[Q+9,J]:=D; A[Q+10,J]:=-D; End {45} Else A[I,J]:=0; End; {40} End; {39} For I:= 1 to M do Begin {46} A[I,7]:=A[I,2]*A[I,3]; A[I,8]:=A[I,2]*A[I,5]; A[I,9]:=A[I,4]*A[I,3]; A[I,10]:=A[I,2]*A[I,6]; A[I,11]:=A[I,4]*A[I,3]; A[I,12]:=A[I,5]*A[I,3]; A[I,13]:=A[I,6]*A[I,3]; A[I,14]:=A[I,4]*A[I,5]; A[I,15]:=A[I,4]*A[I,6]; A[I,16]:=A[I,5]*A[I,6]; A[I,17]:=A[I,7]*A[I,4]; A[I,18]:=A[I,7]*A[I,5]; A[I,19]:=A[I,7]*A[I,6]; A[I,20]:=A[I,8]*A[I,5]; A[I,21]:=A[I,8]*A[I,6]; A[I,22]:=A[I,9]*A[I,6]; A[I,23]:=A[I,11]*A[I,5]; A[I,24]:=A[I,11]*A[I,6]; A[I,25]:=A[I,12]*A[I,6]; A[I,26]:=A[I,14]*A[I,6]; A[I,27]:=A[I,14]*A[I,7]; A[I,28]:=A[I,15]*A[I,7]; A[I,29]:=A[I,11]*A[I,6]; A[I,30]:=A[I,7]*A[I,16]; A[I,31]:=A[I,8]*A[I,16]; A[I,32]:=A[I,27]*A[I,6]; A[I,33]:=(A[I,2]*A[I,2])-V; A[I,36]:=(A[I,5]*A[I,5])-V; A[I,34]:=(A[I,3]*A[I,3])-V; A[I,37]:=(A[I,6]*A[I,6])-V; A[I,35]:=(A[I,4]*A[I,4])-V; End; {46} End; {38} END; 11: Writeln; Writeln(' MA TRAN THUC NGHIEM NHU SAU'); For I:= 1 to M do Begin {47} For J:= 1 to O do Write('A[',I,',',J,'] = ', A[I,J]:5:3); Writeln; End; {47} END; Procedure nhapketqua; VAR sqk,smax,gg:Real; g,gt: m2; BEGIN Write('So lan lap thuc nghiem o tam la: '); Readln(II); Writeln('CAC THI NGHIEM O TAM ') ; For J:=1 to II do Begin {48} Write('KQ[M,',J,']='); Readln(KQ[M,J]); End; {48} TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 101 SKQ:=0; For J:=1 to II do Begin {49} SKQ:=SKQ+KQ[M,J]; End; {49} KQ[M,II+1]:= SKQ/II; KQTN[M]:=KQ[M,II+1]; Writeln('KET QUA THI NGHIEM THU DUOC LA:'); For i:=1 to m-1 do Begin {50} Write('KQTN[',i,']= '); Readln(kqtn[i]); End; {50} Writeln('KQTN[',m,']= ',kqtn[m]:5:3); If II=1 then Begin {51} Writeln('Nen lam lap thi nghiem de co ket qua chinh xac hon'); Exit; End; {51} SSUM:= 0; For J:=1 to II do Begin {52} S[I]:=SQR(KQ[M,J]-KQ[M,II+1]); End; {52} SSUM:= SSUM+ S[I]; SMAX:= S[1]; For I:=2 to II do If SMAX<S[I] then SMAX:=S[I]; GG:=SMAX/SSUM; F1:=II-1; F2:= M*F1; Gt[F1,F2]:=GG; {CAC GIA TRI TRA BANG CHUAN G VOI Q = 0.05} G[1,5]:=0.8412; G[1,9]:=0.6385; G[1,15]:=0.4709; G[1,25]:=0.3400; G[2,10]:=0.4450; G[2,18]:=0.2900 ; G[2,30]:=0.1980; G[3,15]:=0.2758; G[3,27]:=0.1742; G[4,20]:=0.1921; G[4,36]:=0.1400; If (Gt[F1,F2]<G[F1,F2]) then Z:=TRUE; END; Procedure PTHQ; VAR Y1,Y2:M1; F3 :integer; FFT :real; FT,FB:M2; BEGIN Writeln('DANH GIA TINH PHU HOP CUA PHUONG TRINH HOI QUY'); For I:=1 to M do Begin {53} Y1[I]:=0; Y2[I]:=0; For J:=1 to O do Begin {54} Y1[I]:=Y1[I]+B[J]*A[I,J]; If ABS(B[J])<ABS(SS) then Y2[I]:=Y2[I]+B[J]*A[I,J]; End; {54} TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 102 Y[I]:=Y1[I]-Y2[I]; End; {53} For I:=1 to M do Begin {55} Write('KQLT thu ',I:2,Y[I]:6:3,' KQTN ',KQTN[I]:6:3); Writeln; End; {55} YSUM:=0; For I:= 1 to M do YSUM:= YSUM+ SQR(KQTN[I]- Y[I]); F3:=M-L; SFH:=(1/F3)*YSUM; FFT:=SFH/(SSUM/F1); FT[F3,F1]:=FFT; FB[2,1]:=199.5; FB[2,2]:=19.00; FB[2,3]:=9.55; FB[3,1]:=215.7; FB[3,2]:=19.16; FB[3,3]:=9.28; FB[4,1]:=224.6; FB[4,2]:=19.25; FB[5,1]:=230.2; FB[5,2]:=19.30; FB[4,3]:=19.12; FB[5,3]:=19.01; FB[6,1]:=234.0; FB[6,2]:=19.33; FB[7,1]:=236.8; FB[8,1]:=238.9; FB[7,2]:=19.35; FB[8,2]:=19.37; FB[9,1]:=240.5; FB[9,2]:=19.38; FB[10,1]:=241.9; FB[12,1]:=243.9; FB[12,2]:=19.41; FB[10,2]:=19.40; R:=SSUM/(YSUM+SSUM); Writeln('He so tuong quan la: ',R:8:3); Write('Danh gia muc do tuong quan: '); If R<0.7 then Writeln('Kem tuong quan'); If (R>=0.7) and (R<0.8) then Writeln('Kha tuong quan'); If (R>=0.8) and (R<0.9) then Writeln('Tuong quan tot'); If R>=0.9 then Writeln('Rat tuong quan') ; SL:=SQRT(YSUM/(M-L)); Writeln('Do lech chuan SL :',SL:8:3); If FT[F3,F1]<FB[F3,F1] then Begin {56} Writeln('MO HINH MO TA DUNG THUC NGHIEM'); End {56} Else Writeln('MO HINH MO TA KHONG DUNG THUC NGHIEM. PHAI LAM LAI '); END; (*======CHUONG TRINH CHINH=========================*) BEGIN CLRSCR; GOTOXY(20,5);Writeln('DAI HOC THAI NGUYEN '); GOTOXY(18,8);Writeln('DAI HOC SU PHAM '); GOTOXY(26,9);Writeln('KHOA HOA HOC'); GOTOXY(12,15);Writeln('THUC HANH MON TIN HOC UNG DUNG TRONG HOA HOC'); GOTOXY(8,17);Writeln('MO HINH HOA THUC NGHIEM BAC HAI TAM TRUC GIAO DAY DU '); GOTOXY(22,25);Writeln('Nguoi thuc hien: Mai xuan Truong '); GOTOXY(22,27);Writeln('Bo mon: Hoa phan tich'); GOTOXY(20,35);Writeln('XIN MOI AN ENTER DE BAT DAU CHUONG TRINH '); Readln; CLRSCR; TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 103 input; Q:=MU(2,N) ; Writeln('So thi nghiem ma tran goc la ',Q); QS:=2*N; Writeln('So thi nghiem diem sao la ',QS); M:=Q+QS+1; Writeln('So thi nghiem can lam la ',M); case n of 1: exit; 2: Begin d:=1.000; v:=0.667; End; 3: Begin d:=1.1254; v:=0.7303; end; 4: begin d:=1.4142; v:=0.8000; End; 5: Begin d:=1.7244; v:=0.8433; End; End; Writeln('Hang so d la ', D:5:4, ' Hang so phi la ',V:5:4); XDMTTN(A); Writeln('LAM THI NGHIEM NHU SAU'); For I:= 1 to M do For J:= 2 to N+1 do Begin XT[I,J]:=(MG[J] + A[I,J]*BT[J]); end; For I:=1 to M do Begin Write('Thi nghiem thu ',I:2) ; For J:=2 to N+1 do Write( XT[I,J]:6:3); Writeln; End; Readln; nhapketqua; If II=1 then GOTO nn2; Writeln('DANH GIA DO LAP LAI CUA THI NGHIEM'); If Z THEN Begin Writeln ('Sai so thi nghiem nho hon sai so toan bo thi nghiem'); Writeln(' Thi nghiem co tinh lap lai'); End Else Begin Writeln('Sai so thi nghiem nho hon sai so toan bo thi nghiem'); Writeln(' BAN PHAI LAM THEM THI NGIEM'); GOTO nn3; End; CLRSCR; Writeln; nn2:Writeln('*** MA TRAN THUC NGHIEM ***'); For i:=1 to M do Begin For J:=1 to O do Write(A[I,J]:6:2); Write(KQTN[I]:6:2); Writeln; End; Writeln('TIM CAC HE SO B PHUONG TRINH HOI QUY'); For J:=1 to O do TS Mai Xuân Tr−ờng - Tr−ờng Đại học S− phạm - Đại học Thái Nguyên 104 Begin TS:=0; MS:=0; For I:=1 TO M DO Begin TS:=TS+(A[I,J]*KQTN[I]); MS:=MS+(A[I,J]*A[I,J]); End; TTS[J]:=TS; TMS[J]:=MS; B[J]:=TTS[J]/(TMS[J]); End; For j:=1 TO O DO Begin Write('He so B[',J,']= ', B[J]:6:3) ; Writeln; Readln; End; If II=1 then GOTO nn3; SO:=SQRT(SSUM/SQR(M)); TB[1]:=12.706; TB[2]:=4.303; TB[3]:=3.182; TB[4]:=2.776; TB[5]:=2.571; TB[10]:=2.228; TB[27]:=2.050; TB[15]:=2.131; TB[9]:=2.262; TB[18]:=2.101; TB[30]:=1.960; TB[25]:=2.060; If F2>30 then TB[F2]:=1.960; SS:=SO*TB[F2]; For J:=1 to O do If (ABS(B[J])< ABS(SS)) then Begin Writeln(' Phai loai he so B[',J,']'); end; Readln; L:=0; For J:=1 to O do If (ABS(B[J])> ABS(SS)) then Begin Writeln('He so hoi quy con lai la: B[',J,']= ',B[J]:7:3); L:=L+1; End; Writeln('So he so co y nghia la ',l); PTHQ; ghiketqua; nn3: writeln('Xin chan thanh cam on'); Writeln(CHR(7)); Readln; END.
File đính kèm:
- bai_giang_tin_hoc_ung_dung_trong_hoa_hoc_mai_xuan_truong.pdf