DricomDragon преди 5 години
родител
ревизия
5e5e5660fb
променени са 8 файла, в които са добавени 155 реда и са изтрити 0 реда
  1. 19 0
      logos/carre.logo
  2. 12 0
      logos/erreur_appel_recursif.logo
  3. 16 0
      logos/erreur_routine_definie_plusieurs_fois.logo
  4. 8 0
      logos/erreur_routine_indefinie.logo
  5. 25 0
      logos/etoile.logo
  6. 21 0
      logos/hexagone.logo
  7. 34 0
      logos/octogone.logo
  8. 20 0
      logos/pentagone.logo

+ 19 - 0
logos/carre.logo

@@ -0,0 +1,19 @@
+PROGRAM
+
+  ROUTINE trace
+  BEGIN
+    FORWARD 50;
+    ROTATE 90;
+  END
+
+BEGIN
+  FORWARD 100;
+  ROTATE 90;
+  FORWARD 100;
+  ROTATE 270;
+  PEN DOWN;
+  CALL trace;
+  CALL trace;
+  CALL trace;
+  CALL trace;
+END.

+ 12 - 0
logos/erreur_appel_recursif.logo

@@ -0,0 +1,12 @@
+# La compilation de ce fichier doit
+# provoquer une erreur semantique
+# 'routine indefinie' sur l'instruction CALL
+PROGRAM
+
+  ROUTINE routineRecursive
+  BEGIN
+    CALL routineRecursive;
+  END
+  
+BEGIN
+END.

+ 16 - 0
logos/erreur_routine_definie_plusieurs_fois.logo

@@ -0,0 +1,16 @@
+# La compilation de ce fichier doit
+# provoquer une erreur semantique
+# 'routine deja definie' sur l'en tete
+# de la seconde routine
+PROGRAM
+
+  ROUTINE routineDefiniePlusieursFois
+  BEGIN
+  END
+  
+  ROUTINE routineDefiniePlusieursFois
+  BEGIN
+  END
+  
+BEGIN
+END.

+ 8 - 0
logos/erreur_routine_indefinie.logo

@@ -0,0 +1,8 @@
+# La compilation de ce fichier doit
+# provoquer une erreur semantique
+# 'routine indefinie' sur l'instruction CALL
+PROGRAM
+
+BEGIN
+  CALL routineNonDefinie;
+END.

+ 25 - 0
logos/etoile.logo

@@ -0,0 +1,25 @@
+PROGRAM
+
+  ROUTINE trace
+  BEGIN
+    FORWARD 70;
+    ROTATE 160;
+  END
+
+  ROUTINE trace3
+  BEGIN
+    CALL trace;
+    CALL trace;
+    CALL trace;
+  END
+
+BEGIN
+  FORWARD 200;
+  ROTATE 90;
+  FORWARD 300;
+  ROTATE 270;
+  PEN DOWN;
+  CALL trace3;
+  CALL trace3;
+  CALL trace3;
+END.

+ 21 - 0
logos/hexagone.logo

@@ -0,0 +1,21 @@
+PROGRAM
+
+  ROUTINE trace
+  BEGIN
+    FORWARD 70 ;
+    ROTATE 60 ;
+  END
+
+BEGIN
+  FORWARD 100 ;
+  ROTATE 90;
+  FORWARD 100;
+  ROTATE 270;
+  PEN DOWN;
+  CALL trace;
+  CALL trace;
+  CALL trace;
+  CALL trace;
+  CALL trace;
+  CALL trace;
+END.

+ 34 - 0
logos/octogone.logo

@@ -0,0 +1,34 @@
+PROGRAM
+
+  ROUTINE trace
+  BEGIN
+    FORWARD 70;
+    ROTATE 45;
+  END
+
+  ROUTINE trace1
+  BEGIN
+  CALL trace;
+  CALL trace;
+  END
+
+  ROUTINE trace2
+  BEGIN
+  CALL trace1;
+  CALL trace1;
+  END
+
+  ROUTINE trace3
+  BEGIN
+  CALL trace2;
+  CALL trace2;
+  END
+
+BEGIN
+  FORWARD 100;
+  ROTATE 90;
+  FORWARD 100;
+  ROTATE 270;
+  PEN DOWN;
+  CALL trace3;
+END.

+ 20 - 0
logos/pentagone.logo

@@ -0,0 +1,20 @@
+PROGRAM
+
+  ROUTINE trace
+  BEGIN
+    FORWARD 70;
+    ROTATE 72;
+  END
+
+BEGIN
+  FORWARD 200;
+  ROTATE 90;
+  FORWARD 300;
+  ROTATE 270;
+  PEN DOWN;
+  CALL trace;
+  CALL trace;
+  CALL trace;
+  CALL trace;
+  CALL trace;
+END.