home *** CD-ROM | disk | FTP | other *** search
- {████████████████████████████████ n-eck.inc ████████████████████████████████████
-
-
-
- ╔════════════════════╗
- ║ IBM-PC ║
- ║ ║
- ║ PC-DOS 3.3 ║
- ║ ║
- ║ TURBO-PASCAL 5.0 ║
- ╚════════════════════╝
-
-
-
- ┌──────────────────────────────────────────────────────────┐
- │ (C) Karl Schlessmann Oken-Gymnasium Vogesenstraße 10 │
- │ 27.04.1989 Tel 0781/76386 7600 Offenburg │
- └──────────────────────────────────────────────────────────┘
-
-
-
- Funktionen zur Berechnung von Umfang und Flächeninhalt eines ebenen n-Ecks
- ───────────────────────────────────────────────────────────────────────────────}
-
- {███████████████████████████████ n-Eck-Umfang █████████████████████████████████}
-
- FUNCTION n_eck_umfang (n : WORD; VAR punkte) : EXTENDED;
-
- CONST max = 3000;
- TYPE typ_wert = EXTENDED; { oder SINGLE, REAL, DOUBLE }
- VAR k : WORD;
- umfang : typ_wert;
- punkt : ARRAY [1 .. max] OF RECORD x, y : typ_wert END ABSOLUTE punkte;
-
- BEGIN
- umfang := 0;
- IF (n < 2) OR (n > max) THEN n := 0;
- FOR k := 1 TO n DO WITH punkt [SUCC (k MOD n)] DO
- umfang := umfang + SQRT (SQR (x - punkt [k].x) + SQR (y - punkt [k].y));
- n_eck_umfang := umfang;
- END;
-
- {███████████████████████████████ n-Eck-Inhalt █████████████████████████████████}
-
- FUNCTION n_eck_inhalt (n : WORD; VAR punkte) : EXTENDED;
-
- CONST max = 3000;
- TYPE typ_wert = EXTENDED; { oder SINGLE, REAL, DOUBLE }
- VAR k : WORD;
- inhalt : typ_wert;
- punkt : ARRAY [1 .. max] OF RECORD x, y : typ_wert END ABSOLUTE punkte;
-
- BEGIN
- inhalt := 0;
- IF (n < 2) OR (n > max) THEN n := 0;
- FOR k := 1 TO n DO WITH punkt [SUCC (k MOD n)] DO
- inhalt := inhalt + (x + punkt [k].x)*(y - punkt [k].y);
- n_eck_inhalt := ABS (inhalt/2);
- END;
-
- {██████████████████████████████████████████████████████████████████████████████}