4 PRINT"Ras' Leer Ejec Cargar Borrar";:$=INPUT$(1)
5 IF$="B"THENGOSUB1080:GOTO4
6 IF$="E"THEN170
7 IF$="C"THEN500
8 IF$="L"THEN10
9 GOTO4
10 CLEAR:CLS:INPUT"Archivo:";F2$
20 RESTORE#:RESTORE#F2$+" 1":READ#W$,pk,c,l:NO=VAL(RIGHT$(W$,2))
30 DIM PK(NO),C(NO),L(NO)
40 FOR I=1 TO NO
50 RESTORE#:RESTORE#F2$+STR$(I),0,1
60 READ# S$,PK(I),C(I),L(I)
70 NEXT I
80 NO=I-3:no=(NO*2)+2
90 DIM i(NO+1),I0(NO),C$(NO),PC(NO),FC(NO),HP(NO),HF(NO),A(NO),Y$(no),Q(no),H(no)
100 FOR I=1 TO NO+1
110 i(I)=(C(I+1)-C(I))/(PK(I+1)-PK(I)):i(I)=i(I)*100
120 NEXT I
130 FOR I=1 TO NO
140 I0(I)=i(I)-i(I+1):IF I0(I)>0 THEN C$(I)="CXA" ELSE C$(I)="CVA"
150 A(I)=ABS(L(I+1)/(I0(I)/100))
160 PC(I)=PK(I+1)-(L(I+1)/2)

C(I)=PK(I+1)+(L(I+1)/2):HP(I)=C(I+1)-((i(I)/100)*(L(I+1)/2)):HF(I)=C(I+1)+((i(I+1)/100)*(L(I+1)/2))
162 GOSUB800
165 NEXT I:M=M+1:Q(0)=PK(1):Q(M)=PK(NO):H(0)=C(1):H(M)=C(NO):Y$(M)="R"
170 CLS

RINT"Pk:";PM;:INPUTPM
180 'BUSQ
185 FOR B=1 TO NO
187 IF PM>=PC(B) AND PM<=FC(B) THEN l=B
188 IF PM>=FC(B-1) AND PM<=PC(B) THEN p=B
190 NEXT B
205 FOR B=1 TO no
210 IF PM>=Q(B-1) AND PM<=Q(B) THEN I=B-1
220 NEXT B
225 IF PM>FC(NO) THEN X=PM-FC(NO):Y=(i(NO+1)/100)*X:HQ=HF(NO)+Y:pen=(i(NO+1):GOTO 305
230 IFY$(I)="C"THEN260
235 IFY$(I)="R"THEN240
240 'REC
245 IF PM<PC(1) THEN X=PM-Q(0):Y=(i(1)/100)*X:HQ=H(0)+Y:pen=i(1):GOTO 305
246 IF PM>FC(NO) THEN X=PM-PK(NO):Y=(i(NO)/100)*X:HQ=HF(NO)+Y:pen=i(NO):GOTO 305
250 X=PM-Q(I):Y=(i(p)/100)*X:HQ=H(I)+Y:pen=i(p):GOTO 305
260 'CUR
265 X=PM-Q(I):E1=(X^2/2/A(l))
270 IF C$(l)="CXA" THEN Y=(i(l)/100)*X-E1 ELSE Y=(i(l)/100)*X+E1
280 HQ=H(I)+Y
300 H=-(A(l)*((ABSI0(l))/100)/2)
302 pen=(X*I0(l)/(2*H)+i(l))
305 CLS:SETF3

RINT"Pk=";PM;"Cota=";HQ;
310 LOCATE0,1

RINT"P%=";pen
320 GOTO170
500 CLEAR:CLS:INPUT"Archivo:";F$,"Nro de Ver";NO
510 NO=NO+2
530 FOR I=1 TO NO
540 N$=F$+STR$(I)
542 IF I=1 THEN N$=N$+STR$(NO):GOTO 550
543 IF I=NO THEN 570 ELSE 580
550 CLS:INPUT"Pk Ini";PK,"Cota Ini";C:L=0:GOTO600
570 IF I=NO THEN CLS:INPUT"Pk Final";PK,"Cota Final";C:L=0:GOTO600
580 CLS:SETF0

RINT"Vert.";I-1;
585 LOCATE0,1:INPUT"Pk:";PK
586 CLS:SETF0

RINT"Vert.";I-1;
589 LOCATE0,1:INPUT"Cota:";C
590 CLS:SETF0

RINT"Vert.";I-1;
592 LOCATE0,1:INPUT"Long:";L
600 A$=N$+","+STR$(PK)+","+STR$(C)+","+STR$(L)
610 GOSUB4000
620 NEXT I:GOTO4
800 M=M+1:Q(M)=PC(I):Y$(M)="C":H(M)=HP(I)
805 M=M+1:Q(M)=FC(I):Y$(M)="R":H(M)=HF(I)
810 RETURN
1080 CLS:q$=""

RINT TAB(0);:INPUT"Archivo a B#";F$:IF F$=""THEN1080
1082 FOR Y=1 TO 50
1083 RESTORE#:RESTORE#F$,1,1084:READ#N$,P,P,P:GOTO1085
1084 RETURN
1085 RESTORE#:RESTORE#N$,1:WRITE#:NEXT:RETURN
4000 RESTORE#:RESTORE#"EOF",0,4010:WRITE#:WRITE#A$:WRITE#"EOF":RETURN
4010 WRITE#"EOF":GOTO4000
si les interesa comenten, tengo mas.