Section courante

A propos

Section administrative du site

Fizz Buzz Test

Le «Fizz Buzz Test» est une question d'entrevue afin d'aider à filtrer les 99,5% des candidats ayant appliqué pour un emploi en programmation, mais n'arrivant pas à programmer le problème écrit sur un papier. Le texte du programme devant écrit à une formulation ressemblant à ceci :

Vous devez écrire un programme affichant les nombres de 1 à 100. Toutefois, vous devez afficher «Fizz» à tous les trois affichages de votre nombre au lieu du nombre et vous devez afficher «Buzz» à tous les cinq affichages de votre nombre plutôt que votre nombre. Et s'il s'agit des multiples de trois et cinq affichages, il faut afficher «FizzBuzz».

Nous aurons donc un algorithme :

BOUCLE POUR I ← 1 JUSQU'A 100
   SI I modulo 3 = 0 ET I modulo 5 = 0 ALORS
      AFFICHER "FizzBuzz"
   SINON SI I modulo 3 = 0 ALORS
      AFFICHER "Fizz"
   SINON SI I modulo 5 = 0 ALORS
      AFFICHER "Buzz"
   SINON
      AFFICHER I
   FIN SI
FIN BOUCLE POUR

Quand on regarde l'algorithme, pourtant, il ne semble pas si difficile d'écrire se programme ... Alors pour ce test est aussi difficile ? On pense que ce test est difficile à cause du fait qu'il ne correspond pas au modèle après dans les travaux scolaires que doit résoudre un étudiant et qu'il est difficile d'écrire se programme sans tombé dans le modèle d'une évaluation de cas :

SI 1 ALORS A
SINON SI 2 ALORS B
SINON SI 3 ALORS C
SINON
   D
FIN SI

En somme, ce type d'examen est fort utile pour déterminer les programmeurs étant capable de penser par eux-mêmes plutôt que ceux ayant une tendance copier-coller la solution d'un autre à partir de Google par exemple.

Exemple

En Python à partir de la version 3, il aurait la forme suivante :

  1. I = 1
  2. while I < 101:
  3.    if I % 3 == 0 and I % 5 == 0:
  4.       print("FizzBuzz")
  5.    elif I % 3 == 0:
  6.       print("Fizz")
  7.    elif I % 5 == 0:
  8.       print("Buzz")
  9.    else:
  10.       print(I)
  11.    I += 1

on obtiendra le résultat suivant :

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fizz
Buzz
71
Fizz
73
74
FizzBuzz
76
77
Fizz
79
Buzz
Fizz
82
83
Fizz
Buzz
86
Fizz
88
89
FizzBuzz
91
92
Fizz
94
Buzz
Fizz
97
98
Fizz
Buzz

Voir également

Est-ce que les DEC et les BAC en informatique ont encore leur raison d'être ?

Dernière mise à jour: Jeudi, le 1 mai 2014