?????????????? ?????? ? ????????? ?????????? ??????? ?????
?????????????? ?????? ? ????????? ?????????? ??????? ?????
?????????????? ?????? ? ????????? ?????????? ??????? ?????
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
else if (wbegin == 0) then ! Обнаружено начало слова<br />
wbegin = j; wend = j<br />
else<br />
wend = wend + 1 ! Перемещение по текущему слову<br />
endif<br />
end do<br />
if (wbegin > 0) call addword(words, st, wbegin, wend, neww)<br />
!*** 4. Обработка слов строки, перевод данных во внутренний формат массивов ***<br />
if (neww==0) cycle !если слов нет, то игнорировать обработку<br />
kv=kv+1 ! новая строка<br />
if (kv>nv) then<br />
write(name0,*)nv<br />
call DWGMSG('Слишком много ветвей: > '//name0)<br />
stop<br />
endif<br />
namv(kv)=words(1) ! запись имени ветви<br />
read(words(2),*)symnp1(kv) ! запись 1-го узла<br />
read(words(3),*)symnp2(kv) ! запись 2-го узла<br />
! запись величин<br />
if (words(1)(1:1)=='v' .or. words(1)(1:1)=='V') then<br />
read(words(4),*)ev(kv) ! запись источника напряж<br />
zv(kv,kv)=0 ! запись внутр. сопрот. по умолч.<br />
if (neww>4) then<br />
k=index(st,'=')<br />
name1=trim(st(k+1:))<br />
read(name1,*)zv(kv,kv) ! запись введенного сопротивления<br />
endif<br />
elseif (words(1)(1:1)=='i' .or. words(1)(1:1)=='I') then<br />
read(words(4),*)jv(kv) ! запись источника тока<br />
zv(kv,kv)=1.0e10 ! запись внутр. сопрот. по умолч.<br />
if (neww>4) then<br />
k=index(st,'=')<br />
name1=trim(st(k+1:))<br />
read(name1,*)zv(kv,kv) ! запись введенного сопрот.<br />
endif<br />
elseif (words(1)(1:1)=='r' .or. words(1)(1:1)=='R') then<br />
read(words(4),*)zv(kv,kv) ! запись сопротивления<br />
if (neww>4) then<br />
do j=5,neww<br />
k=index(words(j),'i')<br />
if (k/=0 .or. index(st,'I')/=0 ) then<br />
name1=trim(words(j)(3:))<br />
read(name1,*)jv(kv)<br />
endif<br />
k=index(words(j),'v')<br />
if (k/=0 .or. index(st,'V')/=0 ) then<br />
name1=trim(words(j)(3:))<br />
read(name1,*)ev(kv)<br />
endif<br />
end do<br />
endif<br />
else<br />
write(*,*) 'не могу распознать тип ветви ',trim(words(1)),' !?'<br />
stop<br />
endif<br />
10 if (ios/=0) exit<br />
end do<br />
89