|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1536 (0x600)
Types: TextFile
Names: »TREKANT.PAS«
└─⟦08ea08c61⟧ Bits:30003924 PolyPascal programmer
└─⟦this⟧ »TREKANT.PAS«
PROGRAM trekant;
TYPE
talpar = RECORD
x, y : REAL;
END;
talsaet = ARRAY(.1 .. 3.) OF talpar;
side = ARRAY(.1 .. 3.) OF REAL;
VAR
pkt, v : talsaet;
si : side;
s, areal : REAL;
i : INTEGER;
BEGIN
WRITE(CLRHOM);
FOR i := 1 TO 3 DO
BEGIN
WRITE('Tast ', i, '. punkts førstekoordinat: ');
READLN(pkt(.i.).x);
WRITE('Tast ', i, '. punkts andenkoordinat: ');
READLN(pkt(.i.).y);
END;
FOR i := 1 TO 3 DO
BEGIN
WRITELN(i, '. punkts førstekoordinat: ', pkt(.i.).x : 6 : 3);
WRITELN(i, '. punkts andenkoordinat: ', pkt(.i.).y : 6 : 3);
END;
v(.1.).x := pkt(.2.).x - pkt(.1.).x;
v(.1.).y := pkt(.2.).y - pkt(.1.).y;
v(.2.).x := pkt(.3.).x - pkt(.2.).x;
v(.2.).y := pkt(.3.).y - pkt(.2.).y;
v(.3.).x := pkt(.1.).x - pkt(.3.).x;
v(.3.).y := pkt(.1.).y - pkt(.3.).y;
FOR i := 1 TO 3 DO
BEGIN
si(.i.) := SQRT(SQR(v(.i.).x) + SQR(v(.i.).y));
WRITELN('Side ', i, ' har længden: ', si(.i.) : 6 : 3);
END;
s := (si(.1.) + si(.2.) + si(.3.)) / 2;
areal := SQRT(s * (s - si(.1.)) * (s - si(.2.)) * (s - si(.3.)));
WRITELN('Areal bestemt v.h.a. Herons formel: ', areal : 6 : 3);
areal := 1 / 2 * abs(v(.1.).x * v(.2.).y - v(.1.).y * v(.2.).x);
WRITELN('Areal bestemt v.h.a. determinantmetoden: ', areal : 6 : 3);
END.
«eof»