Rockleader a écrit:Voilà c'est pour mes commentaires, il me semble que préciser dans les com ce que fait le programme c'est plus important que le programme en lui même...
Très juste. Le but et l'important de ces excercices c'est surtout l'explication et la justification des choix, plus que le code lui-même.
De mon temps, arrivé à la fac, le language pédagogique était le PASCAL.
Mais, le LOGO aussi est un language qui a surtout servi de support pédagogique, mais je suis trop jeune pour l'avoir connu en TP; c'était plutot un des languages de mon initiation.
Je suis quand même surpris que dans cette version de l'ADA, on ne puisse pas réinitialiser une variable à tout moment par une simple affectation !
Et je suis comme
fatal_error, j'aurais tenté une approche récursive du problème, car en fait les cinq carrés sont centrés sur l'écran/page/feuille, seul la longuer de leur coté respectif doit être ajusté pour répondre à la contrainte d'espacement.
D'ailleurs, cette idée de faire par récurrence n'est peut-être pas étrangère à mes connaissances en LOGO, car justement, le LOGO a été mis au point pour servir de language pédagogique et expliqué la récurence.
Ou alors plus au simple :
- Code: Tout sélectionner
with Ada.Text_IO;
procedure FiveSquareCentered is
begin
IO.Put_Line(";););););););););););););););););););)"); IO.New_Line;
IO.Put_Line(";) ;););););););););););););););) ;)"); IO.New_Line;
IO.Put_Line(";) ;) ;););););););););););) ;) ;)"); IO.New_Line;
IO.Put_Line(";) ;) ;) ;););););););) ;) ;) ;)"); IO.New_Line;
IO.Put_Line(";) ;) ;) ;) ;););) ;) ;) ;) ;)"); IO.New_Line;
IO.Put_Line(";) ;) ;) ;) ;););) ;) ;) ;) ;)"); IO.New_Line;
IO.Put_Line(";) ;) ;) ;););););););) ;) ;) ;)"); IO.New_Line;
IO.Put_Line(";) ;) ;););););););););););) ;) ;)"); IO.New_Line;
IO.Put_Line(";) ;););););););););););););););) ;)"); IO.New_Line;
IO.Put_Line(";););););););););););););););););););)");
IO.New_Line;
end FiveSquareCentered;