› Nous avons construit un test pour onze modèles : neuf tâches de code, traduction et respect des consignes, chacune vérifiée automatiquement pour éviter toute évaluation subjective.
› Après examen des réponses, il s'est avéré que sur une tâche, notre automate notait à l'envers.
› Les modèles auxquels il attribuait zéro avaient répondu correctement, et ceux qui obtenaient un point se trompaient.C'est plus intéressant que le classement lui-même, alors commençons par là.La tâche où le test s'est trompé, pas les modèlesNous avons donné aux modèles ce code PHP et demandé d'indiquer l'erreur en une phrase :foreach ($lista as $i => $el) { if ($el == null) unset($lista[$i]); } echo count($lista);Les réponses se sont réparties en deux camps.Premier camp : l'erreur est de supprimer des éléments du tableau pendant l'itération, car cela casse la boucle et saute des éléments.Second camp : l'erreur est la comparaison lâche ==, qui en plus de null capture aussi zéro, chaîne vide, faux et tableau vide, donc supprime plus que prévu.Notre automate cherchait dans la réponse des mots sur la modification pendant l'itération, donc récompensait le premier camp.
› Nous avons exécuté ce code sur un serveur, en PHP 8.4.25, et le résultat est sans équivoque.1) uniquement des null : il reste 4 sur 7, valeurs : a,b,c,d l'itération a-t-elle sauté des éléments ?