10 REM INVAMP.BAS
20 REM WRITTEN BY RUSS KINCAID, 27 NOV 2001
30 REM REVISION 0
100 PRINT"THIS PROGRAM DESIGNS AN INVERTING OP AMP CIRCUIT THAT TRANSFORMS AN INPUT"
110 PRINT"VOLTAGE RANGE TO A SPECIFIED OUTPUT VOLTAGE RANGE.  THE CIRCUIT HAS TWO "
120 PRINT"RESISTORS AND A BIAS VOLTAGE." 
260 INPUT"WHAT IS THE LOWEST INPUT VOLTAGE";VINMIN
270 INPUT"WHAT IS THE CORRESPONDING OUTPUT VOLTAGE";VOUTMIN
280 INPUT"WHAT IS THE HIGHEST INPUT VOLTAGE";VINMAX
290 INPUT"WHAT IS THE CORRESPONDING OUTPUT VOLTAGE";VOUTMAX
291 GAIN=(VOUTMAX-VOUTMIN)/(VINMAX-VINMIN): REM GAIN IS NEGATIVE
292 IF GAIN>0 THEN PRINT"YOU MUST USE POSAMP.BAS ":GOTO 1100
294 PRINT "THIS IS THE SCHEMATIC:"
296 PRINT"                          |\"
298 PRINT"              BIAS -------|+\"
299 PRINT"                          |  \____________B OUT"
300 PRINT"                          |  /       |"
301 PRINT"                      |---|-/        |"
302 PRINT"                      |   |/         RF"
303 PRINT"                      |              |"
304 PRINT"     A IN---RI--------|--------------|"
309 PRINT:PRINT
310 INPUT"WILL YOU CHOOSE RI(1) OR LET THE PROGRAM CHOOSE(2)";C
320 IF C>2 OR C<1 THEN PRINT"ONE OR TWO ONLY PLEASE":GOTO 310
330 IF C=1 THEN 350
340 RI=1E4:GOTO 360
350 INPUT"GIVE THE VALUE OF RI: ",RI
360 RF=-RI*GAIN
370 BIAS=(VOUTMIN-VINMIN*GAIN)/(1-GAIN)
380 PRINT:PRINT"RI=";RI,"RF=";RF,"BIAS V=";BIAS
400 INPUT"HARDCOPY";Y$
410 IF LEFT$(Y$,1)="Y" OR LEFT$(Y$,1)="y" THEN 490 ELSE END
490 OPEN "PRN" FOR OUTPUT AS #1
494 PRINT#1, DATE$,TIME$
496 PRINT#1,"THIS CIRCUIT TRANSFORMS ";VINMIN;" TO ";VINMAX;" VOLTS INPUT TO:"
498 PRINT#1, VOUTMIN;" TO ";VOUTMAX;" VOLTS OUTPUT": PRINT#1,
500 PRINT#1,"THIS PROGRAM DESIGNS A NON-INVERTING OP AMP CIRCUIT THAT TRANSFORMS AN INPUT"
510 PRINT#1,"VOLTAGE RANGE TO A SPECIFIED OUTPUT VOLTAGE RANGE.  THE CIRCUIT HAS TWO RESISTORS"
520 PRINT#1,"AND A BIAS VOLTAGE.  THIS IS THE SCHEMATIC:"
530 PRINT#1,"                          |\"
540 PRINT#1,"               BIAS-------|+\"
550 PRINT#1,"                          |  \____________B OUT"
560 PRINT#1,"                          |  /       |"
570 PRINT#1,"                      |---|-/        |"
580 PRINT#1,"                      |   |/         RF"
590 PRINT#1,"                      |              |"
600 PRINT#1,"         A IN---RI----|--------------|"
680 PRINT#1,:PRINT#1,"RI=";RI,"RF=";RF,"BIAS V=";BIAS
1090 PRINT#1, CHR$(12):CLOSE#1
1100 END

    Source: geocities.com/russlk/basic

               ( geocities.com/russlk)