10 WIDTH 80
20 WIDTH LPRINT 80
30 OPTION BASE 1
40 DIM X(40),Y(40)
50 DIM ST(100)
60 DIM FL(100)
70 DIM VL(100)
80 BL = 0
90 S = 68
100 ZZ = 0
110 INPUT "Geben Sie die Anzahl der Profile ein:",PL
120 INPUT "Mit welchem Anfangswert soll =PROFIL= ausgedruckt werden:",PROFZAEL
130 INPUT "Mit welchem Anfangswert soll =STATION= ausgedruckt werden:",ST(1)
140 LPRINT "Profil Nr.";TAB(12);"Station";TAB(23);"x";TAB(30);"y";TAB(35);"Fl{che i. qm";TAB(49);"Masse einzeln";TAB(63);"Masse gesamt"
150 LPRINT TAB(4);PROFZAEL;TAB(12);:LPRINT USING "####.##";ST(1);:LPRINT TAB(42);"0.00";TAB(57);"0.000";TAB(70);"0.000"
160 ZZ = ZZ+1
170 FOR I = 2 TO PL
180 PROFZAEL = PROFZAEL + 1
190 INPUT "Station:",ST(I)
200     IF ST(I) = 0 THEN PRINT "Bitte }berpr}fen Sie den Wert =STATION= von Profil Nr.";I:GOTO 190
210     IF ST(I) < ST(I-1) THEN PRINT "Bitte }berpr}fen Sie den Wert =STATION= von Profil Nr.";I:GOTO 190
220 IF ZZ > S THEN GOSUB 520
230 LPRINT TAB(4);PROFZAEL;TAB(12);:LPRINT USING "####.##";ST(I)
240 ZZ = ZZ+1
250 IF I = PL THEN GOTO 440
260 INPUT "Geben Sie die Anzahl der Eckpunkte ein:",N
270 IF N < 3 THEN GOTO 260
280 PRINT "Die x,y Koordinaten werden in m angegeben."
290 FOR W = 1 TO N
300 INPUT "x    y",X(W),Y(W)
310 IF W = N THEN PRINT CHR$(7)
320 IF ZZ > S THEN GOSUB 520
330 LPRINT TAB(21);:LPRINT USING "###.##";X(W);:LPRINT TAB(28);:LPRINT USING "###.##";Y(W)
340 ZZ = ZZ+1
350 LET F = X(1)*(Y(2)-Y(N))+X(N)*(Y(1)-Y(N-1))
360 NEXT W
370 FOR W = 2 TO N-1
380 LET F = F + (X(W)*(Y(W+1)-Y(W-1)))
390 NEXT W
400 F = F/2
410 IF F =< 0 THEN F = F*-1
420 FL(I) = F
430 FL(1) = 0
440 FL(PL) = 0
450 LET VL(I) = ((FL(I-1)+FL(I))/2)*(ST(I)-ST(I-1))
460 MG = MG + VL(I)
470 IF ZZ > S THEN GOSUB 520
480 LPRINT TAB(36);:LPRINT USING "###,###.##";FL(I);:LPRINT TAB(51);:LPRINT USING "###,###.###";VL(I);:LPRINT TAB(64);:LPRINT USING "###,###.###";MG
490 ZZ = ZZ+1
500 NEXT I
510 END
520 BL = BL+1
530 LPRINT TAB(68);"* Blatt";BL;"*"
540 LPRINT CHR$(12)
550 LPRINT "Profil Nr.";TAB(12);"Station";TAB(23);"x";TAB(30);"y";TAB(35);"Fl{che i. qm";TAB(49);"Masse einzeln";TAB(63);"Masse gesamt"
560 ZZ = 1
570 RETURN
tatio