.
..
ex01a.adb (download) (view)
ex01b.adb (download) (view)
ex02a.adb (download) (view)
ex02b.adb (download) (view)
ex03a.adb (download) (view)
ex03b.adb (download) (view)
ex04a.adb (download) (view)
ex04b.adb (download) (view)
ex05a.adb (download) (view)

with Ada.Text_Io, Ada.Integer_Text_Io;
use Ada.Text_Io, Ada.Integer_Text_Io;

-- Affichage matrice anti-diagonale
procedure Ex02b is
   N : Natural;
   D : Natural;
begin
   -- saisie
   Put("Veuillez rentrer un nombre > 0 : ");
   Get(N);

   -- Algo 1
   for I in 1 .. N loop
      for J in 1 .. N - I loop
         Put(0, 2);
      end loop;
      Put(1, 2);    -- colonne N - I + 1
      for J in N - I + 2 .. N loop
         Put(0, 2);
      end loop;
      New_Line; -- à la fin de chaque ligne, nous sautons à la ligne
   end loop;

   New_Line;
   ------------------------------------------------------------------


   -- Algo 2
   D := N;
   for I in 1 .. N loop
      for J in 1 .. D - 1 loop
         Put(0, 2);
      end loop;
      Put(1, 2);    -- colonne D
      for J in  D + 1 .. N loop
         Put(0, 2);
      end loop;
      New_Line; -- à la fin de chaque ligne, nous sautons à la ligne
      D := D - 1;
   end loop;

   New_Line;
   ------------------------------------------------------------------


   -- Algo 3
   -- Pour toutes les lignes
   for I in 1 .. N loop
      -- Pour toutes les colonnes
      for J in 1 .. N loop
         if I = (N - J + 1) then -- Si nous sommes sur l'anti-diagonale
            Put(1, 2);
         else
            Put(0, 2);
         end if;
      end loop;
      New_Line; -- à la fin de chaque ligne, nous sautons à la ligne
   end loop;
end;
 
Webmaster : pierrefrancois.leon@laposte.net

Valid XHTML 1.0 Strict Valid CSS!