Questions fréquentes

Voici une liste de questions qui reviennent souvent. Si rien dans cette liste ne correspond à ce que vous cherchez, vous pouvez nous envoyer un message en utilisant ce formulaire.



Se connecter sur le site

♦ Pourquoi y a-t-il besoin de s'inscrire sur votre site ?

Vous inscrire vous permet de bénéficier de l'évaluation automatique de vos programmes, de visualiser les corrections, d'obtenir de l'aide et d'accéder à davantage de sujets et de cours.

♦ Je n'arrive pas à m'inscrire ou à me connecter. Que faire ?

La page d'inscription est accessible depuis la boîte de connexion, à gauche de la page. Si ce lien ne fonctionne pas chez vous, ou que vous ne parvenez pas à vous connecter après vous être inscrit, contactez info @ france-ioi.org en expliquant votre problème.

♦ J'ai oublié mon login ou mon password, comment puis-je le retrouver ?

Retrouvez-le en utilisant cette page.

♦ Puis-je changer de login ?

Non, il est impossible de changer de login dans la version actuelle du site.

Problèmes et corrections

♦ Je ne vois pas du tout comment résoudre un problème, puis-je avoir la correction ?

La correction de chaque problème n'est accessible qu'une fois que l'on a résolu, car nous faisons tout notre possible pour vous aider à résoudre par vous mêmes nos problèmes, et vous permettre ainsi de mieux progresser. Vous pouvez ainsi obtenir des conseils soit de manière automatique via un bouton en bas du sujet, soit en demandant un peu d'aide (mais pas la solution complète) à des utilisateurs ayant déjà résolu la tâche, via notre système d'entraide.

♦ Mon programme ne fonctionne pas chez moi ni sur le serveur, et je ne comprends pas pourquoi. Que faire ?

Pour commencer, essayez de trouver l'exemple d'entrée le plus simple pour lequel votre programme ne fonctionne pas. Essayez ensuite de regarder pas à pas ce que fait votre programme sur cet exemple, soit en simulant de tête l'exécution de votre programme, soit à l'aide d'un débuggeur. Vous pouvez également ajouter des affichages supplémentaires dans votre code pour vérifier la valeur de certaines variables au fur et à mesure de l'exécution. Ceci vous aidera à mieux comprendre ce que fait votre programme, et pourquoi il ne fonctionne pas.

Si malgré tout cela vous ne comprenez toujours pas pourquoi il ne fonctionne pas, postez un message sur le système d'entraide, après avoir soumis votre solution (même fausse).

♦ Mon programme fonctionne chez moi, mais lorsque je le soumets il y a une erreur. Que faire ?

Pensez à consulter le manuel du juge en ligne si vous n'êtes pas sûr de comprendre l'erreur. Le juge en ligne se trompe rarement, donc s'il indique qu'il y a une erreur, c'est sûrement vrai.

Essayez de trouver des cas où l'erreur se produit également chez vous, en cherchant des cas que vous n'avez pas encore testé. En particulier, regardez bien les contraintes du sujet, et tester les cas extrêmes pour chaque contrainte. Vérifiez aussi que votre lecture de l'entrée, et l'affichage de votre sortie, correspondent précisément à ce qui est demandé dans l'énoncé.

Si malgré tout cela vous ne parvenez toujours pas à reproduire l'erreur, postez un message sur le système d'entraide, d'autres utilisateurs ou entraîneurs pourront vous guider.

♦ L'évaluateur indique que mon programme prend trop de temps sur certains tests. Que faire ?

S'il s'agit d'un problème de la section programmation, il est probable que ce ne soit pas que votre programme est trop lent, mais plutôt qu'il ne se termine jamais. Il peut par exemple attendre des données sur l'entrée, alors qu'il n'y a plus rien à lire, ou tout simplement être bloqué dans une boucle infinie. Relisez-le bien pour voir si toutes les boucles se terminent quoi qu'il arrive, et s'il n'y a pas un problème lors de la lecture de l'entrée.

