DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC700 "Piccolo"

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

See our Wiki for more about RegneCentralen RC700 "Piccolo"

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f8a816c79⟧ TextFile

    Length: 2432 (0x980)
    Types: TextFile
    Names: »PANT.PAS«

Derivation

└─⟦09235ab48⟧ Bits:30003065 Demoprogrammer K-Z til Pascal bog
    └─ ⟦this⟧ »PANT.PAS« 

TextFile

PROGRAM pant;

  VAR
    dage, aar : INTEGER;
    rest, ydelse, delydelse, r, rente, afdrag : REAL;
    maaned : STRING(.3.);
  
  BEGIN
    WRITE(CLRHOM);
    WRITELN('PANTEBREV');
    WRITELN('---------');
    WRITELN;
    WRITE('Tast hovedstol:                '); READLN(rest);
    WRITE('Tast ydelse pr. termin:        '); READLN(ydelse);
    WRITE('Tast renten i % pr. termin:    '); READLN(r);
    WRITE('Tast antal dage i 1. termin:   '); READLN(dage);
    REPEAT
      WRITE('Tast terminsmåneden for 1. termin (jun/dec): ');
      READLN(maaned);
    UNTIL (maaned = 'jun') OR (maaned = 'dec');
    WRITE('Tast årstallet for 1. termin:                '); READLN(aar);
    IF maaned = 'jun'
      THEN maaned := 'JUN'
      ELSE maaned := 'DEC';
    WRITE(CLRHOM);
    WRITELN(' ' : 25, 'Hovedstol:           ', rest : 12 : 2);
    WRITELN(' ' : 25, 'Ydelse pr. termin:   ', ydelse : 12 : 2);
    WRITELN(' ' : 25, 'Rente pr. termin:    ', r : 12 : 2, '%');
    WRITELN(' ' : 25, 'Dage i 1. termin:    ', dage : 12);
    WRITELN(' ' : 25, '1. termin:           ', maaned : 7, aar : 5);
    WRITELN('                         ---------------------------------');
    WRITELN;
    WRITELN;
    WRITELN('          TERMIN       RENTE          AFDRAG          ',
            'YDELSE       RESTGÆLD');
    WRITELN;
    WRITELN('        ---------------------------------------------',
            '----------------------');
    WRITELN;
    rente := INT(rest * r / 100 * dage / 180 * 100 + 0.5) / 100;
    delydelse := INT(ydelse * dage / 180 * 100 + 0.5) / 100;
    afdrag := delydelse - rente;
    rest := rest - afdrag;
    WRITELN(maaned : 11, aar : 5, rente : 12 : 2, afdrag : 16 : 2,
            delydelse : 16 : 2, rest : 15 : 2);
    REPEAT
      IF maaned = 'DEC'
        THEN
          BEGIN
            WRITELN;
            aar := aar +1;
            maaned := 'JUN';
          END
        ELSE
          maaned := 'DEC';
      WRITE(maaned : 11, aar : 5);
      rente := INT(rest * r + 0.5) / 100;
      afdrag := ydelse - rente;
      IF rest - afdrag < 0
        THEN afdrag := rest;
      IF rest - afdrag = 0
        THEN ydelse := rente + afdrag;
      rest := rest - afdrag;
      WRITELN(rente : 12 : 2, afdrag : 16 : 2, ydelse : 16 : 2,
              rest : 15 : 2);
    UNTIL rest = 0;
  END.
«eof»