Le système d'entraînement automatique est un outil pour vous aider à améliorer votre niveau en programmation. Il est ouvert à tous, et bien entendu gratuit. Lisez bien ce qui suit pour bien en comprendre le principe, et en profiter un maximum.
Les problèmes proposés durant les diverses éditions du concours Prologin sont archivés et disponibles sur ce site. Vous pouvez ainsi vous entraîner sur les problèmes des questionnaires et demi-finales passés. Ils sont classés par année et par difficulté : depuis le niveau débutant, à des difficultés bien plus élevées.
L'évaluation d'un exercice, dans le cas où un source est demandé, est faite par notre serveur : le programme est compilé puis testé automatiquement. Il est exécuté une fois par test. Les erreurs possibles sont :
S'il y a une erreur de compilation, la sortie d'erreur du compilateur est affichée.
La sortie produite par votre programme doit correspondre exactement avec le formatage précisé dans chacun des énoncés. Le système de correction compare la sortie de votre programme avec une sortie de référence, caractère par caractère. Le retour à la ligne en fin de dernière ligne n'est pas obligatoire cependant.
Après exécution des tests, un récapitulatif vous est affiché, indiquant les tests réussis et les tests ratés. Pour le premier test raté uniquement, la sortie produite par votre programme est affichée, ainsi que la sortie attendue par le système de correction. L'exercice ne sera validé que lorsque tous les tests seront passés avec succès.
La correction peut prendre plusieurs minutes, donc soyez patient.
Nous fournissons, pour certains langages, des codes sources se chargeant de "découper" correctement les données fournies sur l'entrée standard du programme. Il ne vous reste alors qu'à écrire le corps d'une fonction prenant ces données en paramètre.
Notez qu'il n'est absolument pas obligatoire de les utiliser, mais cela peut se révéler utile dans bien des cas.
Vos programmes sont exécutés sur une machine architecturée autour d'un processeur Intel Code2Duo cadencé à 2,40 GHz, fonctionnant sous une distribution de GNU/Linux.
Pour information, voici la taille en octets des types C et C++ :
char |
1 |
short |
2 |
int |
4 |
long |
4 |
float |
4 |
double |
8 |
L'architecture est de type little endian.
Chaque sujet impose des limites, autant en terme d'utilisation mémoire que de temps d'exécution. Des coefficients sont néanmoins appliqués sur certains langages plus lents à s'exécuter ou plus gourmand en mémoire. Concernant les algorithmes récursifs, notez qu'aucune limitation n'est appliquée sur la taille de la pile.
Pour information, voici les différents compilateurs/interpréteurs utilisés, ainsi que leur version :
-W -Wall -O2 -std=c99 -lm-W -Wall -O2 -lm-optimize+-O3
Commentaires
Mono 2.0
Pourquoi n'utilisez -vous pas une version plus récente de Mono.
La 1.2.2.1 date un peu et ca serait bien d'avoir la 1.9.1 ou la 2.0 qui ont quelques bibliothèques supplémentaire :)
Curieux que vous ne compiliez
Curieux que vous ne compiliez pas le code C/C++ avec une option d'optimisation genre -O2, Beaucoup de candidats doivent pourtant l'utiliser (on m'avait dit qu'il en était aussi ainsi pour les épreuves de france-ioi) et peuvent donc avoir des surprises en soumettant leur code. Par ailleurs, -W est obsolete je crois, c'est -Wextra maintenant.