Sharp PC1360 Taschencomputer
 

 Sharp PC1360

Flächenberechnung - Listing


Dokumentation ansehen
Programmspeicher-Image laden


10 "K" CLS :WAIT 0:PRINT "POLYGONBERECHNUNG":PRINT "- Werteeingabe -"
20 IF F1 THEN PRINT "Aktuelle Daten loeschen?":INPUT "J/N ";T$:IF T$<>"J" THEN END
30 CLEAR
40 DIM X(255),Y(255)
50 CLS
60 PRINT "X";STR$ N;" ="
70 INPUT X(N)
80 PRINT "Y";STR$ N;" ="
90 INPUT Y(N)
100 IF N=0 THEN LET XI=X(N):XA=X(N):YI=Y(N):YA=Y(N):GOTO 170
110 IF X(N)<XI THEN LET XI=X(N)
120 IF Y(N)<YI THEN LET YI=Y(N)
130 IF X(N)>XA THEN LET XA=X(N)
140 IF Y(N)>YA THEN LET YA=Y(N)
150 IF X(N)=X(0) AND Y(N)=Y(0) THEN LET F1=1:GOTO "Z"
160 IF N=255 THEN PRINT "Max. Anzahl Ecken: 255":PRINT "Berechnen Sie Teile!":F1=1:GOTO "Z"
170 N=N+1:GOTO 50
180 "Z" WAIT 0
190 CLS :IF XA-XI>=YA-YI THEN LET F2=0
200 IF XA-XI<YA-YI THEN LET F2=1
210 MX=(129-F2*98)/(XA-XI):MY=(31+F2*98)/(YA-YI)
220 IF MX>=MY THEN LET M=MY
230 IF MX<MY THEN LET M=MX
240 IF F2 THEN 320
250 FOR I=0 TO N-1
260 LINE ((X(I)-XI)*M+.5,31-(Y(I)-YI)*M+.5)-((X(I+1)-XI)*M+.5,31-(Y(I+1)-YI)*M+.5)
270 NEXT I
280 IF XI<=0 AND XA>0 THEN LINE (-XI*M,0)-(-XI*M,32),X
290 IF YI<=0 AND YA>0 THEN LINE (0,31+YI*M)-((XA-XI)*M+5,31+YI*M),X
300 GOSUB 810
310 GOTO 380
320 FOR I=0 TO N-1
330 LINE ((Y(I)-YI)*M+.5,(X(I)-XI)*M+.5)-((Y(I+1)-YI)*M+.5,(X(I+1)-XI)*M+.5)
340 NEXT I
350 IF YI<=0 AND YA>0 THEN LINE (-XI*M,0)-(-XI*M,32),X
360 IF XI<=0 AND XA>0 THEN LINE (0,-XI*M)-((YA-YI)*M+3,-XI*M),X
370 GOSUB 840
380 WAIT
390 GPRINT
400 "C" CLS :WAIT 0
410 IF F1=0 GOTO "K"
420 CLEAR U,A
430 FOR I=0 TO N-1
440 DX=X(I)-X(I+1)
450 DY=Y(I+1)-Y(I)
460 U=U+ SQR (DX*DX+DY*DY)
470 A=A+(DX*Y(I)+.5*DX*DY)
480 NEXT I
490 "A" CLS :WAIT 0:PRINT "POLYGONBERECHNUNG":PRINT "- Werteausgabe -"
500 PRINT "Flaeche =",A
510 WAIT
520 PRINT "Umfang =",U
530 WAIT 0:CLS
540 PRINT "Xmin = ",XI
550 PRINT "Xmax = ",XA
560 PRINT "Ymin = ",YI
570 WAIT
580 PRINT "Ymax = ",YA
590 CLS :WAIT 0
600 PRINT "Breite in X:",XA-XI
610 PRINT "Breite in Y:",YA-YI
620 END
630 "S" CLS :WAIT 0:PRINT "POLYGONBERECHNUNG":PRINT "- Daten speichern -"
640 INPUT "Filename: ";F$
650 CLOSE
660 OPEN "X:"+F$+".DAT" FOR OUTPUT AS #3
670 PRINT #3,X(*),Y(*),XA,XI,YA,YI,N
680 CLOSE
690 END
700 "L" CLS :WAIT 0:PRINT "POLYGONBERECHNUNG":PRINT "- Daten laden -"
710 IF F1 THEN PRINT "Aktuelle Daten loeschen?":INPUT "J/N ";T$:IF T$<>"J" THEN END
720 INPUT "Filename: ";F$
730 CLOSE
740 OPEN "X:"+F$+".DAT" FOR INPUT AS #2
750 CLEAR
760 DIM X(255),Y(255)
770 INPUT #2,X(*),Y(*),XA,XI,YA,YI,N
780 CLOSE
790 F1=1
800 GOTO "Z"
810 GCURSOR ((XA-XI)*M+6,8):GPRINT 8;14;255;14;8;0;140;144;144;124
820 GCURSOR ((XA-XI)*M+6,20):GPRINT 4;4;4;4;31;14;14;4;0;17;10;4;10;17
830 RETURN
840 GCURSOR ((YA-YI)*M+6,8):GPRINT 4;4;4;4;31;14;14;4;0;140;144;144;124
850 GCURSOR ((YA-YI)*M+6,20):GPRINT 16;112;255;112;16;0;0;0;136;80;32;80;136
860 RETURN


Dokumentation ansehen
Programmspeicher-Image laden



Zur Übersichtstabelle



Home
Falls diese Seite ohne Navigationsleiste angezeigt wird, aktivieren Sie Javascript oder klicken Sie hier!