Программа расчета переходных процессов в RLC цепи (в QBASIC)
CLS
'начальные данные
E = 110
C = .0012
R1 = 7: R2 = 70
L1 = .8: L2 = 1.2: HL = .2
'открытие файла для вывода ответов
OPEN "VIVOD.txt" FOR OUTPUT AS #1
1 : Q = (SQR(L1 / C)) / R1
Tmin = 2 * 3.14 * SQR(L1 * C)'-минимальный период
h = .1 * Tmin'-шаг времени
Tmax = 2 * 3.14 * SQR(L2 * C)'-максимальный период
IF Q < 1 THEN
time = Tmax
ELSE
time = 2 * Tmax
END IF
'начало циклов
FOR L = L1 TO L2 STEP HL
UC = 0: Ic = 0: UC1 = 0: Ic1 = 0
PRINT #1, USING " t UC I UL UR L=#.# R=## time=#.### Q=#.###"; L; R1; time; Q
PRINT #1, "0.000 0.000 0.000 130.000 0.000 "
FOR t = h TO time STEP h
k1u = h * Ic / C
k1i = h * (E - R1 * Ic - UC) / L
k2u = h * (Ic + k1i / 2) / C
k2i = h * (E - R1 * (Ic + k1i / 2) - (UC + k1u / 2)) / L
k3u = h * (Ic + k2i / 2) / C
k3i = h * (E - R1 * (Ic + k2i / 2) - (UC + k2u / 2)) / L
k4u = h * (Ic + k3i / 2) / C
k4i = h * (E - R1 * (Ic + k3i) - (UC + k3u)) / L
UC = UC1 + (k1u + 2 * k2u + 2 * k3u + k4u) / 6
Ic = Ic1 + (k1i + 2 * k2i + 2 * k3i + k4i) / 6
UC1 = UC
UL = L * (Ic - Ic1) / h
Ic1 = Ic
PRINT #1, USING "#.### ###.### ###.### ###.### ###.###"; t; UC; Ic; UL; UR
NEXT t
NEXT L'-конец циклов
k = k + 1
IF k = 1 THEN R1 = R2: GOTO 1
CLOSE #1
END'-конец программы
CLS
'задаем значения параметров элементов цепи
E = 110
l = .8
c = 1200 * 10 ^ -6
DATA 7,70
'определяем максимальный и мнимальный периоды колебаний
Tmin = 2 * 3.14 * (l * c) ^ .5
Tmax = 2 * 3.14 * (l * 1000 * 10 ^ -6) ^ .5
'задаем шаг изменения времени и промежуток исследования переходного процесса
h = Tmin * .1
time = 3 * Tmax
'запускаем цикл изменения параметра R
FOR m = 1 TO 2
'считываем значение R из предыдущего оператора data
READ R(m)
'запускаем цикл изменения параметра С с заданным шагом
FOR l = .8 TO 1.2 STEP .2
'задаем значения коэффициентов Рунге-Кутта и параметров цепи при t=0
k1i = 0: k2i = 0: k3i = 0: k4i = 0: k1u = 0: k2u = 0: k3u = 0: k4u = 0
i = 0: Uc = 0: Ur = 0: Ul = E
t = 0
NEXT l
NEXT m
'строим графики зависимостей параметров цепи от времени
'определяем графический режим построения графиков
SCREEN 12
'задаем цвет печати подписей на экране
COLOR 8
'задаем значения параметра R
DATA 7,70
'определяем шаг изменения времени
h = Tmin * .0056
'запускаем цикл изменения параметра R
FOR m = 1 TO 2
'определяем начальное значение цвета рисования графиков
n = 3
'считываем значение параметра R из предыдущего оператора data
READ R(m)
'создаем окно для рисования графиков
VIEW (10, 10)-(630, 470), 15, 1
'определяем разрешение окна
WINDOW (0, 0)-(620, 460)
'строим оси декартовых координат
LINE (20, 340)-(280, 340), 0
LINE (20, 260)-(20, 440), 0
LINE (20, 40)-(280, 40), 0
LINE (20, 20)-(20, 250), 0
LINE (320, 340)-(580, 340), 0
LINE (320, 300)-(320, 440), 0
LINE (320, 125)-(580, 125), 0
LINE (320, 20)-(320, 260), 0
'подписываем оси координат и графики
LOCATE 4, 19: PRINT "i=f(t,C)"
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.