pigagasi
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Всем Привет составил программу при компиляции выдаёт 2 ошибки никак немогу найти помоги плз( PROGRAM PARAMETRES KC c PROGRAM PARAMETRES K dimension p(10), m(10) dimension c(10), b(10), a(10), av(10), bv(10), rk(10), rd(10) dimension rk1(10), rk2(10), rk3(10), rd1(10), rd2(10) dimension as(10), bs(10), rs1(10), rs2(10), rs(10), ss(10) real alfaz, BCH, alfa, ah, bh, ch real T, TL, TR, m, musum pk=16 pc=0.045 tl=3800 tr=4000 alfaz=0.75 BCH=0 B2=4 R0=8.314 T1=3800 T2=3900 T3=4000 m(1)=44.0103 m(2)=18.054 m(3)=28.0109 m(4)=17.0074 m(5)=2.016 m(6)=31.9988 m(7)=1.008 m(8)=15.9994 rk1(1)=3.334 rk2(1)=4.141 rk3(1)=5.087 rk1(2)=0.4017 rk2(2)=0.4951 rk3(2)=0.6042 rk1(3)=0.578 rk2(3)=0.7343 rk3(3)=0.9217 rk1(4)=1.212 rk2(4)=1.763 rk3(4)=2.519 rk1(5)=1.073 rk2(5)=1.624 rk3(5)=2.408 rd1(1)=-45164.4 rd2(1)=-42098.6 rd1(2)=-17438.7 rd2(2)=-14782.8 rd1(3)=3133.4 rd2(3)=4934.4 rd1(4)=38729.1 rd2(4)=40556.6 rd1(5)=28491 rd2(5)=36350.5 rd1(6)=31254.7 rd2(6)=33234.8 rd1(7)=69503.6 rd2(7)=70497.2 rd1(8)=76722 rd2(8)=77738.1 rs1(1)=83.4963 rs2(1)=84.2826 rs1(2)=71.3609 rs2(2)=72.0420 rs1(3)=67.5738 rs2(3)=68.0357 rs1(4)=63.4966 rs2(4)=63.9652 rs1(5)=50.6097 rs2(5)=51.0866 rs1(6)=70.2756 rs2(6)=70.7834 rs1(7)=40.0368 rs2(7)=40.2910 rs1(8)=51.2846 rs2(8)=51.5452 do i=1,5 s1=(rk1(i)-rk2(i))/(T1-T2) s2=(rk1(i)-rk3(i))/(T1-T3) s3=1/(T2-T3) c(i)=(S1-S2)*S3 b(i)=(rk2(i)-rk1(i)-c(i)*(T2*T2-T1*T1))/(T2-T1) a(i)=rk1(i)-b(I)*T1-c(i)*T1*T1 end do do i=1,8 av(i)=rd1(i)-(rd1(i)-rd2(i))/(T1-T3)*T1 bv(i)=(rd1(i)-rd2(i))/(T1-T3) as(i)=rs1(i)-(rs1(i)-rs2(i))/(T1-T3)*T1 bs(i)=(rs1(i)-rs2(i))/(T1-T3) end do write(*,*)'T=' read(*,*) T do i=1,5 rk(i)=a(i)+b(i)*T+c(i)*T*T end do ah=2*BCH+1 bh=(BCH+1)*sqrt(rk(4)) ch=-Pk x1=(-bh+sqrt(bh**2-4*ah*ch))/(2*ah) if (x1.gt.0) then PH2R=x1**2 write(*,*)'vernoe znachenie PH2max', PH2R else if (x1.le.0) then stop stop end if PH2L=0 5 PH2=(PH2L+PH2R)/2 Q=(-1)*(2*BCH+1)*PH2-(BCH+1)*sqrt(rk(4)*PH2)+Pk W=(2*BCH+1)/rk(2)*PH2+(BCH+1)*rk(3)/rk(2)*sqrt(PH2)+sqrt(rk(5)) write(*,*)'q',q,'w',w Y1=(-1)*W/2+sqrt(W*W/4+Q) if (Y1.gt.0) then PO2=Y1**2 else if (Y1.le.0) then stop end if PH2O=PH2*sqrt(PO2)/rk(2) POH=rk(3)/rk(2)*sqrt(PH2*PO2) PH=sqrt(rk(4)*PH2) PO=sqrt(rk(5)*PO2) PCO2=BCH*(2*PH2O+POH+2*PH2+PH)/(1+rk(1)/sqrt(PO2)) PCO=(rk(1)*PCO2)/sqrt(PO2) p(1)=PCO2 p(2)=PH2O p(3)=PCO p(4)=POH p(5)=PH2 p(6)=PO2 p(7)=PH p(8)=PO PS=0 do i=1,8 PS=PS+p(i) end do DP=(Pk-PS)/Pk IF (DP.GT.0.05) THEN stop END IF alfa=((2*PCO2+PCO+2*PO2+PH2O+POH+PO)/(2*PH2O+2*PH2+POH+PH))*B2 dalfa=ABS((alfa-alfaz)/alfaz) if (dalfa.le.0.01) then write(*,*)'dlya dannoi temperatury sostav opredelen',T go to 10 else if (alfa.lt.alfaz) then PH2R=PH2 go to 5 else PH2L=PH2 go to 5 end if 10 SioP=0 SmP=0 do i=1,8 rd(i)=av(i)+bv(i)*T SioP=SioP+rd(i)*p(i) SmP=SmP+m(i)*p(i) end do Siod=SioP/SmP ssum=0 do i=1,8 rs(i)=as(i)+bs(i)*T ss(i)=p(i)*(rs(i)-4.57*LOG10(p(i))) ssum=ssum+ss(i) end do SumSk=ssum/SmP musum=SmP/PS R=R0/musum write(*,*)'entropiia', SumSk,' myu',musum,' R', R open(1,file='REZULTGGG.txt') write(1,*)'параметры камеры' write(1,*)'температура T', T write(1,*)'энтальпия I', Siod write(1,*)'энтропия S', SumSk write(1,*)'молекулярная масса пс', musum write(1,*)'газовая постоянная R', R DO i=1,5 write(1,*)'константа реакции для i=', i,' k=', rk(i) end do do i=1,8 write(1,*)'энтальпия для i=', i,' rd=', rd(i) end do do i=1,8 write(1,*)'давление для', i, p(i) end do close(1) pause end | Всего записей: 3 | Зарегистр. 17-11-2010 | Отправлено: 17:42 17-11-2010 | Исправлено: pigagasi, 17:44 17-11-2010 |
|