Karel a été embauché pour construire les piliers de la Grande Mosquée de Conakry. En particulier, il existe un ensemble d'arcs qui ne sont plus supportés par des piliers (représentées par des beepers, bien sûr).

Avant

Après

Karel peut compter sur les faits suivants concernant le monde:

  • Karel commence à la position (ligne: 1, colone: 1) faisant face a l'Est.
  • Les piliers sont distant de 4 cellules, et sont aux colones 1, 5, 9 et 13
  • Karel peut supposer que les piliers sont toujours haute de 5 cellules

Bien que le programme ne soit compris que de quelques lignes, il vaut mieux s'exercer en décomposition. Par exemple, il serait logique d’avoir une methode nomée construireLePilier.

Boucles "Pour" (For Loops)

Une chose que les ordinateurs font très bien est de la répétition de commandes.

En général, si vous savez d'avance qu'il y a un bloc de code que vous souhaitez répéter un certain nombre de fois, vous pouvez utiliser une boucle "pour" ("for" loop en anglais), qui ressemble à ceci:

for(int i = 0; i < N; i++) {
   votre code
}
Au lieu de N vous devriez écrire le nombre de repetitions.

Par exemple, si vous souhaitez avancer dix fois, au lieu d’écrire la commande move(); dix fois vouz pourriez utiliser une boucle "pour" qui repête 10 fois.

Avancer 10 fois sans boucle

move();
move();
move();
move();
move();
move();
move();
move();
move();
move();

Avancer 10 fois avec la boucle "pour"

for(int i = 0; i < 10; i++) {
   move();
}
Voir le programme Placer 100 pour un autre exemple.

l'utilisation des boucles peut rendre vos programmes beaucoup plus facile a écrire et lire. Il existe de nombreuses possibilités d'utilisation de boucles dans ce probleme!

Bonne chance et posez des questions!