Halabuga
Новичок
|
Здравствуйте! Помогите пожалуйста написать комментарии к кждой строке этой программы: I J R 11 4 1.0 -Л8 4 8 6.5 -Л2 8 2 8.4 -Л3 8 1 4.1 -Л1 1 5 7.3 -Л7 5 3 4.8 -Л6 4 3 12.6 -Л4 2 5 3.5 -Л5 2 4 15 -Л9 Колличество линий 9 Колличество узлов 7 +-----+------+----------+ | Nnn | Uzel | Provodim | +-----+------+----------+ | 1| 11| 1.000| | 2| 4| 1.300| | 3| 8| .517| | 4| 1| .381| | 5| 5| .631| | 6| 2| .471| | 7| 3| .288| +-----+------+----------+ матрица проводимости 1.000 1.000 .000 .000 .000 .000 .000 1.000 1.300 .154 .000 .000 .067 .079 .000 .154 .517 .244 .000 .119 .000 .000 .000 .244 .381 .137 .000 .000 .000 .000 .000 .137 .631 .286 .208 .000 .067 .119 .000 .286 .471 .000 .000 .079 .000 .000 .208 .000 .288 узловые токи 2.000 2.600 1.034 .762 1.262 .943 .575 Integer N1(100),N2(100),NL,NY Real R(100) Integer YZ(100) Real Z(100,100), iyz(100) Real PR(100) LOGICAL NADO Open(unit=1,file='isx') Open(Unit=2,File='rez') NL=0 NY=0 Read(1,*) 1NL=NL+1 Read(1,*)N1(NL),N2(NL),R(NL) If(NL.EQ.1)THEN NY=2 Else NADO=.TRUE. DO i=1,(NL-1) IF(N1(NL).EQ.N1(i).OR.N1(NL).EQ.N2(i))NADO=.FALSE. Enddo IF(NADO) NY=NY+1 NADO=.TRUE. DO i=1,(NL-1) IF(N2(NL).EQ.N2(i).OR.N2(NL).EQ.N1(i))NADO=.FALSE. Enddo IF(NADO) NY=NY+1 Endif If(.NOT.EOF(1))GOTO1 Write(2,*)'Колличество линий',NL Write(2,*)'Колличество узлов',NY Do i=1,NL V=N1(i) Do j=1,NY If(YZ(j).EQ.0) then YZ(j)=V Exit End if If(YZ(j).EQ.V) then Exit End if Enddo Enddo Do i=1,NL V=N2(i) Do j=1,NY If(YZ(j).EQ.0) then YZ(j)=V Exit End if If(YZ(j).EQ.V) then Exit End if Enddo Enddo Do i=1,NY V=YZ(i) Do j=1,NL IF(N1(j).EQ.V.OR.N2(j).EQ.V) THEN PR(i)=PR(i)+1/R(j) END If End do End do Write(2,*)'+-----+------+----------+' Write(2,*)'| Nnn | Uzel | Provodim |' Write(2,*)'+-----+------+----------+' Write(2,3)(' |',m,'|',YZ(m),'|',PR(m),'|',m=1,NY) Write(2,*)'+-----+------+----------+' 3Format(A,I5,A,I6,A,F10.3,A) DO i=1,NY Z(i,i)=PR(i) Enddo Do i=1,NL DOj=1,NY If(N1(i).EQ.YZ(J))then STR=J Endif Enddo Do j=1,NY IF(N2(i).EQ.YZ(j))then Kol=j Endif Enddo z(str,kol)=1/R(i) z(Kol,str)=1/R(i) Enddo Write(2,*)'матрица проводимости' Do i=1,ny Write(2,4) (z(i,j),j=1,ny) enddo 4Format (10f7.3) Do i=1,NY Summa=0 Do j=1,NY Summa=summa+Z(i,J) Enddo IYZ(i)=summa Enddo Write(2,*)'узловые токи' Write(2,4)(iyz(i),i=1,NY) end
|