Image Map Image Map
Page 2 of 5 FirstFirst 12345 LastLast
Results 11 to 20 of 41

Thread: TI-74 Basic programs?

  1. Default

    I'm not sure if this will make sense to anyone else, but this helps me pay my bills. I admit my monthly bills are quite simple. CK in line 1 is my current checking account balance. DATE$ is for date or indentity. NOTE$ is for a short note or reminder. The values in line 100 to 195 are the stored current bill identities and values. Change or expand the programs bill identities and values as needed (these are ficticious values). Enter 0 for no bill value.

    Since the TI-74 doesn't retain variables when turned off, I'm storing the initial bill values in DATA statements. CK will load in from the program at the beginning; alter CK thereafter if desired. All of the bill values must be entered in by hand. When a bill value is present as a left side value, enter it. After that, alter any value to see how the (exp) expense total and the (nw.acc.bal) new checking account balance changes. The left figure is from the DATA statements, the center figure is the entered in value and the right figure is the tally. I suppose I could tally the bills in one line on the display directly but this has a little more discription. It isn't great but it helps me even-out my flexible payment bills on my fixed monthly income.

    1 CK=2000:dATE$="Bills: apr2 2018": GOTO 100
    2 REM 4-18-18

    100 DATA house,300.50
    110 DATA card1,50.75
    120 DATA card2,60.55
    125 DATA card3,70.25
    130 DATA phone,90.65
    140 DATA elec,80.75
    150 DATA n-gas,70.40
    160 DATA ins1,87.35
    170 DATA ins2,75.80
    175 DATA ins3,63.25
    180 DATA misc1,12.20
    185 DATA misc2,40.60
    190 DATA misc3,23.80,eof

    195 NOTE$="none"

    203 PRINT CK;"ck.acc.bal > ";:ACCEPT NULL(CK),CK
    204 IF CK=0 THEN 1

    205 READ R$:T$=R$:IF R$="house"THEN READ R$ ELSE 205

    220 READ R$:T$=R$:IF R$="card1"THEN READ R$ ELSE 220
    230 PRINT T$;" ";R$;C1;TAL;"> ";:ACCEPT NULL(C1),C1:TAL=TAL+C1

    240 READ R$:T$=R$:IF R$="card2"THEN READ R$ ELSE 240
    250 PRINT T$;" ";R$;C2;TAL;"> ";:ACCEPT NULL(C2),C2:TAL=TAL+C2

    252 READ R$:T$=R$:IF R$="card3"THEN READ R$ ELSE 252
    254 PRINT T$;" ";R$;C3;TAL;"> ";:ACCEPT NULL(C3),C3:TAL=TAL+C3

    260 READ R$:T$=R$:IF R$="phone"THEN READ R$ ELSE 260

    280 READ R$:T$=R$:IF R$="elec"THEN READ R$ ELSE 280

    300 READ R$:T$=R$:IF R$="n-gas"THEN READ R$ ELSE 300

    320 READ R$:T$=R$:IF R$="ins1"THEN READ R$ ELSE 320
    330 PRINT T$;" ";R$;I1;TAL;"> ";:ACCEPT NULL(I1),I1:TAL=TAL+I1

    340 READ R$:T$=R$:IF R$="ins2"THEN READ R$ ELSE 340
    350 PRINT T$;" ";R$;I2;TAL;"> ";:ACCEPT NULL(I2),I2:TAL=TAL+I2

    352 READ R$:T$=R$:IF R$="ins3"THEN READ R$ ELSE 352
    354 PRINT T$;" ";R$;I3;TAL;"> ";:ACCEPT NULL(I3),I3:TAL=TAL+I3

    360 READ R$:T$=R$:IF R$="misc1"THEN READ R$ ELSE 360
    370 PRINT T$;" ";R$;M1;TAL;"> ";:ACCEPT NULL(M1),M1:TAL=TAL+M1

    380 READ R$:T$=R$:IF R$="misc2"THEN READ R$ ELSE 380
    390 PRINT T$;" ";R$;M2;TAL;"> ";:ACCEPT NULL(M2),M2:TAL=TAL+M2

    392 READ R$:T$=R$:IF R$="misc3"THEN READ R$ ELSE 392
    394 PRINT T$;" ";R$;M3;TAL;"> ";:ACCEPT NULL(M3),M3:TAL=TAL+M3

    395 PRINT "note..none";NOTE$:PAUSE

    400 NCK=CK-TAL
    410 PRINT "exp";TAL;" nw.acc.bal";NCK:PAUSE
    420 TAL=0:RESTORE:GOTO 200





    exp 1026.85
    nw.acc.bal 973.15

  2. Default

    I made this small RPN style calculator mainly to work on my old car's suspension using a polar to rectangular(pr) and a rectangular to polar(rp) routine in Basic. I find it helpful to roll over or alter previous inputs. Using the TI-74 in calculator mode I used the (x,y) key then P>R and R>P to check RPN Calc's operation. It seems to be working okay, showing similar results as the 74 calculator mode. Check out RPN Calc thoroughly to see if it's working properly before using it. All angles are in degrees decimal. Answers with ">" direction indicator (use CTL 4 arrow if desired), uses the "space bar" to bring the answer to 1) input. Use "shift #" to clear or "0" to end. For 'pr' enter radius first then angle. For 'rp' enter x first then y.

    16000 PRINT "RPN Calc ":PAUSE 1
    16001 C=0:Z$="?":d=0:dEG
    16002 PRINT "1)";C;": ";:ACCEPT NULL(C),C
    16010 PRINT "2)";D;": ";:ACCEPT NULL(D),D
    16012 PRINT Z$;") + - * / ^ rt pr rp ";:ACCEPT NULL(Z$),Z$
    16015 IF Z$="0"THEN END
    16020 IF Z$="+"THEN A=C+D:GOTO 16080
    16030 IF Z$="-"THEN A=C-D:GOTO 16080
    16040 IF Z$="*"THEN A=C*D:GOTO 16080
    16050 IF Z$="/"THEN A=C/D:GOTO 16080
    16060 IF Z$="^"THEN A=C^D:GOTO 16080
    16070 IF Z$="rt"THEN A=C^(1/D):GOTO 16080
    16072 IF Z$="pr"THEN Y=C*SIN(D):X=C*COS(D):GOTO 16100
    16073 IF Z$="rp"THEN R=SQR(C^2+D^2):A=ASIN(D/R):GOTO 16110
    16078 PRINT ">..error":PAUSE:GOTO 16002

    16080 ANS=A:PRINT "ans=";A;":";C;Z$;D;:PAUSE
    16090 PRINT ">":A$=KEY$:IF A$="#"THEN 16001
    16092 IF A$=" "THEN C=A:GOTO 16002
    16093 IF A$="0"THEN END
    16095 GOTO 16002

    16100 PRINT "x=";X;"y=";Y:PAUSE:GOTO 16002

    16110 IF C<0 AND D>0 THEN A=ABS(180-A)
    16112 IF C<0 AND D<0 THEN A=ABS(180-A)-360
    16120 PRINT "r=";R;CHR$(242);"a=";A:PAUSE:GOTO 16002


    1) 1728, 2) 3, rt = 12
    1) 100, 2) 40, pr =, x=76.60444431, y=64.27876097
    1) 145, 2) 23, rp =, r=146.812806, a=9.013204356
    Last edited by thumbs; May 12th, 2018 at 11:04 PM.

  3. Default

    Recently I decided to build a small stationary steam engine for entertainment. Not being a professional machinist or engineer, I needed to figure out how to determine and make a small eccentric cam for the valve. I came up with this program for the TI-74. I made a diagram of a cams dimensional values below using text and characters. The diagram and its proportions aren't too pretty but it should give some idea of what I thought was a way to determine an eccentric cams stroke and demensions.

    3000 REM RUN 3000
    3005 PRINT "Eccentric Cam":PAUSE 1
    3010 PRINT ECM;" o/a stroke,in. ";: ACCEPT NULL(ECM),ECM
    3020 PRINT DCM;" shaft dia,in. ";: ACCEPT NULL(DCM),DCM
    3030 PRINT BCM;" small offset (B),in. ";: ACCEPT NULL(BCM),BCM
    3050 PRINT "Large offset (A),in.";ACM:PAUSE
    3060 PRINT "Cam dia,in.";CCM:PAUSE
    3070 PRINT "Cam radius,in.";RCM:PAUSE:GOTO 3005


    overall stroke desired 1.312"
    driving shaft diameter .5"
    small offset (B) .125"

    Large offset (A)= 1.437"
    Cam diameter= 2.062"
    Cam radius= 1.031"

    Cam dia. 2.062"
    | |
    * *
    / \
    1.031" <Rad>+ (+) (overall stroke 1.312")
    shaft dia. .5" --------\--- --->| | /
    | * | | |
    | *
    | | | |
    1.437" Large offset |< -A- > | | |
    | |
    | |
    B-->| |<--small offset .125

    (the text diagram I made won't post properly....sorry, the best I can do)
    Last edited by thumbs; July 12th, 2018 at 06:44 PM.

  4. #14


    Steam engines are a lot of fun - Here's the dynamometer pgm

    I mentioned awhile back - Nothing special, but might be useful...


    I should mention that the "Deceleration" term is an attempt to model

    the real-world behavior of a bicycle - At low speeds, where the inverse-

    square nature of aerodynamic drag is not yet the dominant factor.
    Last edited by JGardner; July 11th, 2018 at 03:35 PM.

  5. Default

    Last edited by thumbs; July 31st, 2018 at 04:22 AM.

  6. #16


    Unit-Unit, 10-30-18

    I'm not very good at math. Every now and then I play with electronics. Here's a program I wrote for the TI-74 that converts the value from one unit to another. The conversion range is what I use most.

    Here's a unit converter I found on line that could be used in place of or used to confirm the TI-74's results. If you type in the TI-74 program check to make sure it's working properly.


    6000 PRINT "Unit-Unit":PAUSE 1
    6005 INPUT "Value ";C9," p,n,m,ml,k,mg,g ";Z$," p n m ml u k mg g ";X$

    6010 W9=0:A=0:IF Z$="p"THEN W9=C9*10^-12
    6020 IF Z$="n"THEN W9=C9*10^-9
    6030 IF Z$="m"THEN W9=C9*10^-6
    6040 IF Z$="ml"THEN W9=C9*.001
    6050 IF Z$="k"THEN W9=C9*1000
    6060 IF Z$="mg"THEN W9=C9*10^6
    6070 IF Z$="g"THEN W9=C9*10^9

    6090 IF X$="p"THEN A=W9*10^12
    6100 IF X$="n"THEN A=W9*10^9
    6110 IF X$="m"THEN A=W9*10^6
    6120 IF X$="ml"THEN A=W9*1000
    6130 IF X$="k"THEN A=W9*.001
    6140 IF X$="mg"THEN A=W9*10^-6
    6150 IF X$="g"THEN A=W9*10^-9
    6160 IF X$="u"THEN A=W9:X$="u"

    6170 IF W9=0 OR A=0 THEN PRINT"error..":PAUSE:GOTO 6005
    6180 PRINT C9;Z$;" =";A;X$:PAUSE:GOTO 6005

    Example: Value = 155

    155 (ml)milli-sec is how many (m)micro-sec ?

    155 (ml)milli-sec = 155000 (m)micro-sec

  7. #17


    Drive Ratio, 11-10-18

    My grandson was setting up his drive train on his air-cooled VW Bug. Since his cooling is tied to engine rpm/fan he wanted to know what his setup would be doing. I made this program for the TI-74 to help him determine what he had. Hope I did it right

    Here's an online calculator that gives similar mph results,

    5000 PRINT "Drive Ratio":PAUSE 1
    5005 IMAGE #####.##
    5010 PRINT AA;"> r&p ratio to 1 ";:ACCEPT NULL(AA),AA
    5020 PRINT BB;"> Xth gear ratio to 1 ";:ACCEPT NULL(BB),BB
    5030 PRINT CC;"> engine stroke,in. ";:ACCEPT NULL(CC),CC
    5040 PRINT DD;"> engine rpm ";:ACCEPT NULL(DD),DD
    5050 PRINT EE;"> tire dia,in. ";:ACCEPT NULL(EE),EE

    5100 XX=AA*BB
    5110 YY=DD*EE/(XX*336)
    5120 ZZ=CC*2*DD/12

    5130 PRINT "Drive ratio,? to 1=";:PRINT USING 5005;XX:PAUSE
    5140 PRINT "Vehicle speed,mph=";:PRINT USING 5005;YY:PAUSE
    5150 PRINT "Piston speed,ft/min=";:PRINT USING 5005;ZZ:PAUSE
    5160 GOTO 5000


    r&p ratio to 1, 4.125
    Xth gear ratio to 1, .89 (4th)
    engine stroke,in. 2.717"
    engine rpm, 3500
    tire dia,in. 24.5"

    Drive ratio,? to 1= 3.67
    Vehicle speed,mph= 69.52
    Piston speed,ft/min= 1584.92

    ring & pinion ratio, ? to 1
    Xth gear ratio, ? to 1, refers to 1st, 2nd, 3rd, etc... gear ratio
    engine stroke, inches
    engine rpm, rev/min
    tire diameter, mounted tire overall diameter, inches

    Drive ratio, final drive ratio (r&p + gear), ? to 1
    Vehicle speed, mph
    Piston speed, feet/minute (4000 ft/min max)

  8. #18


    Thanks for posting these programs here! I love programmable calculators.

  9. #19


    Bin Dec Hex, 11-28-18

    I was given an old Tandy Color Computer. While playing around with it I decided I needed something to convert from binary to decimal to hex. I found these bin-dec-hex converters online.....

    They work great but I wanted something that was a little easier and would roll between binary, decimal and hex. So, I wrote this program for my TI-74. It will only do decimal to 1048575, hex to FFFFF and binary a little larger. I confirmed the output with the online converters above and it seems to give similar results. Like I say, I'm no programmer or math expert so if you type it in make sure it's working okay.

    9000 PRINT "Bin Dec Hex":PAUSE .8
    9002 T8$=Z8$:PRINT Z8$;" bin ";:ACCEPT NULL(Z8$),Z8$
    9005 J8=0:A8=0:I8=LEN(Z8$):IF Z8$=""THEN 9000
    9010 C8=VAL(SEG$(Z8$,I8,1)):A8=A8+INT(C8*2^J8 ):J8=J8+1:I8=I8-1
    9015 IF C8>1 OR C8<0 THEN PRINT "..not binary":PAUSE:Z8$=T8$:GOTO 9000
    9020 IF I8=0 THEN PRINT "Dec=";A8:PAUSE:GOTO 9500
    9030 GOTO 9010

    9500 PRINT A8;"dec ";:ACCEPT NULL(A8 ),A8
    9502 IF A8<0 THEN PRINT "..pos # only":PAUSE:GOTO 9500
    9505 A9=A8:IF A8>1048575 THEN PRINT "..dec 1048575 max":PAUSE:GOTO 9500
    9510 B9=A8/16^4:K9=INT(B9):A8=B9-INT(B9):B9=(A8*16^4)/16^3:C9=INT(B9)
    9520 A8=B9-INT(B9):B9=(A8*16^3)/16^2:W9=INT(B9):A8=B9-INT(B9):B9=(A8*16^2)/16
    9530 I9=INT(B9):A8=B9-INT(B9):J9=INT(A8*16.001)
    9540 A9$="":CC=K9:GOSUB 9600:CC=C9:GOSUB 9600:CC=W9:GOSUB 9600
    9550 CC=I9:GOSUB 9600:CC=J9:GOSUB 9600
    9560 PRINT "Hex= ";A9$:PAUSE:GOSUB 9800
    9570 IF F9$=""THEN PRINT "..not hex":PAUSE:GOTO 9560
    9580 GOTO 9000

    9600 IF CC=10 THEN A9$=A9$&"A"
    9610 IF CC=11 THEN A9$=A9$&"B"
    9620 IF CC=12 THEN A9$=A9$&"C"
    9630 IF CC=13 THEN A9$=A9$&"D"
    9640 IF CC=14 THEN A9$=A9$&"E"
    9650 IF CC=15 THEN A9$=A9$&"F"
    9660 IF CC<10 THEN A9$=A9$&STR$(CC)
    9670 RETURN

    9800 H9$=A9$:F9$="":CT=0
    9810 CT=CT+1:G9$=SEG$(H9$,CT,1)
    9820 IF CT<6 THEN GOSUB 9900 ELSE Z8$=F9$:RETURN
    9830 GOTO 9810

    9900 IF G9$="F"THEN F9$=F9$&"1111"
    9910 IF G9$="E"THEN F9$=F9$&"1110"
    9915 IF G9$="D"THEN F9$=F9$&"1101"
    9920 IF G9$="C"THEN F9$=F9$&"1100"
    9925 IF G9$="B"THEN F9$=F9$&"1011"
    9930 IF G9$="A"THEN F9$=F9$&"1010"
    9935 IF G9$="9"THEN F9$=F9$&"1001"
    9940 IF G9$="8"THEN F9$=F9$&"1000"
    9945 IF G9$="7"THEN F9$=F9$&"0111"
    9950 IF G9$="6"THEN F9$=F9$&"0110"
    9955 IF G9$="5"THEN F9$=F9$&"0101"
    9960 IF G9$="4"THEN F9$=F9$&"0100"
    9965 IF G9$="3"THEN F9$=F9$&"0011"
    9970 IF G9$="2"THEN F9$=F9$&"0010"
    9975 IF G9$="1"THEN F9$=F9$&"0001"
    9980 IF G9$="0"THEN F9$=F9$&"0000"
    9985 RETURN


    bin 11111111111111111111 [enter]
    Dec= 1048575 [enter]
    1048575 dec 49152 [enter]
    Hex= 0C000 [enter]
    0C000 hex 0FAE2 [enter]

    00001111101011100010 bin [enter]
    Dec= 64226 [enter]
    64226 dec [enter]
    Hex= 0FAE2 [enter]
    0FAE2 hex [enter]
    Last edited by thumbs; November 28th, 2018 at 09:24 PM.

  10. #20


    On the Dec Bin Hex program I found an error today. (I can only edit up to 15 mins after I post). Line 9820 reads:

    9820 IF CT<6 THEN GOSUB 9900 ELSE Z8$=F9$:RETURN

    It should be:

    9820 IF CT<6 THEN GOSUB 9900 ELSE Z8$=F9$:GOTO 9000


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts