DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

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

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦bc0672a5b⟧ TextFile

    Length: 1792 (0x700)
    Types: TextFile
    Names: »INTERHYP.PAS«

Derivation

└─⟦f983c2ef3⟧ Bits:30004681 Pascal opgaver (Butler)
    └─ ⟦this⟧ »INTERHYP.PAS« 

TextFile

PROGRAM interhyp;
  
  CONST
    maxantal = 200;
  
  TYPE
    tabeltype = ARRAY(.1 .. maxantal.) OF INTEGER;
  
  VAR
    tabel : tabeltype;
    min, max, intervalbredde : INTEGER;
  
  PROCEDURE findtal(VAR tabel : tabeltype);
  
    VAR
      i, x, y, z : INTEGER;
    
    BEGIN
      FOR i := 1 TO maxantal DO
        BEGIN
          x := RANDOM(47) + 30;
          y := RANDOM(32) + 20;  (* Ret tilfældigt valgt! *)
          z := RANDOM(11) + 40;
          tabel(.i.) := x + y + z;
          WRITE(tabel(.i.) : 4);
        END;
      WRITELN;  
    END;
    
  PROCEDURE minmax(VAR min, max : INTEGER; VAR tabel : tabeltype);
  
    VAR
      i : INTEGER;
    
    BEGIN
      min := tabel(.1.);
      max := tabel(.1.);
      FOR i := 1 TO maxantal DO
        BEGIN
          IF tabel(.i.) < min
            THEN min := tabel(.i.);
          IF tabel(.i.) > max 
            THEN max := tabel(.i.);
        END;
    END;
  
  PROCEDURE ud(min, max, bredde : INTEGER; VAR tabel : tabeltype);
  
    VAR
      hyp : tabeltype;
      i, nr : INTEGER;
    
    BEGIN
      FOR i := 1 TO maxantal DO
        hyp(.i.) := 0;
      FOR i := 1 TO maxantal DO
        BEGIN
          nr := (tabel(.i.) - min) DIV bredde + 1;
          hyp(.nr.) := hyp(.nr.) + 1;
        END;
      FOR i := 1 TO (max - min) DIV bredde + 1 DO
        WRITELN('(', min + bredde * (i - 1) : 4, ',',
                min + bredde * i - 1 : 4, ') : ', hyp(.i.) : 4);
    END;
  
  BEGIN
    (* Vi lader datamaten finde nogle tal til os *)
    findtal(tabel);
    minmax(min, max, tabel);
    WRITE('Tast intervalbredden: '); READLN(intervalbredde);
    ud(min, max, intervalbredde, tabel);
  END.
«eof»