France IOI
Évaluer un source avec sa propre entrée

En bas de chaque sujet se trouve un bouton "Tester votre solution avec vos propres exemples d'entrée". En cliquant sur ce bouton, vous obtenez une interface permettant de compiler et exécuter tout programme écrit dans l'un des langages gérés par nos serveurs :

En fournissant votre programme et un exemple d'entrée, vous pourrez vérifier que votre programme fonctionne sur cette entrée, en respectant les limites de temps et de mémoire du sujet, et vérifier ce qu'il produit en sortie.

La page Tester un source quelconque, permet de faire la même chose indépendamment d'un sujet, avec 16 Mo de mémoire et 1 seconde d'exécution.

Les programmes que vous devrez réaliser sur ce site seront généralement des programmes qui lisent des données sur l'entrée standard (au clavier), effectuent un traitement sur ces données, puis affichent un résultat sur la sortie standard. L'interface de test est donc adaptée à ce type de programmes.

Supposons par exemple que vous ayez écrit le programme en langage C suivant, nommé "plusGrand.c" :

   #include <stdio.h>
   int main()
   {
      int nombre1, nombre2, plusGrand;
      scanf("%d%d", &nombre1, &nombre2);
      if (nombre1 > nombre2)
         plusGrand = nombre1;
      else
         plusGrand = nombre2;
      printf("Le plus grand des deux est %d\n", plusGrand);
      return 0;
   }
   

Il s'agit d'un programme qui lit deux entiers sur l'entrée standard et affiche une phrase sur la sortie standard, indiquant lequel des deux est le plus grand.

Pour tester votre programme sur notre serveur, la première étape consiste à fournir le programme :

  • soit en donnant le chemin du fichier qui le contient :

  • soit en le tapant directement dans la zone de texte dédiée :

Vous devez ensuite indiquer le texte à transmettre à votre programme via l'entrée standard. Par exemple pour notre programme, on souhaite lui fournir les nombres 42 et 43. Vous pouvez soit les stocker dans un fichier et fournir le chemin du fichier dans la zone dédiée, soit directement taper le contenu :

Attention à bien aller à la ligne à la fin de l'entrée. Ne pas le faire peut poser des problèmes pour certains types d'entrées.

Il ne reste plus qu'à lancer l'exécution, en cliquant sur le bouton correspondant au langage du programme, ici le langage C :

Après quelques instants, si le programme compile et s'exécute sans erreur, le résultat est affiché. Il s'agit de ce que le programme a fourni sur la sortie standard :

En cas d'erreur de syntaxe dans le programme, par exemple si l'on oublie de fermer un guillemet :

   scanf("%d%d, &nombre1, &nombre2);

Le message fourni par le compilateur est affiché :

Prenez l'habitude de tester systématiquement vos programmes via cette interface, sur plusieurs exemples d'entrée, avant de les soumettre. Le but est bien sûr de détecter tous les bugs avant de soumettre votre solution.

Retour au manuel d'utilisation.