S'il s'agit d'un problème de la section algorithmique, c'est probablement que votre algorithme est trop lent, et que vous devez trouver une manière plus efficace de résoudre le problème. Essayez votre algorithme à la main sur des exemples, pour avoir des idées sur les manières de l'optimiser.

Si vous ne trouvez toujours pas, demandez un conseil automatique ou utilisez le système d'entraide.

♦ Je cherche la solution à un problème d'algorithmique pour mon école. Pouvez-vous m'aider ?

Non, le site France-IOI n'a pas vocation à vous aider à faire vos devoirs directement. Néanmoins, si vous résolvez tous les sujets de notre site, vous apprendrez très probablement à résoudre votre problème. En attendant, vous pouvez éventuellement aller chercher de l'aide sur les forums du Site du Zéro.

Concours et olympiades

♦ J'aimerais participer aux olympiades, comment dois-je m'y prendre ?

Il faut résider en France, être scolarisé mais non encore bachelier, avoir moins de 19 ans, et s'entraîner suffisamment ! Pour les détails, aller lire la page sélection de l'équipe de France.

♦ Quand aura lieu le prochain concours France-IOI ?

Lorsqu'on aura le temps de l'organiser ! En général, les concours sont annoncés entre 4 et 6 semaines à l'avance, sur la page d'accueil. Notez qu'il y a aussi des concours USACO (notre équivalent américain) qui se déroulent régulièrement et dont les sujets sont traduits par France-ioi (voir ici pour plus d'infos ).

Apprendre l'informatique

♦ Où puis-je trouver des cours pour d'autres langages de programmations ?

Le Site du Zéro contient de nombreux tutoriaux sur divers langages de programmation.

Notez que suivre nos cours de C et/ou de Caml et faire nos problèmes dans ces langages donne de très bonnes bases qui vous permettront d'assimiler plus vite des langages plus complexes comme Java ou C#.

♦ Je cherche du pseudo-code ou du code tout fait pour des algorithmes classiques. Où puis-je les trouver ?

Nous ne donnons des pseudo-codes et des codes que une fois les sujets résolus. Ainsi, en plus d'apprendre des connaissances, vous pouvez apprendre à maîtriser des techniques qui vous permettrons de résoudre des problèmes d'algorithmique complexes par vous-même.

♦ J'aimerais acheter un livre d'algorithmique, que me conseillez-vous ?

Nous considérons que lire la description d'un algorithme dans un livre, sans avoir cherché soi-même à résoudre le problème sous-jacent, c'est une occasion gâchée de progresser. L'important en algorithmique n'est pas de connaître des algorithmes, mais d'apprendre à les découvrir soi-même. Un site d'entraînement comme le notre est donc, à notre avis, le moyen le plus efficace pour progresser.

Un livre reste cependant utile, par exemple pour avoir un autre point de vue sur les algorithmes que vous avez découverts via ce site, ou pour y trouver des algorithmes que nous n'abordons pas encore. Nous vous en conseillons deux :

Algorithmes en langage C, de Robert Sedgewick. Il s'agit d'un livre facile d'accès, assez complet, qui contient un exemple d'implémentation en C de chaque algorithme présenté.

Introduction à l'algorithmique, de Thomas Cormen & co. Un livre très complet, surtout sur les aspects théoriques, qui contient de nombreux problèmes intéressants. Il est cependant un peu difficile d'accès pour les débutants, et seul du pseudo-code est fourni pour chaque algorithme, pas toujours facile à traduire dans un langage de programmation.

Voici également une liste fournie de livres en anglais sur le sujet.

♦ J'ai envie de devenir informaticien plus tard, pouvez-vous m'aider ?

Vous entraîner sur notre site vous aidera certainement à travailler plus tard dans l'informatique. En effet, la maîtrise de l'algorithmique et de techniques permettant de programmer sans faire de bugs sont utiles dans le développement de quasiment tous les programmes informatiques.