CLS PRINT "BENDING MOMENT AND SHEAR FORCE ENVELOPES" DIM X(25):DIM V(25,2):DIM M(25,2) DIM S(25):DIM B(25) REM ==INPUT GENERAL DATA AND INITIALIZE== GOSUB [EIZE] REM==DEFINE OUTPUT POINTS== GOSUB [FOTHZE] REM ==ENVELOPE COMPUTATION== GOSUB [SINIZE] REM ==OUTPUT RESULTS== GOSUB [ONEIFIZE] GOTO [TWTWZEZE] [EIZE] PRINT PRINT PRINT PRINT "**PROBLEM SPECIFICATION**" PRINT INPUT "SPAN LENGTH = ";L PRINT INPUT "NUMBER OF LOAD CASES = ";N PRINT PRINT "**OUTPUT DEFINITION**" PRINT INPUT "NUMBER OF SUBINTERVALS= ";K1 PRINT PRINT "NUMBER OF ADDITIONAL" PRINT INPUT "OUTPUT POINTS = ";K2 PRINT T = K1 + K2 + 1 REM ==INITIALIZE VARIABLES== FOR I = 1 TO T X(I) = 0 FOR J = 1 TO 2 M(I,J) = 0 V(I,J) = 0 NEXT J NEXT I RETURN REM ==DEFINE AND ORDER OUTPUT POINTS== [FOTHZE] D = L / (K1) K3 = K1 + 1 FOR I = 1 TO K3 X(I) = (I -1) * D NEXT I K4 = K3 + 1 IF K2 = 0 THEN [SISEZE] PRINT "ENTER ADD.POINTS POSITION" FOR I= K4 TO T I1 = I- K3 PRINT PRINT "POINT NO. ";I1 INPUT "X = ";XXX X(I)=XXX NEXT I T1 = T -1 FOR I = 1 TO T1 I1 = I + 1 FOR J = I1 TO T IF X(J) >=X(I) THEN [SIFIZE] Y = X(I) X(I) = X(J) X(J) = Y [SIFIZE] NEXT J NEXT I [SISEZE] RETURN REM ==ENVELOPE DETERMINATION== [SINIZE] PRINT PRINT "**LOAD CASES SPECIFICATION**" PRINT K = 0 [SETHZE] K = K + 1 PRINT "****************";K IF K > N THEN [ONONEIZE] PRINT REM ==INITIALIZE== FOR I = 1 TO T S(I) = 0 B(I) = 0 NEXT I PRINT "> LOAD CASE ";K PRINT INPUT "MULTIPLIER = ";Z PRINT PRINT "END MOMENTS" PRINT INPUT "MA = ";M0 INPUT "MB = ";M1 REM ==EFFECT OF END MOMENTS== GOSUB [ONTWZEZE] PRINT PRINT "DISTRIBUTED LOAD" PRINT INPUT "WA = ";W0 INPUT "WB = ";W1 REM ==EFFECT OF DISTR.LOAD== GOSUB [ONTHONZE] PRINT INPUT "NUMBER OF POINT LOADS = ";N3 IF N3 = 0 THEN [ONONFIZE] J = 0 [ONZETWZE] J = J + 1 IF J > N3 THEN [ONONFIZE] PRINT PRINT "LOAD ";J PRINT INPUT "MAGNITUDE = ";P INPUT "DISTANCE = ";A1 REM ==EFFECT OF POINT LOAD== GOSUB [ONFOSIZE] REM==NEXT POINT LOAD== GOTO [ONZETWZE] REM ==CHECK FOR MAXIMUM AMPLITUDES== [ONONFIZE] GOSUB [ONSISIZE] REM ==NEXT LOAD CASE== GOTO [SETHZE] [ONONEIZE] RETURN REM ==EFFECT OF END MOMENTS== [ONTWZEZE] V0 = (M0 + M1) / L I = 0 [ONTWTWZE] I = I + 1 IF I > T THEN [ONTWNIZE] S1 =-1*V0 B1 = M0+S1* X(I) S(I) = S(I) + S1 B(I) = B(I) + B1 GOTO [ONTWTWZE] [ONTWNIZE] RETURN REM==EFFECT OF DISTR. LOAD== [ONTHONZE] V0 = (W0 / 3 + W1 / 6) * L A1=(W1-W0) / L I = 0 [ONTHFOZE] I = I + 1 IF I > T THEN [ONFOFOZE] X1 = X(I) X2 = X1 * X1 X3 = X2 * X1 S2 = V0 -W0 * X1 -A1 * X2 / 2 B2 = V0 * X1-W0 * X2 / 2 -A1 * X3 / 6 S(I) = S(I) + S2 B(I) = B(I) + B2 GOTO [ONTHFOZE] [ONFOFOZE] RETURN REM ==EFFECT OF POINT LOAD== [ONFOSIZE] C = L -A1 V0 = P * C / L V1 = P * A1 / L I = 0 [ONFIZEZE] I = I+1 IF I > T THEN [ONSIFOZE] X1 = X(I) IF X1 >= A1 THEN [ONFINIZE] S3 = V0 B3 =(V0 * X1) S(I) = S(I) + S3 B(I) = B(I) + B3 GOTO [ONFIZEZE] [ONFINIZE] S3 = -1*V1 B3 = V1 * (L -X1) S(I) = S(I) + S3 B(I) = B(I) + B3 GOTO [ONFIZEZE] [ONSIFOZE] RETURN REM ==ENVELOPE GENERATION== [ONSISIZE] FOR I= 1 TO T REM ==APPLY MULTIPLIER== S1 = S(I) * Z B1= B(I)* Z REM ==MAX SHEAR+== IF S1 <=V(I,1) THEN [ONSEFOZE] V(I, 1) = S1 REM ==MAX SHEAR-:= [ONSEFOZE] IF S1 >= V(I,2) THEN [ONSESEZE] V(I,2) = S1 REM==MAX MOMENT+=: [ONSESEZE] IF B1 <=M(I,1)THEN [ONEIZEZE] M(I, 1) = B1 REM ==MAX MOMENT [ONEIZEZE] IF B1 >= M(I,2)THEN [ONEITWZE] M(I,2) = B1 [ONEITWZE] NEXT I REM ==OUTPUT RESULTS== RETURN [ONEIFIZE] PRINT PRINT "BENDING MOMENT ENVELOPE" PRINT "***********************" PRINT FOR I = 1 TO T PRINT PRINT "POINT ";I;" AT X = ";X(I) PRINT PRINT "MAX M = ";M(I,1) PRINT "MIN M = ";M(I,2) NEXT I PRINT PRINT "IS IT OK TO CONTINUE (Y/N) "; INPUT C$ IF C$ = "N" THEN [TWONTWZE] PRINT PRINT PRINT "SHEAR FORCE ENVELOPE" PRINT "********************" PRINT FOR I = 1 TO T PRINT PRINT "POINT ";I;" AT X = ";X(I) PRINT PRINT "MAX V = ";V(I,1) PRINT "MIN V : ";V(I,2) NEXT I [TWONTWZE] RETURN [TWTWZEZE] END