Les trois exercices proposés couvrent une part importante du programme. Ils permettent aux candidats de traiter les parties qui leur conviennent le mieux.
Le choix possible du langage de programmation défini par l'énoncé permet une plus grande souplesse dans l'expression des algorithmes. Ceci permet d'éviter aux candidats, qui maîtrisent encore mal le langage de programmation, de produire des textes particulièrement incompréhensibles. Environ 60% des copies utilisent le langage proposé par l'énoncé.
Le niveau général des copies est moyen, avec semble-t-il une grande disparité de préparation à l'épreuve. Néanmoins, les copies ont semblé aux correcteurs être d'un meilleur niveau que celles de l'année dernière, avec un nombre important de bonnes ou très bonnes copies.
Il est rappelé qu'il faut répondre aux questions posées. Il ne s'agit pas d'étudier plusieurs cas et de laisser le correcteur choisir la solution qui lui plaît. Ce type de comportement laisse un doute sur la compréhension du problème par le candidat et a une influence négative sur la note finale.
Il faut éviter les démonstrations "par l'évidence", surtout si elles sont fausses ou si la véritable démonstration est une énumération de quatre cas, comme dans le II.
Les candidats rencontrent des difficultés à lire un algorithme, et près de 40% d'entre eux ne répondent pas correctement à cette question.
Les calculs de dénombrement ne sont pas toujours menés à bien. Le rapport du nombre d'injection au nombre de fonction (inférieur à 1) est souvent majoré par
, ce qui est correct mais maladroit. Seul 10% des candidats obtiennent une majoration en
dans le cas proposé par l'énoncé.
De nombreuses erreurs sont dues à un manque de rigueur : Comparaison de
avec
, utilisation directe de
avec incrémentation de
, utilisation de l'application réciproque de
, bijective mais dont on ne sait pas nécessairement exprimer l'inverse de manière algorithmique. Une difficulté souvent rencontrée : ne pas s'arrêter à la première case vide (
) rencontrée, mais attendre de trouver la case de numéro
.
L'erreur la plus courante consiste à prendre en compte les deux premiers chiffres au lieu des deux derniers. Certains candidats pensent qu'il y a moins de jours (7) que de mois.
C'est la partie la plus délicate et sûrement la plus difficile à traiter. L'exercice nécessite de développer un formalisme mathématique dont n'a pas pris conscience une grande proportion des candidats.
Malgré la définition donnée d'un langage reconnu, beaucoup se sont contentés de montrer que les mots de
étaient reconnus.
Beaucoup de candidats dessinent seulement le graphe de l'automate, sans en donner la définition formelle. Les démonstrations sont encore moins nombreuses. Les constructions et démonstrations par récurrence sur n ont été souvent ébauchées, mais rarement réussies (sauf en ce qui concerne le nombre d'états). Les candidats utilisant les transitions instantanées (II.D) ont souvent donné des graphes faux.
C'est la partie la plus facile à traiter (de l'avis des correcteurs), mais beaucoup de candidats n'ont pas le temps de l'aborder par manque de temps.
Les lois de Morgan, la tautologie et le tiers exclu devraient être connus, sans qu'il soit nécessaire d'écrire une demi page de calculs pour les justifier. Les notions de terme et d'induction structurelle sont ignorées par plus de la moitié des candidats.
La plupart des points manquants le sont à cause de l'oubli de montrer la proposition pour VRAI et FAUX. Attention à la lecture du texte.