Tom Wood’s ZX Data Finder and Strength of Materials on one tape.
Data Finder/Strength of Materials
5 REM **STROMAT**
7 PRINT "% % % % STRENGTH OF MATERIALS % % % % % "
8 PRINT "% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
10 PRINT "% % % % % % % % % SHAPE TABLE % % % % % % % % % % "
11 PRINT
12 PRINT
13 PRINT " 1 % SQ/RECT SOLID"
14 PRINT " 2 O SQ/RECT TUBE"
16 PRINT " 3 * ROUND SOLID"
18 PRINT " 4 O ROUND TUBE"
20 PRINT " 5 I SECTION"
22 PRINT " 6 H SECTION"
24 PRINT " 7 C SECTION"
26 PRINT " 8 L SECTION"
28 PRINT " 9 V SECTION (INVERTED)"
30 PRINT " 10 T SECTION"
32 PRINT " 11 + SECTION"
40 PRINT
45 PRINT
50 PRINT "ENTER APPROPRIATE SHAPE CODE"
55 INPUT N
60 CLS
65 IF N>11 THEN LET N=19
70 GOTO N*100
100 PRINT "% % % SQUARE/RECTANGULAR SOLID % % % "
104 PRINT
106 PRINT "\ .\..\..\..\..\..\. ----*-"
108 PRINT "\ :% % % % % \: : LOAD"
110 PRINT "\ :% % % % % \: : \: "
112 PRINT "\ :% % % % % \: -*- D \'.\:.\' "
114 PRINT "\ :% % % % % \: : : \' "
116 PRINT "\ :% % % % % \: Y :"
118 PRINT "\ '\''\''\''\''\''\' -*--*-"
120 PRINT ": :"
122 PRINT "*--B--*"
124 PRINT
128 PRINT "B=";
130 INPUT B
132 PRINT B;" ";
136 PRINT "D=";
138 INPUT D
140 PRINT D;" ";
142 LET Y=D/2
146 PRINT "Y=";Y
148 PRINT
149 LET T=0
150 LET A=B*D
152 LET I=(B*(D**3))/12
154 LET Z=I/Y
155 LET K=SQR (I/A)
156 GOSUB 1600
168 GOTO 1500
200 PRINT "% % % % SQUARE/RECTANGULAR TUBE % % % "
202 PRINT "\ .\..\..\..\..\..\. ----*-"
204 PRINT "\ :\:'\''\''\''\':\: --*-: D=OUTSIDE DEPTH"
206 PRINT "\ :\: \ :\: : : B=OUTSIDE BREARDTH"
208 PRINT "\ :\: \ :\: H : H=INSIDE DEPTH"
210 PRINT "\ :\: \ :\: *-: D K=INSIDE BREARDTH"
212 PRINT "\ :\: \ :\: : : : T=THICKNESS (WALL)"
214 PRINT "\ :\: \ :\: Y : : Y=MOMENT"
216 PRINT "\ :\:.\..\..\..\.:\: :-*-:"
218 PRINT "\ '\''\''\''\''\''\' *-*-*-"
220 PRINT ":*-K-*: :"
222 PRINT ":: -**--T ENTER (IF KNOWN)"
224 PRINT "*--B--* ""0"" (IF UNKNOWN)"
226 PRINT ": :"
230 INPUT T
236 PRINT "D=";
238 INPUT D
240 PRINT D;" B=";
244 INPUT B
246 PRINT B
248 IF T<>0 THEN GOTO 262
249 PRINT "H=";
250 INPUT H
252 PRINT H;
253 PRINT " K=";
254 INPUT K
256 LET T=(B-K)/2
258 PRINT K;" T=";T
260 GOTO 270
262 LET H=D-2*T
264 LET K=B-2*T
266 PRINT "H=";H;" K=";K;" T=";T
268 LET Y=D/2
270 LET A=(D*B)-(H*K)
272 LET I=((B*D**3)-(H*K**3))/12
274 LET Z=I/Y
275 LET K=SQR (I/A)
276 GOSUB 1600
278 PRINT
280 GOTO 1500
282 STOP
300 PRINT "% % % % % % % % % ROUND SOLID % % % % % % % % % % "
301 PRINT
302 PRINT " \..\..\..-----*-"
304 PRINT " \ .% % % % % \. :"
306 PRINT " % % % % % % % :"
308 PRINT "\ :% % % % % % % \: D D=DIAMETER"
310 PRINT "\ :% % % % % % % \: *-:"
312 PRINT "\ :% % % % % % % \: : :"
314 PRINT " % % % % % % % Y : Y=DEM(NEUT FIBER)"
316 PRINT " \ '% % % % % \' : :"
318 PRINT " \''\''\''---*-*-"
320 PRINT
322 PRINT "D=";
324 INPUT D
326 LET Y=D/2
328 PRINT D;" Y=";Y
329 LET B=D
330 LET A=PI/4*(D**2)
331 LET T=0
332 LET I=PI/64*(D**4)
334 LET Z=I/Y
335 LET K=SQR (I/A)
336 GOSUB 1600
340 GOTO 1500
350 STOP
400 PRINT "% % % % % % % % % % ROUND TUBE % % % % % % % % % % "
402 PRINT " \..\..\..-------*-"
404 PRINT " \ .% \:'\''\':% \. ---*-:"
406 PRINT " % \' \ '% : :"
408 PRINT "\ :\:' \':\: ID :"
410 PRINT "\ :\: \ :\: *-: :"
412 PRINT "\ :\:. \.:\: : :OD"
414 PRINT " % \. \ .% Y : :"
416 PRINT " \ '% \:.\..\.:% \' -:-*-:"
418 PRINT " \''\''\''---*-*-*-"
420 PRINT TAB 11;":"
422 PRINT TAB 11;"T"
424 PRINT "ENTER ""T""(IF KNOWN),""0""(IF NOT)"
426 INPUT T
432 PRINT "OD=";
434 INPUT OD
435 LET Y=OD/2
436 IF T<>0 THEN GOTO 446
438 PRINT OD,"ID=";
440 INPUT ID
442 PRINT ID,"T=";(OD-ID)/2,"Y=";OD/2
444 GOTO 451
446 LET ID=OD-(2*T)
450 PRINT OD,"ID=";ID,"T=";T,"Y=";Y
451 LET B=ID
452 LET A=PI/4*(OD**2-ID**2)
453 LET D=OD
454 LET I=(PI/64)*(OD**4-ID**4)
456 LET Z=I/Y
457 LET K=SQR (I/A)
458 GOSUB 1600
462 GOTO 1500
464 STOP
500 PRINT "% % % % % % % % % % % I-SECTION % % % % % % % % % % "
501 LET N=5
502 PRINT " \ .\..\..\..\..\. ---*-"
503 PRINT " \ '\''\':\:'\''\' -*-:"
504 PRINT " \ :\: : : LOAD"
505 PRINT "-*---\ :\: H : \: "
506 PRINT " : \ :\: : : \'.\:.\' "
508 PRINT " Y \ :\: : D \' "
516 PRINT " : \ .\..\.:\:.\..\. -*-:"
518 PRINT "-*-\ '\''\''\''\''\' -*-*-"
520 PRINT " : :: : :"
522 PRINT " T--**-: F"
524 PRINT " *--B-*"
526 PRINT " : :"
530 PRINT "T=";
532 INPUT T
534 PRINT T;" F=";
536 INPUT F
538 PRINT F;" D=";
540 INPUT D
542 LET H=D-(2*F)
543 LET Y=D/2
544 PRINT D,"Y=";Y;" H=";H;" B=";
546 INPUT B
548 PRINT B
550 IF N<>5 THEN GOTO 30+(N*100)
552 LET Y=D/2
554 LET A=(B*D)-(H*(B-T))
556 LET I=((B*(D**3))-((H**3)*(B-T)))/12
558 LET Z=I/Y
561 LET K=SQR (I/A)
564 GOSUB 1600
566 GOTO 1500
600 PRINT "% % % % % % % % % % H-SECTION % % % % % % % % % % % "
601 LET N=6
602 PRINT " \ .\. \ .\. ---*-"
604 PRINT " \ :\: \ :\: T : LOAD"
606 PRINT " \ :\: \ :\: : : \: "
608 PRINT " \ :\:.\..\..\..\.:\: -*-B \'.\:.\' "
610 PRINT " \ :\:'\''\''\''\':\: -*-: \' "
612 PRINT " \ :\: \ :\: : :"
614 PRINT " \ :\: \ :\: Y :"
616 PRINT " \ '\' \ '\' -*-*-:"
618 PRINT " : ::"
620 PRINT " : -**-F"
622 PRINT " *--D--*"
624 PRINT " : :"
628 GOTO 528
630 LET Y=B/2
632 LET A=(B*D)-(H*(B-T))
634 LET I=((2*F*(B**3))+(H*(T**3)))/12
636 LET Z=I/Y
639 LET K=SQR (I/A)
640 GOSUB 564
700 PRINT "% % % % % % % % % % C-SECTION % % % % % % % % % % % "
701 LET N=7
702 PRINT " \ .\..\..\..\..\..\. -----*-"
704 PRINT " \ :\:'\''\''\''\''\' ---*-:"
706 PRINT " \ :\: : : LOAD"
708 PRINT " \ :\: H : \ :"
710 PRINT " \ :\: ------*-: D \ '\.:\.'"
712 PRINT " \ :\: : : : \ '"
714 PRINT " \ :\: Y : :"
716 PRINT " \ :\:.\..\..\..\..\. -:-*-:"
718 PRINT " \ '\''\''\''\''\''\' -*-*-*-"
720 PRINT " :: : :"
722 PRINT "-**-T : F"
724 PRINT " :: : :"
726 PRINT " *--B--*"
727 PRINT " : :"
728 GOTO 528
730 LET Y=D/2
732 LET A=(B*D)-(H*(B-T))
734 LET I=((B*(D**3))-((H**3)*(B-T)))/12
736 LET Z=I/Y
739 LET K=SQR (I/A)
740 GOTO 564
800 PRINT "% % % % % % % % % % L-SECTION % % % % % % % % % % % "
801 LET N=8
806 PRINT "-*-\ .\. ------*-*-"
808 PRINT " : \ :\: : :"
810 PRINT " : \ :\: LOAD : :"
812 PRINT " B \ :\: \: Y :"
814 PRINT " : \ :\: \'.\:.\' : :"
816 PRINT " : \ :\: \' : H"
818 PRINT " :-\ :\: ------*-:"
820 PRINT " : \ :\: :"
822 PRINT " : \ :\:.\..\..\..\..\..\. --*-"
824 PRINT "-*-\ '\''\''\''\''\''\''\' --*-"
826 PRINT " : : :"
828 PRINT " *--D---* T"
830 PRINT " : :"
834 PRINT "T=";
836 INPUT T
838 PRINT T;" B=";
840 INPUT B
841 PRINT B;" D=";
842 INPUT D
845 LET H=B-T
846 LET Y=B-(T*(2*H+D)+(H**2))/(2*(H+D))
848 PRINT D,"H=";H;" Y=";Y
850 LET A=T*(D+H)
851 LET P2=(T*(Y**3))+D*((B-Y)**3)
852 LET P1=(D-T)*((B-Y-T)**3)
853 LET I=(P2-P1)/3
854 LET Z=I/Y
856 LET K=SQR (I/A)
858 GOTO 564
900 PRINT "% % % % % % % % % % V-SECTION % % % % % % % % % % % "
901 LET N=9
902 PRINT " *"
904 PRINT " / \..-----*-"
906 PRINT " / \.:\''\:. :"
908 PRINT " B \.:\' \ '\:. Y"
910 PRINT " / \.:\' \ '\:. :"
912 PRINT " / \.:\' -----\ '\:.-*-N.F."
914 PRINT " * \.:\' \ '\:."
916 PRINT " \ '\' \ '\' "
918 PRINT " //"
920 PRINT " T"
921 PRINT
922 PRINT "T=";
924 INPUT T
926 PRINT T;" B=";
927 INPUT B
928 PRINT B;
930 LET A=T*((2*B)-T)
931 LET D=B
932 LET Y=((B**2)+(B*T)-(T**2))/(2*(2*B-T)*COS (PI/4))
934 LET P1=Y*COS (PI/4)
936 LET I=(2*(P1**4)-(2*(P1-T)**4)+T*(B-(2*P1-T/2))**3)/2
938 LET Z=I/Y
940 LET K=SQR (I/A)
942 PRINT " Y=";Y,"AREA=";A,,"S.MOD.=";Z
944 GOTO 564
950 STOP
1000 PRINT "% % % % % % % % % % T-SECTION % % % % % % % % % % % "
1002 PRINT " *----B---*"
1004 PRINT " : : :"
1006 PRINT "-*---\ .\..\..\..\..\..\..\..\..\. -*-"
1008 PRINT "-*-*-\ '\''\''\''\':\:'\''\''\''\' :"
1010 PRINT " : : \ :\: :"
1012 PRINT " F : NF--\ :\: --*- :"
1014 PRINT " H \ :\: : D"
1016 PRINT " : \ :\: Y :"
1018 PRINT " : \ :\: : :"
1020 PRINT " -*-----\ '\' --*--*-"
1022 PRINT " ::"
1024 PRINT " -**-T"
1025 PRINT "T=";
1026 INPUT T
1028 PRINT T;" F=";
1030 INPUT F
1032 PRINT F;" B=";
1034 INPUT B
1036 PRINT B;" D=";
1038 INPUT D
1040 PRINT D
1041 LET H=D-F
1042 LET A=B*F+H*T
1044 LET Y=D-(((D**2)*T+(F**2)*(B-T))/(2*A))
1045 PRINT "H=";H;" Y=";Y
1046 LET I=.5*(T*Y**3)+B*(D-Y)**3-(B-T)*(D-Y-F)**3
1048 LET Z=I/Y
1050 LET K=SQR (I/A)
1052 GOTO 564
1100 PRINT "% % % % % % % % % % +-SECTION % % % % % % % % % % % "
1101 LET N=11
1104 PRINT " -* *-T"
1106 PRINT " : :"
1108 PRINT " \ .\..\. ------*-"
1110 PRINT " \ :% \: :"
1112 PRINT " : \ :% \: D"
1114 PRINT "-*-\ .\..\..\.:% \:.\..\..\. :"
1116 PRINT " F \ :% % % % % % % \: -*-:"
1118 PRINT "-*-\ '\''\''\':% \:'\''\''\' : :"
1120 PRINT " : : \ :% \: : Y :"
1122 PRINT " : \ :% \: : : :"
1124 PRINT " : \ '\''\' ----*-*-"
1125 PRINT " : :"
1126 PRINT " *---B---*"
1128 PRINT " : :"
1130 PRINT "T=";
1132 INPUT T
1134 PRINT T," F=";
1135 INPUT F
1136 PRINT F,"D=";
1137 INPUT D
1138 PRINT D;" B=";
1140 INPUT B
1142 LET A=D*T+F*(B-T)
1144 LET Y=D/2
1146 LET I=((T*D**3)+(F**3)*(B-T))/12
1148 LET Z=I/Y
1150 LET K=SQR (I/A)
1152 PRINT B;" Y=";Y
1154 GOTO 564
1200 PRINT "% % % % % % % % MATERIAL TABLE % % % % % % % % "
1205 PRINT
1210 PRINT " 1 CLASS 25 CAST GRAY IRON"
1215 PRINT " 2 DUCTILE (NODULAR) CAST IRON"
1220 PRINT " 3 1020 LOW CARBON STEEL"
1225 PRINT " 4 30302 STAINLESS STEEL"
1230 PRINT " 5 51430 STAINLESS STEEL"
1235 PRINT " 6 6063 T5 ALUMINUM"
1240 PRINT " 7 6061 T6 ALUMINUM"
1245 PRINT " 8 NO.2 STRUCTUAL DOUGLAS FIR"
1250 PRINT " 9 ABS INJ. MOLDED OR HIS"
1255 PRINT "10 MOLDED NYLON 6+40 PCT. GLASS"
1260 PRINT
1265 PRINT "ENTER OPPROPRIATE MATERIAL CODE"
1270 INPUT Q
1275 PRINT
1280 PRINT
1300 IF Q=1 THEN LET P=14.2
1305 IF Q=1 THEN LET S=25000
1310 IF Q=2 THEN LET P=25
1315 IF Q=2 THEN LET S=80000
1320 IF Q=3 THEN LET P=30
1325 IF Q=3 THEN LET S=80000
1330 IF Q=4 THEN LET P=28
1335 IF Q=4 THEN LET S=105000
1340 IF Q=5 THEN LET P=29
1345 IF Q=5 THEN LET S=80000
1350 IF Q=6 THEN LET P=10.3
1355 IF Q=6 THEN LET S=29000
1360 IF Q=7 THEN LET P=11.3
1365 IF Q=7 THEN LET S=48000
1370 IF Q=8 THEN LET P=1.3
1375 IF Q=8 THEN LET S=1300
1380 IF Q=9 THEN LET P=.29
1385 IF Q=9 THEN LET S=5500
1390 IF Q=10 THEN LET P=1.5
1395 IF Q=10 THEN LET S=26000
1400 PRINT
1410 LET P=P*1E6
1415 PRINT "TESILE=";S;" MOD.EL.=";P
1500 PRINT AT 21,0;"ENT:(1)SEC(2)MAT(3)LOAD(4)RECALC"
1502 INPUT N$
1504 IF CODE N$<29 AND CODE N$>33 THEN GOTO 1548
1510 LET N=VAL N$
1512 IF N=5 THEN GOTO 3800
1515 CLS
1520 IF N=1 THEN GOTO 10
1530 IF N=2 THEN GOTO 1200
1540 IF N=3 THEN GOTO 2000
1545 IF N=4 THEN GOTO 2055
1548 CLS
1550 PRINT AT 11,10;"% %P%A%R%D%O%N%?% "
1552 FOR J=1 TO 30
1554 NEXT J
1556 GOTO 1500
1600 IF NOT A THEN GOTO 10
1610 PRINT "SECTION AREA= ";A
1615 PRINT "SECTION MODULUS= ";Z
1620 PRINT "MOMENT OF INERTIA= ";I
1625 PRINT "RADIUS OF GYRATION=";K
1630 RETURN
2000 CLS
2001 PRINT "% % % % % % % % BEAM LOAD TABLE % % % % % % % "
2002 LET X=0
2003 LET W=0
2004 LET L=0
2005 PRINT
2006 PRINT "WWWWWWWWW"
2007 PRINT "\:'\''\''\''\''\''\''\''\': 1 SUPPORTED BOTH ENDS"
2008 PRINT "\: \ : UNIFORM LOAD"
2009 GOSUB 2070
2010 PRINT TAB 4;"W"
2012 PRINT "\:'\''\''\''\''\''\''\''\': 2 SUPPORTED BOTH ENDS"
2014 PRINT "\: \ : LOAD AT CENTER"
2015 GOSUB 2070
2016 PRINT " W"
2018 PRINT "\:'\''\''\''\''\''\''\''\': 3 SUPPORTED BOTH ENDS"
2020 PRINT "\: \ : LOAD OFF CENTER"
2021 PRINT
2022 GOSUB 2070
2023 PRINT "% % WWWWWWW 4 FIXED ONE END"
2024 PRINT "% % \''\''\''\''\''\''\'' UNIFORM LOAD"
2026 PRINT "\''\''"
2027 GOSUB 2070
2028 PRINT "% % W 5 FIXED ONE END"
2030 PRINT "% % \''\''\''\''\''\''\'' CONCENTRATED LOAD"
2032 PRINT "\''\''"
2033 GOSUB 2070
2034 PRINT "% % WWWWW% % 6 FIXED BOTH ENDS"
2036 PRINT "% % \''\''\''\''\''% % UNIFORM LOAD"
2038 PRINT "\''\'' \''\''"
2039 GOSUB 2070
2040 PRINT " **ENTER APPROPRIATE CODE**"
2045 INPUT X
2050 CLS
2055 GOTO 2000+(X*100)
2060 STOP
2070 IF X>0 THEN GOTO 2020+(X*100)
2075 RETURN
2080 STOP
2100 LET X=1
2110 GOTO 2006
2120 PRINT
2130 GOSUB 3000
2140 LET S2=-(W*L)/(8*Z)
2150 LET U=(5*(W*(L**3)))/(384*P*I)
2160 GOSUB 3500
2170 STOP
2200 LET X=2
2210 GOTO 2010
2220 PRINT
2230 GOSUB 3000
2240 LET S2=(W*L)/(4*Z)
2250 LET U=(W*(L**3))/(48*P*I)
2260 GOTO 3500
2270 STOP
2300 LET X=3
2310 GOTO 2016
2320 PRINT
2330 GOSUB 3000
2340 LET S2=(W*(X1*(L-X1)))/(Z*L)
2345 LET V=SQR (((I/3)+(2*X1))/(3*(L-X1)))*(L-X1)
2350 LET U=(W*X1*(V**3))/(3*P*I*L)
2360 GOTO 3500
2370 STOP
2400 LET X=4
2410 GOTO 2023
2420 PRINT
2430 GOSUB 3000
2440 LET S2=(W*L)/(2*Z)
2450 LET U=(W*(L**3))/(8*P*I)
2460 GOTO 3500
2470 STOP
2500 LET X=5
2510 GOTO 2028
2520 PRINT
2530 GOSUB 3000
2540 LET S2=(W*L)/Z
2550 LET U=(W*(L**3))/(3*P*I)
2560 GOTO 3500
2570 STOP
2600 LET X=6
2610 GOTO 2034
2620 PRINT
2630 GOSUB 3000
2640 LET S2=(W*L)/(12*Z)
2650 LET U=(W*(L**3))/(384*P*I)
2660 GOTO 3500
2670 STOP
3000 PRINT "W (LOAD IN LS.)=";
3005 IF W>0 THEN GOTO 3020
3010 INPUT W
3020 PRINT W
3030 PRINT "L (BEAM LENGTH-IN.)=";
3035 IF L>0 THEN GOTO 3050
3040 INPUT L
3050 PRINT L
3060 IF X<>3 THEN GOTO 3100
3070 PRINT "X (DIST-W TO NEAR SUPP)=";
3080 INPUT X1
3090 PRINT X1
3100 RETURN
3500 PRINT
3502 PRINT "LOAD=";W*L;" IN.LBS."
3503 PRINT "SECTION=";D;" X ";B;" X ";T
3504 PRINT "MATL. STRENGTH =";S;" PSI"
3505 PRINT "STRESS (CRIT.PT.)=";INT S2;" PSI"
3510 PRINT "DEFL. (CRIT. PT.)=";(INT (U*1E6))/1E6;" IN."
3520 PRINT
3525 IF ABS S2<S THEN GOTO 3650
3530 PRINT
3600 FOR N=1 TO 10
3605 PRINT AT 14,8;" "
3608 FOR J=1 TO 3
3610 NEXT J
3615 PRINT AT 14,8;"% %O%V%E%R% %S%T%R%E%S%S%E%D% "
3620 FOR J=1 TO 6
3625 NEXT J
3630 NEXT N
3650 GOSUB 1600
3655 PRINT AT 20,5;"ENTER 5 FOR COPY"
3660 GOTO 1500
3800 COPY
3810 GOTO 1500
9900 CLS
9905 CLEAR
9910 PRINT AT 11,9;"START RECORDER"
9920 PRINT AT 13,14;"PRESS ENTER"
9930 INPUT Q$
9940 SAVE "STROMA%T"
9950 CLS
9960 RUN
9999 STOP
People
No people associated with this content.