|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 5120 (0x1400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Square, seg_02fa94
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Text_Io; package body Square is procedure Deposit (Carre : in out Matrix; Coordonnees : in out Case_Courrante; I : in Integer; Nombre : in Integer) is begin if (Carre (Coordonnees.X, Coordonnees.Y) = 0) then Carre (Coordonnees.X, Coordonnees.Y) := I; else Move (North, Coordonnees, Nombre); Move (West, Coordonnees, Nombre); Deposit (Carre, Coordonnees, I, Nombre); end if; end Deposit; procedure Move (D : in Direction; Coordonnees : in out Case_Courrante; Nombre : in Integer) is begin case D is when North => Coordonnees.Y := Coordonnees.Y + 1; if (Coordonnees.Y > Nombre) then Coordonnees.Y := 1; end if; when South => Coordonnees.Y := Coordonnees.Y - 1; if (Coordonnees.Y < 1) then Coordonnees.Y := Nombre; end if; when East => Coordonnees.X := Coordonnees.X + 1; if (Coordonnees.X > Nombre) then Coordonnees.X := 1; end if; when West => Coordonnees.X := Coordonnees.X - 1; if (Coordonnees.X < 1) then Coordonnees.X := Nombre; end if; end case; end Move; procedure Go_To_Center (Coordonnees : in out Case_Courrante; Nombre : in Integer) is begin Coordonnees.X := (Nombre / 2) + 1; Coordonnees.Y := (Nombre / 2) + 1; end Go_To_Center; function Impaire (Nombre : in Integer) return Boolean is begin return ((Nombre mod 2) = 1); end Impaire; procedure Display (Carre : in Matrix; Nombre : in Integer) is I, J : Integer; begin for I in reverse 1 .. Nombre loop for J in 1 .. Nombre loop Text_Io.Put (Integer'Image (Carre (J, I))); end loop; Text_Io.New_Line; end loop; Text_Io.New_Line; end Display; procedure Init_Square (Carre : in out Matrix; Nombre : in Integer) is I, J : Integer; begin for I in 1 .. Nombre loop for J in 1 .. Nombre loop Carre (I, J) := 0; end loop; end loop; end Init_Square; procedure Saisie (Nombre : in out Integer) is begin Nombre := 3; end Saisie; end Square;
nblk1=4 nid=2 hdr6=6 [0x00] rec0=1d rec1=00 rec2=01 rec3=02c [0x01] rec0=1e rec1=00 rec2=03 rec3=048 [0x02] rec0=1d rec1=00 rec2=04 rec3=000 [0x03] rec0=18 rec1=00 rec2=04 rec3=000 tail 0x21528dcd284925c5c2e9b 0x42a00088462060003 Free Block Chain: 0x2: 0000 00 00 02 43 80 15 6d 61 67 65 20 28 43 61 72 72 ┆ C mage (Carr┆