Modifie le chenillard pour qu'il fasse un aller-retour (0→3 puis 3→0).
Solution :
#include <stdio.h>
#define NUM_LEDS 4
void eteindre_tout(void)
{
printf("[LED] Toutes éteintes\n");
}
void allumer_led(int i)
{
printf("[LED] LED %d ON (rouge)\n", i);
}
void chenillard_aller_retour(void)
{
/* Aller: 0 -> NUM_LEDS-1 */
for (int i = 0; i < NUM_LEDS; i++) {
eteindre_tout();
allumer_led(i);
/* attente 200 ms (simulée) */
}
/* Retour: NUM_LEDS-2 -> 0 (evite le doublon en bout) */
for (int i = NUM_LEDS - 2; i >= 0; i--) {
eteindre_tout();
allumer_led(i);
/* attente 200 ms (simulée) */
}
}
int main(void)
{
printf("=== Chenillard aller-retour ===\n");
chenillard_aller_retour();
return 0;
}
Solution copiée dans l'éditeur.