home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1989-01-07 | 2.2 KB | 48 lines |
- 500 REM R-C TIME CONSTANT
- 501 CLS
- 502 PRINT " THIS PROGRAM DETERMINES THE CAPACITOR VOLTAGE IN A SIMPLE R-C"
- 503 PRINT " CIRCUIT AFTER A SPECIFIED LENGTH OF TIME."
- 504 LOCATE 4,1:INPUT "IS THE CAPACITOR CHARGING (C) OR DISCHARGING (D) ? ", A$:IF A$=""THEN 504
- 505 IF A$<>"c" AND A$<> "C" AND A$<>"D" AND A$<>"d" THEN 504
- 506 PRINT:PRINT "ENTER THE UNIT F - actual (hit 1) "
- 507 PRINT "OF CAPACITANCE >F - micro (hit 2) "
- 508 PRINT "YOU WISH TO USE pF - pico (hit 3) ";
- 509 INPUT " ",UNIT$:IF UNIT$="1"THEN B$="actual":A=1 ELSE IF UNIT$="2"THEN B$="micro":A=6 ELSE IF UNIT$="3" THEN B$="pico":A=12 ELSE 506
- 510 PRINT:PRINT "ENTER VALUE OF CAPACITANCE IN ";B$" FARADS";
- 511 INPUT " ",C:C=C/10^(A):PRINT
- 512 PRINT "ENTER UNIT OF - - ACTUAL (hit 1)"
- 513 PRINT "OF RESISTANCE K- - KILO (hit 2)"
- 514 PRINT "YOU WISH TO USE M- - MEGA (hit 3)";
- 515 INPUT " ", R(1):IF R(1)=1 THEN C$="ACTUAL" ELSE IF R(1)=2 THEN C$="KILO" ELSE IF R(1)=3 THEN C$="MEGA" ELSE 512
- 516 IF R(1)=1 THEN MULT = 1
- 517 IF R(1)=2 THEN MULT = 3
- 518 IF R(1)=3 THEN MULT = 6
- 519 PRINT:PRINT "ENTER RESISTANCE IN ";C$" OHMS";
- 520 INPUT " ",R:R=R*10^MULT
- 521 PRINT "TIME CONSTANT - TC - OF CAPACITOR IS ";R*C" SECONDS"
- 522 IF A$="d" OR A$="D" THEN 535
- 523 INPUT ; "ENTER SOURCE VOLTAGE ", VT
- 524 PRINT " VOLTS"
- 525 FOR L = 1 TO 5
- 526 PRINT "AFTER";L"TIME CONSTANTS VOLTAGE WILL BE ";:VC=VT*(1-EXP(-(L*R*C)/(R*C))): PRINT VC
- 527 NEXT
- 528 LOCATE ,1:INPUT ; "THE TIME THE CAPACITOR WILL BE CHARGING IS ? ",TIME
- 529 IF TIME > (R*C*5) THEN PRINT "YOUR TIME EQUALS MORE THAN 5 TIME CONSTANTS - TRY AGAIN": GOTO 528
- 530 PRINT " SECONDS"
- 531 LET VC=VT*(1-EXP(-TIME/(R*C)))
- 532 PRINT
- 533 PRINT "VOLTAGE ACROSS THE CAPACITOR AFTER "TIME " SECONDS IS "VC
- 534 GOTO 546
- 535 INPUT ; "THE VOLTAGE TO WHICH THE CAPACITOR IS CHARGED IS ? ",VI
- 536 PRINT " VOLTS"
- 537 FOR L = 1 TO 5
- 538 PRINT "AFTER";L"TIME CONSTANTS VOLTAGE WILL BE ";:VC=VI*EXP(-(L*R*C)/(R*C)): PRINT VC
- 539 NEXT
- 540 INPUT ; "THE TIME THE CAPACITOR WILL BE DISCHARGING IS ? ",T
- 541 PRINT " SECONDS."
- 542 LET VC=VI*EXP(-T/(R*C))
- 543 PRINT
- 544 PRINT "THE VOLTAGE REMAINING ON THE CAPACITOR AFTER " ;T "SECONDS";
- 545 PRINT " IS" ; VC ; "VOLTS."
- 546 LOCATE 25,20:INPUT ; "MORE CALCULATIONS (Y/N) ",A$:IF A$="Y" OR A$="y" THEN RUN 500 ELSE IF A$="N" OR A$="n" THEN RUN "MENU1"
-