DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦072c15507⟧ TextFile

    Length: 1536 (0x600)
    Types: TextFile
    Names: »TREKANT.PAS«

Derivation

└─⟦09235ab48⟧ Bits:30003065 Demoprogrammer K-Z til Pascal bog
    └─ ⟦this⟧ »TREKANT.PAS« 
└─⟦092727b26⟧ Bits:30005927 Demoprogrammer til Pascal bog (Jet-80)
    └─ ⟦this⟧ »TREKANT.PAS« 

TextFile

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»