Advertisement
Guest User

Untitled

a guest
Jan 25th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ada 2.86 KB | None | 0 0
  1. procedure RetH(mat : in out TV_Matrice;VP : in TV_Piece;nump : in T_NumPiece);
  2. procedure RetV(mat : in out TV_Matrice;VP : in TV_Piece;nump : in T_NumPiece);
  3. procedure RotD(mat : in out TV_Matrice;VP : in TV_Piece;nump : in T_NumPiece);
  4. procedure RotG(mat : in out TV_Matrice;VP : in TV_Piece;nump : in T_NumPiece);
  5.  
  6. procedure RetH(mat : in out TV_Matrice;VP : in TV_Piece;nump : in T_NumPiece) is
  7.       nblig,nbcol : integer;
  8.       colMil : integer;
  9.     begin
  10.       dimensions(VP(nump).mat,nblig,nbcol);
  11.       for i in 1..4 loop
  12.         for j in 1..4 loop
  13.           Mat(i,j) := vide;
  14.         end loop;
  15.       end loop;
  16.       if nbcol mod 2 = 0 then
  17.         for i in 1..nblig loop
  18.           for j in 1..nbcol loop
  19.             Mat(i,nbcol-j+1) := VP(nump).mat(i,j);
  20.           end loop;
  21.         end loop;
  22.       else
  23.         colMil := (nbcol+1)/2;
  24.         for i in 1..nblig loop
  25.           for j in 1..nbcol loop
  26.             if j /= colMil then
  27.               Mat(i,nbcol-j+1) := VP(nump).mat(i,j);
  28.             else
  29.               Mat(i,j) := VP(nump).mat(i,j);
  30.             end if;
  31.           end loop;
  32.         end loop;
  33.       end if;
  34.     end RetH;
  35.  
  36. procedure RetV(mat : in out TV_Matrice;VP : in TV_Piece;nump : in T_NumPiece) is
  37.       nblig,nbcol : integer;
  38.       ligMil : integer;
  39.     begin
  40.       dimensions(VP(nump).mat,nblig,nbcol);
  41.       for i in 1..4 loop
  42.         for j in 1..4 loop
  43.           mat(i,j) := vide;
  44.         end loop;
  45.       end loop;
  46.       if nblig mod 2 = 0 then
  47.         for i in 1..nblig loop
  48.           for j in 1..nbcol loop
  49.             Mat(nblig-i+1,j) := VP(nump).mat(i,j);
  50.           end loop;
  51.         end loop;
  52.       else
  53.         ligMil := (nblig+1)/2;
  54.         for i in 1..nblig loop
  55.           for j in 1..nbcol loop
  56.             if i /= ligmil then
  57.               Mat(nblig-i+1,j) := VP(nump).mat(i,j);
  58.             else
  59.               Mat(i,j) := VP(nump).mat(i,j);
  60.             end if;
  61.           end loop;
  62.         end loop;
  63.       end if;
  64.     end RetV;
  65.  
  66. procedure RotG(mat : in out TV_Matrice;VP : in TV_Piece;nump : in T_NumPiece)
  67.       nblig,nbcol : integer;
  68.     begin
  69.       dimensions(VP(nump).mat,nblig,nbcol);
  70.       for i in 1..4 loop
  71.         for j in 1..4 loop
  72.           Mat(i,j) := vide;
  73.         end loop;
  74.       end loop;
  75.       for i in 1..nblig loop
  76.         for j in 1..nbcol loop
  77.           mat(nbcol-j+1,i) := VP(nump).mat(i,j);
  78.         end loop;
  79.       end loop;
  80.     end RotG;
  81.  
  82. procedure RotD(mat : in out TV_Matrice;VP : in TV_Piece;nump : in T_NumPiece) is
  83.       nblig,nbcol : integer;
  84.     begin
  85.       dimensions(VP(nump).mat,nblig,nbcol);
  86.       for i in 1..4 loop
  87.         for j in 1..4 loop
  88.           Mat(i,j) := vide;
  89.         end loop;
  90.       end loop;
  91.       for i in 1..nblig loop
  92.         for j in 1..nbcol loop
  93.           Mat(j,nblig-i+1) := VP(nump).mat(i,j);
  94.         end loop;
  95.       end loop;
  96.     end RotD;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement