Текст разработанной программы приведён на рисунке 1.9.
При разработке были введены следующие идентификаторы:
W- начальное значение диапазона изменения частоты, а также для хранения текущего значения частоты;
W1- конечное значение частоты;
W2- шаг изменения частоты.
Для ввода значений параметров звеньев
и используются массивы К(7) и Т(7). Ввод значений этих параметров осуществляется с помощью операторов DATAREAD. Вычисленные значения выходных переменных сохраняются в файле mm_8 txt на диске А.OPEN "A:\mm_8.txt" FOR OUTPUT AS #2
CLS : Pi = 3.141592654#: W = 0: W1 = 1: W2 = .05
DIM K(7), T(7)
DATA 1,10,2,15,1,20,2,5,4,10,3,12,1,8
FOR i = 1 TO 7
READ K(i), T(i)
PRINT USING "K(#)=#, T(#)=##"; i; K(i); i; T(i)
NEXT i
10 FOR i = 1 TO 7
A(i) = K(i) / SQR(T(i) ^ 2 * W ^ 2 + 1)
F(i) = -ATN(T(i) * W)
P(i) = A(i) * COS(F(i))
Q(i) = A(i) * SIN(F(i))
NEXT i
REM ПАРАЛЛЕЛЬНОЕ СОЕДИНЕНИЕ
Pe(1) = P(1) + P(4)
Qe(1) = Q(1) + Q(4)
Ae(1) = SQR(Pe(1) ^ 2 + Qe(1) ^ 2)
Fe(1) = ATN(Qe(1) / Pe(1))
IF Pe(1) < 0 THEN Fe(1) = Fe(1) – Pi
REM ПАРАЛЛЕЛЬНОЕ СОЕДИНЕНИЕ
Pe(2) = P(2) + P(5)
Qe(2) = Q(2) + Q(5)
Ae(2) = SQR(Pe(2) ^ 2 + Qe(2) ^ 2)
Fe(2) = ATN(Qe(2) / Pe(2))
Рисунок 1.9, лист1- Листинг программы.
IF Pe(2) < 0 THEN Fe(2) = Fe(2) – Pi
REM ПОСЛЕДОВАТЕЛЬНОЕ СОЕДИНЕНИЕ
Ae(3) = Ae(1) * Ae(2)
Fe(3) = Fe(1) + Fe(2)
Pe(3) = Ae(3) * COS(Fe(3))
Qe(3) = Ae(3) * SIN(Fe(3))
REM ПОСЛЕДОВАТЕЛЬНОЕ СОЕДИНЕНИЕ
Ae(4) = A(6) * A(7)
Fe(4) = F(6) + F(7)
Pe(4) = Ae(4) * COS(Fe(4))
Qe(4) = Ae(4) * SIN(Fe(4))
REM ПАРАЛЛЕЛЬНОЕ СОЕДИНЕНИЕ
Pe(5) = Pe(3) + Pe(4)
Qe(5) = Qe(3) + Qe(4)
Ae(5) = SQR(Pe(5) ^ 2 + Qe(5) ^ 2)
Fe(5) = ATN(Qe(5) / Pe(5))
IF Pe(5) < 0 THEN Fe(5) = Fe(5) - Pi
REM ПОСЛЕДОВАТЕЛЬНОЕ СОЕДИНЕНИЕ
Ae(6) = Ae(5) * A(3)
Fe(6) = Fe(5) + F(3)
Pe(6) = Ae(6) * COS(Fe(6))
Qe(6) = Ae(6) * SIN(Fe(6))
PRINT USING "W=#.##, Ae(#)=+##.###, Fe(#)=+#.###, Pe(#)=+##.###, Qe(#)=+#.###"; W; 6; Ae(6); 6; Fe(6); 6; Pe(6); 6; Qe(6)