Comment se déroule l'Olympiade d'informatique. Un étudiant en programmation des Olympiades. pas vers le professeur

Notre portail pédagogique panrusse offre la possibilité de participer à des tests informatiques, des Olympiades et des concours créatifs en ligne gratuits. Nous vous invitons à passer des tests gratuits créés sur la base du programme scolaire de la 2e à la 11e année. Ces Olympiades ont pour but de tester vos connaissances, mais elles permettent également de consolider les programmes que vous avez étudiés. L'Olympiade d'informatique se compose de 10 questions, après quoi vous pourrez connaître votre résultat, et vous pourrez également commander la réalisation d'un diplôme personnel. Vous pouvez télécharger le diplôme après avoir terminé les devoirs. Le site présente des tests intéressants, pédagogiques et divertissants

Olympiades d'informatique 2016-2017 pour les écoliers

Cette section contient de nombreux tests d'informatique pour les niveaux 2-11. Les épreuves sont destinées à préparer les Olympiades et les examens de l'année 2016-2017. Les tests ont été compilés conformément aux spécificités des matériaux de contrôle. Les tests informatiques en ligne sont une excellente occasion de tester vos connaissances et de vous préparer de manière indépendante à l'Olympiade.
La durée du test est illimitée. Notre portail pédagogique propose de nombreux tests intéressants et pédagogiques. Pour répondre à chaque question proposée, vous devez sélectionner uniquement la bonne réponse. Pour terminer la tâche, vous devez parcourir les dix points en cliquant sur la bonne réponse et sur le bouton « réponse ». Vous pouvez également sauter n'importe quelle tâche et passer à la suivante en cliquant sur le bouton « ignorer la tâche ». Pour obtenir la bonne réponse, vous devez cliquer sur le bouton « vérifier », afin de pouvoir vérifier l'exactitude de votre réponse et passer à la tâche suivante. En marquant la réponse comme affichée, vous pouvez ignorer la tâche pendant un moment et y revenir plus tard. De cette manière, les tests informatiques en ligne pour 2016-2017 pourront développer votre mémoire et vous pourrez progressivement améliorer vos résultats dans les réponses, vous préparant ainsi à une véritable école ou aux Olympiades panrusses.

Tests d'informatique pour enseignants et éducateurs

La tâche de chaque enseignant est de préparer son élève à des tâches complexes lors des Olympiades, et la tâche de tout éducateur est d'éveiller l'intérêt pour l'étude de diverses matières. Actuellement, l’informatique est devenue l’une des matières les plus populaires étudiées dans le programme scolaire. À l'heure actuelle, les technologies de l'information se développent à un rythme rapide et partout où nous allons travailler, la connaissance d'un ordinateur et de plusieurs programmes est devenue une exigence importante. L'informatique est un sujet assez complexe, dont l'étude nécessite non seulement l’école, le temps d’étude, mais aussi son propre désir de découvrir ce domaine. En rentrant à la maison, n'importe quel enfant peut allumer l'ordinateur et commencer à jouer ou à communiquer sur les réseaux sociaux, mais peu de gens peuvent parler de l'ordinateur lui-même, de sa structure, de l'évolution de la technologie et de la direction que prend le progrès. Sur notre portail, tout élève de la 2e à la 11e année peut tester ses connaissances, et ainsi se préparer en toute autonomie aux tests, examens et olympiades. Des Olympiades en ligne, des concours créatifs et bien plus encore peuvent également être pris comme exemple pour vos activités éducatives. Par exemple, tout enseignant, enseignant, peut définir les tests présentés sur notre portail comme un test. A l'issue des tests, tout étudiant et tout enseignant peut recevoir un diplôme et un certificat. Vous pouvez commander un diplôme après avoir terminé le test sur notre site Web, puis le télécharger facilement.

Bonjour Habr!
Un élève de neuvième année, vainqueur de l'étape régionale de l'Olympiade panrusse d'informatique, vous écrit. Récemment, j'ai commencé à remarquer que les habitants de Habra s'intéressaient de plus en plus à la programmation des Olympiades. En tant que participant actif, j'essaierai de répondre à toutes les questions, de parler de mon parcours et de donner des exemples de tâches réelles dont je me souviens.

À propos de la formation

J'étudie dans une école avec une étude approfondie de la physique, des mathématiques et de l'informatique.

De quel genre d'école s'agit-il, comment y étudier et comment s'y inscrire ?

La sélection se déroule en deux étapes. Le premier est un examen de physique et de mathématiques. Ensuite, certains élèves chanceux se rendent à un entretien au cours duquel ils doivent résoudre plusieurs problèmes de mathématiques de l'Olympiade. Et seulement après cela, les plus intelligents et les plus chanceux deviennent étudiants.
Étudier est très dur et difficile. Les enseignants exigent une parfaite connaissance de presque toutes les matières. Lors de la réunion des parents, ils ont déclaré : « Au début de la formation, absolument tous les élèves tombent en deux niveaux, même les excellents élèves. Ceux qui commencent à vraiment étudier obtiennent de bonnes notes. Les autres sont éliminés." C'est avec la langue et la littérature russes que j'ai eu le plus de problèmes, aussi étrange que cela puisse paraître.

J'ai toujours été attiré par la programmation (j'ai réalisé ce que c'était en 4e). J'étais très heureux quand ils ont commencé à enseigner Pascal et divers algorithmes de calcul en septième année. C'est à ce moment-là que j'ai écrit le premier "Hello World!", l'algorithme d'Euclide ; étudié les instructions conditionnelles, les boucles, les tableaux.
Dès la huitième année, les enseignants nous ont invités à des cours au choix en informatique, où nous avons étudié les graphiques, les algorithmes de tri de tableaux et bien plus encore.

Tâches

Regardons une tâche tout à fait typique pour les programmeurs novices des Olympiades

Cinq cinq font vingt-cinq !
(Durée : 1 sec. Mémoire : 16 Mo Difficulté : 8%)
Vasya et Petya étudient dans la même classe à l'école. Récemment, Petya a parlé à Vasya d'une manière intelligente de mettre au carré des nombres naturels se terminant par 5. Désormais, Vasya peut facilement mettre au carré des nombres à deux chiffres (et même certains à trois chiffres) se terminant par 5. La méthode est la suivante : mettre au carré un nombre se terminant par 5, il suffit de multiplier le nombre obtenu à partir de l'original en barrant les cinq derniers par le nombre suivant dans l'ordre, il ne reste plus qu'à ajouter « 25 » au résultat obtenu à droite. Par exemple, pour mettre au carré le nombre 125, il suffit de multiplier 12 par 13 et d'ajouter 25, soit en ajoutant le nombre 25 au nombre 12*13=156, on obtient le résultat 15625, soit 1252=15625. Écrivez un programme qui met au carré un nombre se terminant par 5 afin que Vasya puisse tester ses compétences.
Des données d'entrée
La seule ligne du fichier d'entrée INPUT.TXT contient un nombre naturel A se terminant par 5, ne dépassant pas 4*10^5.
Sortir
Dans le fichier de sortie OUTPUT.TXT, affichez un nombre naturel - A2 sans zéros non significatifs.
Exemples:
INPUT.TXT
5
75
4255
SORTIE.TXT
25
5625
18105025

Exigences
Le participant à l'Olympiade doit écrire un programme dans l'un des langages acceptés (généralement cet ensemble se compose de Pascal (je l'écris moi-même, je n'ai jamais eu de problèmes), Delphi, C++, Java, Visual Basic, récemment C#, Python ont été ajouté). Après cela, le fichier source est envoyé au système sandbox, où il est compilé et exécuté sur un groupe de tests. Pour chaque test, le participant à l'Olympiade reçoit un certain point, qui est ensuite additionné. Après les Jeux olympiques, les résultats deviennent visibles pour tous. Plus le score total est élevé, plus la place est élevée.
Il convient de noter que le code généralement géré (Java, C#) est mal traité par les systèmes de vérification. Mon ami a personnellement reçu 0 point sur trois tâches sur quatre au niveau régional en raison d'une erreur d'exécution (écrite en C#), bien que tout ait été vérifié normalement. Ni moi ni lui ne comprenions quoi faire dans ce cas ; En appel, le jury a simplement haussé les épaules.
Des risques
Sur quoi pouvez-vous perdre ? Il existe 7 types d'erreurs :

Texte masqué

Mauvaise réponse
Réponse incorrecte. Le résultat du programme ne coïncide pas avec la réponse du jury
Format de sortie invalide ou erreur algorithmique dans le programme

Délai dépassé
Le délai spécifié dans la tâche a été dépassé. Le programme dure plus longtemps que la durée définie
Solution inefficace ou erreur algorithmique dans le programme

Erreur de présentation
Fichier de sortie manquant OUTPUT.TXT
Le fichier n'a pas été créé, le nom du fichier est incorrect ou le programme s'est écrasé avant d'ouvrir le fichier de sortie

Erreur de compilation
Erreur de compilation. Suite à la compilation, aucun fichier exécutable n'a été créé
Il y a une erreur de syntaxe dans le programme ou l'extension du fichier est incorrecte. Il est possible qu'une classe autre que Main ait été utilisée dans l'implémentation Java

Limite de mémoire dépassée
La limite de mémoire spécifiée dans la tâche a été dépassée. Le programme utilise plus que la taille de mémoire configurée.
Algorithme inefficace ou utilisation irrationnelle de la mémoire

Erreur d'exécution
Erreur d'exécution. Le programme s'est terminé avec un code retour différent de zéro. Dans ce cas, le résultat des travaux n'est pas vérifié
Peut-être que le programme a accédé à un élément de tableau inexistant, divisé par zéro, etc. Le programme C++ ne peut pas se terminer par une instruction « return 0 » ou peut autrement renvoyer un code retour différent de zéro.

Jeux olympiques

Comment se déroule l'Olympiade panrusse d'informatique ?
Je n'ai parcouru que 5 étapes : 8-9 années à l'école, 8-11 années à l'école, étape municipale, tournée à distance de l'Olympiade régionale, Olympiade régionale. Vient ensuite la tournée panrusse, mais malheureusement, je n’y suis pas parvenue. Maintenant, je vais vous parler des tâches que j'ai vraiment aimées.
Stage chez les lycéens
Pendant la tournée, parmi les classes 8-11, il y avait une tâche « Fonctions de hachage polynomiales », dont la condition était écrite sur deux pages A5. Dans ces conditions, de brèves informations sur les fonctions de hachage, leur historique ont été fournies et une de ces fonctions a été proposée. La tâche consistait à le calculer pour un tableau de données d'entrée. Nous avons été effrayés par le nom très effrayant, la terminologie complexe, l'enregistrement du montant avec son icône (celle qui ressemble à la lettre E) et par conséquent, peu de gens ont même commencé à le résoudre. Malheureusement, je ne trouve pas la condition maintenant.
Scène municipale
La scène municipale s'est avérée tout simplement mortelle par sa complexité.

Voici la tâche à partir de là

B. Castor

Limites de mémoire : 64 Mo

Le castor va construire une cascade de barrages et une cabane douillette dans le lit d'une rivière étroite. Il se trouve que la rivière coule le long d'un chemin parfaitement rectiligne et que sa largeur est si petite que nous pouvons la négliger pour les besoins de ce problème. Il y a des arbres sur les rives de la rivière que le castor peut utiliser pour construire. Les scientifiques ont décidé de découvrir comment le castor choisit de manière optimale les endroits pour construire des barrages et des huttes en termes de distance totale minimale sur laquelle les arbres doivent être déplacés.
Écrire un programme qui, étant donné les coordonnées des arbres par rapport au début de la section droite de la rivière, si l'on considère l'axe comme étant co-directionnel avec l'écoulement, détermine les coordonnées des objets correspondant à la distance totale minimale à laquelle les arbres doivent être déplacés.
Format d'entrée :
<=T<=10 – количество тестовых блоков, идущих друг за другом. В первой строке каждого тестового блока содержится два целых положительных числа 1<=N<=1000, 0<=М<=10, 0<=L<=100 – соответственно количество деревьев, растущих на берегах реки, количество деревьев, необходимое для возведения одного объекта и количество объектов, которые необходимо возвести. В каждой из следующих N строчек записано единственное положительное вещественное число – расстояние в метрах от начала прямого участка реки (самого высокого по течению) до места, где растет соответствующее дерево. Известно, что деревьев гарантированно хватает, чтобы построить все объекты (N>=M*L)
Format de sortie:
Pour chaque bloc de test, sur une ligne distincte, vous devez imprimer un seul nombre - la somme des coordonnées des endroits où les objets doivent être construits, de sorte que la distance totale sur laquelle les arbres devront être déplacés pour la construction soit minime , indiquant trois chiffres exacts après le séparateur décimal.

Des données d'entrée
2
5 3 1
0.1
1.2
5.6
7.3
9.4
2 2 1
1
2
Sortir
7.300
1.000

Résoudre le problème s’il n’y a qu’un seul objet est assez simple. Mais lorsqu'il y a plus d'objets, il faut utiliser une section de programmation assez complexe, la « Programmation Dynamique ». L'enseignant qui a enseigné notre cours au choix a admis qu'il n'avait aucune idée de la façon de résoudre ce problème (avec des efforts conjoints, nous avons dérivé la valeur qui doit être minimisée en construisant simplement plusieurs graphiques, ne demandez même pas quelle est cette valeur - je l'ai oubliée par hasard ).
En conséquence, un seul participant à l'Olympiade a résolu le problème avec la note maximale.

Et voici un autre problème, dont la décision du jury a été révisée (depuis la même scène municipale) :

A. Albatros
Limites de temps : 1 seconde par test
Limites de mémoire : 64 Mo
L'albatros peut effectuer de longs vols, couvrant de longues distances au-dessus de l'océan. Les ornithologues ont décidé de déterminer combien de kilomètres un albatros peut parcourir sans visiter la terre. Pour ce faire, une flottille de laboratoires de recherche flottants s'est dispersée à travers l'océan et a enregistré des données sur l'individu étudié, auxquelles était attachée une étiquette radio. Les scientifiques enregistrent le moment et les coordonnées actuelles de l'endroit où ils ont découvert l'albatros.
Écrivez un programme qui détermine la distance parcourue par l'albatros au cours de l'expérience, si nous supposons que dans la zone d'observation, notre planète est une sphère idéale d'un rayon de 6366,197 kilomètres.
Format d'entrée :
La première ligne de l'entrée contient un seul entier positif 1<=T<=10 – количество тестовых блоков, идущих друг за другом. В первой строке каждого тестового блока содержится единственное целое положительное число 2<=N<=1000, количество записей о появлении альбатроса. В каждой из следующих N строчек записаны по двенадцать целых неотрицательных чисел (0<=d1<=90, 0<=m1<=90, 0<=s1<=90, 0<=d2<=90, 0<=m2<=90, 0<=s2<=90, 0<=h<=23, 0<=mt<=59, 0<=sec<=59, 1<=dd<=31, 1<=mm<=12, 2000<=yy<=2012) – соответственно градусы минуты и секунды северной широты, градусы, минуты и секунды западной долготы того места, где плавучая исследовательская лаборатория заметила альбатроса; время в формате часы, минуты, секунды и дата наблюдения в формате день, месяц, год.
Format de sortie:
Pour chacun des blocs de test, sur une ligne distincte, vous devez imprimer un seul entier - la distance parcourue par l'albatros, arrondie à l'entier pair le plus proche.
Exemples de données d'entrée et de sortie :
Des données d'entrée
2
3
0 0 0 0 0 0 0 0 0 1 1 2012
0 0 0 0 2 0 0 0 0 3 1 2012
0 0 0 0 1 0 0 0 0 2 1 2012
2
0 0 0 0 0 0 0 0 0 1 1 2012
0 0 0 0 1 0 0 0 0 2 1 2012
Sortir
4
2


Une tâche assez simple : il faut trier les valeurs par date d'apparition de l'Albatros, calculer la longueur de chaque arc entre deux points, puis les additionner. La solution fait une hypothèse qui permet l’utilisation du théorème de Pythagore.
Mais pourquoi la décision a-t-elle été révisée ? Jetons un coup d'œil à la plage des minutes et des secondes.
0<=m1<=90, 0<=s1<=90
Vous avez probablement naïvement supposé qu'il y avait 60 minutes dans un degré ? Ou qu'il y a 60 secondes dans une minute ? Ha ha ! « 90 » est clairement écrit ici.
Les tests ont été compilés en tenant compte de la traduction : il y a 60 minutes dans un degré, 60 secondes dans une minute. Cet outrage a été contesté avec succès par nos enseignants.
Le plus ennuyeux, c'est que même l'exemple s'est avéré faux
En conséquence, à mon avis, personne n’a résolu le problème.

Le texte intégral de la phase communale est disponible.

Visite à distance
Les tâches du tour à distance étaient beaucoup plus intéressantes. Je me souviens de deux tâches.

Voici le premier

G. Héros du jour
E/S : standard

Le holding médiatique Perm le Grand surveille les messages des blogueurs de la région de Perm et essaie chaque jour de savoir qui est le plus populaire dans les publications afin d'inclure cette personne dans la section traditionnelle « Héros du jour ».
Pour chaque entrée incluse dans la liste de suivi, le nombre de vues et les personnalités qui y sont mentionnées sont connus. Écrivez un programme qui détermine la personne pour laquelle le nombre total de vues pour les publications dans lesquelles elle est mentionnée est maximum.
Format d'entrée :
La première ligne de l'entrée contient un seul entier 1<=L<=10000 – количество записей, попавших в обзор за текущий день. В каждой из следующих строк вначале указывается число – количество просмотров соответствующей записи и затем имена и фамилии людей, упоминающихся в записи. Имена и фамилии состоят из букв английского алфавита, число, а также все соседние слова отделяются друг от друга ровно одним пробелом. Суммарная длина строки составляет не более 200 символов.
Format de sortie:
Dans une seule ligne de données de sortie, vous devez afficher le prénom et le nom de la personne dont les messages mentionnés ont reçu le plus de vues. S'il y a plusieurs de ces personnes, vous devez faire ressortir celle qui apparaît en premier dans l'alphabet.

Des données d'entrée
1
100500John TravoltaJohn Lennon

5
5 Vasya Pupkin Sergueï Syroezhkin
dixHarry Potter
5Garry Potter Vasya Pupkin
5 Sergueï Syroezhkine
12341234463456234123466543342Arnold Schwarzenegger
Sortir
John Lennon
Arnold Schwarzenegger

C'est après cette tâche que j'ai eu l'idée d'un « dictionnaire », un type de données permettant une recherche pratique par les gens. Si quelqu'un est intéressé, j'écrirai dans les commentaires, vous pouvez demander en MP, mais j'ai l'impression que c'est le même vélo.
Nous devons créer une liste de personnes avec un nombre total de vues (regardez la personne avec l'identifiant Arnold Schwarzenegger, cela demande beaucoup d'arithmétique), puis sélectionnez simplement la personne souhaitée dans notre liste. Pour simplifier l'algorithme, nos élèves de onzième année ont utilisé une fonction de hachage pour le nom (la somme de tous les numéros de caractères ASCII dans le nom), ce qui a considérablement accéléré le programme ; les collisions étaient faibles.

Deuxième tâche ou tâche d'archivage

V. Grand Archiviste
E/S : standard
Délais : 1 seconde

Sur la planète des robots, le traitement de texte automatique est très populaire. À cette fin, les robots ont introduit un poste spécial de Grand Archiviste. Les tâches du Grand Archiveur consistent notamment à dresser une liste de tous les mots du texte et à remplacer les mots par un numéro indiquant le numéro de ce mot dans la liste.
Écrivez un programme qui remplit les fonctions du Grand Archiveur.
Format d'entrée :
Une seule ligne de données d'entrée contient une chaîne ne dépassant pas un million de caractères, composée de lettres minuscules et majuscules de l'alphabet anglais et d'espaces. Deux mots adjacents dans le texte sont séparés par exactement un espace. Les mots sont considérés comme identiques s'ils sont égaux en termes de comparaison de chaînes, les lettres minuscules et majuscules étant considérées comme différentes.
Format de sortie:
Sur une seule ligne de sortie, vous devez afficher la séquence de numéros de mots du texte et les mots de la liste doivent être classés dans l'ordre de leur apparition dans le texte. La numérotation des mots doit commencer par un.
Exemples de données d'entrée et de sortie :
Des données d'entrée
Être ou ne pas être
Pourquoi pleures-tu Willie Pourquoi pleures-tu Pourquoi Willie Pourquoi Willie Pourquoi Willie Pourquoi
Sortir
1 2 3 4 5 2
1 2 3 4 5 1 2 3 4 1 5 1 5 1 5 1

Explication des exemples d'entrée et de sortie : Le texte du deuxième exemple ne contient pas de caractères de saut de ligne ou de retour chariot.

Un algorithme de compression assez simple (je ne me souviens plus comment il s’appelle). J'étais intéressé à le mettre en œuvre. J'ai résolu ce problème en créant un tableau de mots et en y ajoutant le premier mot. Puis il lut chaque mot suivant et vérifia s'il figurait dans le tableau. S'il y en avait un, j'écrivais le mot numéro dans le flux de sortie, sinon je l'ajoutais au tableau et notais le numéro.
Fondamentalement, ma solution n’a pas obtenu tous les points.
Le texte intégral des missions peut être consulté.
J'ai pris la 1ère place parmi les élèves de neuvième année dans l'épreuve de distance.

Scène régionale
Au niveau régional, ce n'était pas si amusant, il y avait deux tours. J'avais peur de décevoir l'école et de ne pas passer à l'étape suivante, de mal montrer notre école. Par conséquent, les tâches n’étaient pas perçues comme amusantes et agréables. En général : je ne me souvenais de rien de là, mais j'ai reçu le diplôme tant convoité. Et je n’ai pas trouvé les conditions.
Le deuxième jour, des représentants de la société locale « Prognoz » sont venus nous voir et ont joué « Quoi ? Où? Quand ?», a organisé un quiz. Les gagnants ont reçu des prix.

Préparation

Comment je me suis préparé ?
La réponse est assez simple : j’ai de bons professeurs. C’était intéressant pour moi et j’ai apprécié tout ce qui se passait. Je me suis préparé dur et j’ai réalisé ce que je voulais.

Que faire si cela vous intéresse également et souhaitez participer à tout cela ?

  1. Il existe des systèmes pour préparer les écoliers à la programmation des Olympiades, ils disposent d'un système de tests et d'un ensemble de conditions avec des solutions. D'après ce que je comprends, tous ces systèmes nécessitent un enregistrement. Je me suis préparé avec l'aide de deux :
    • acmp.ru Il y a beaucoup de tâches de complexité variable, la section « Cours Olympiade » est également intéressante
    • http://acm.timus.ru/ Un tas de problèmes issus de diverses Olympiades, certains en anglais. Dans la section http://acm.timus.ru/offline, nous avons organisé des scènes à distance et régionales.
  2. Il existe des Olympiades en ligne, je n'en ai participé qu'à une seule : NetOI des Ukrainiens. L'avis est : HARDCORE !!! Il n'a pas dépassé le deuxième tour. Le code doit être écrit de manière terriblement optimale (je ne peux pas faire ça), chaque test a des conditions individuelles (le double du temps du programme du jury).

Et après?

En disant cela, j'entends la question de savoir dans quelle mesure les athlètes des Olympiades sont adaptés au travail dans des conditions réelles.
Bien que je n'aie pas encore travaillé dans l'industrie informatique, je pense que les participants aux Olympiades ne sont en aucun cas adaptés au travail réel. Lors de telles Olympiades, il faut être capable d'inventer rapidement un « vélo » et avoir une bonne connaissance des algorithmes. Mon ami et moi écrivons de petits jeux et je comprends qu'il est bien plus important de pouvoir choisir la bonne technologie pour vos besoins, de pouvoir trouver une solution toute faite pour accélérer le développement, "Pas besoin de vélos". Corrigez-moi si ce n'est pas vrai.
Si quelqu’un s’intéresse à ce que je veux dans la vie : en fait, je n’aime pas vraiment l’informatique et l’informatique, mon rêve est d’étudier comme physicien théoricien et de faire de la recherche. Et comme cela pose des problèmes en Fédération de Russie, j'ai l'intention d'aller au Canada ou aux États-Unis.

J'accepterai tous les souhaits en MP ou dans les commentaires. J'espère que cet article ne s'est pas avéré long. J'espère que c'était intéressant pour vous. J’espère que mon analphabétisme ne vous a pas gêné, je ne connais vraiment pas très bien la ponctuation.

Préparation à l'Olympiade de programmation.

La programmation est très importante dans le monde d'aujourd'hui. Lorsque vous achetez un billet de cinéma ou une bouteille de soda au supermarché, prenez l'avion ou parlez au téléphone, écoutez de la musique ou prenez une photo, vous devez utiliser des programmes, peut-être sans même vous en rendre compte. Et la première participation à l'Olympiade d'informatique peut être pour quelqu'un le premier pas vers le futur métier de programmeur.

Vous commencez tout juste votre parcours aux Olympiades ou connaissez-vous déjà son format ? Nous serons heureux d’aider tout le monde à se préparer. Le « Cercle des champions » de l'Association des lauréats des Olympiades est toujours ouvert aux débutants, et les participants expérimentés peuvent rejoindre l'équipe informatique de Moscou.

Comment ça se passe, la scène scolaire ?

Pour les élèves de la 5e à la 6e année, seule la première étape de l'Olympiade panrusse est organisée. Tous les devoirs sont théoriques et sont réalisés sur papier (sans ordinateur).

Les écoliers de la 7e à la 8e année qui souhaitent participer à l'Olympiade d'informatique n'ont pas non plus besoin de savoir programmer. Les gars résolvent une version mixte, contenant à la fois des tâches théoriques et des tâches de programmation. Pour obtenir un score complet, il suffit de terminer correctement uniquement les tâches théoriques.

Mais le concours destiné aux écoliers de la 9e à la 11e année est une Olympiade de programmation. Les gars écrivent plusieurs programmes dans l'un des langages de programmation. Le test des tâches à l'Olympiade est effectué automatiquement par un système de test spécial, sans la participation d'un jury. Le système de test est strict et impartial, et des points ne peuvent être obtenus que pour une solution qui répond strictement aux exigences de l'énoncé du problème.

Vous pouvez vous entraîner à résoudre des problèmes au stade de district de l'Olympiade et à travailler avec le système de test sur le site Web informatique.mccme.ru dans la section Olympiades personnelles - Olympiades pour débutants.

Chaque année, des cours en ligne destinés aux écoliers sont lancés pour la scène municipale. Du matériel de préparation, des informations organisationnelles et des conseils d'experts sont publiés pour les 24 matières de l'Olympiade. Les participants peuvent poser des questions au jury et faire appel. Vous pouvez vous inscrire aux cours au moyen d'une invitation, qui est délivrée à l'école avec la fiche de participation.

Si tu as aimé, fais-le

Il n'est pas difficile d'attirer l'attention d'un entraîneur, il suffit de bien performer aux étapes de l'Olympiade panrusse, de l'Olympiade des écoliers de Moscou, de l'Olympiade ouverte de programmation ou de l'Olympiade par équipe. Les gars qui ont fait leurs preuves sont invités par des coachs à des entraînements spécialisés.
Vous pouvez aussi simplement venir en cours (il est préférable d’écrire d’abord un e-mail). Des représentations réussies sur place et à distance vous permettent de recevoir des invitations à des classes de niveau supérieur et de devenir l'un des candidats à l'équipe de Moscou à l'Olympiade panrusse.

Cours pour les candidats

Ils sont organisés pour différents groupes et niveaux d'écoliers - à la fois du niveau peu fort (en préparation à l'étape 2) et du niveau de préparation à l'étape finale et aux olympiades internationales. En octobre, les gars participent à la sélection pour l'Olympiade panrusse de programmation par équipe, qui elle-même a lieu fin novembre - début décembre.

Des camps pour les candidats à l'équipe ont lieu en novembre. De plus, dans le cadre de leur préparation, les gars participent à des compétitions internationales (Olympiade Zhautykov au Kazakhstan, Tournoi international en Bulgarie et master roumain d'informatique).

Après avoir déterminé la composition exacte de l'équipe entre février et mars, des camps d'entraînement sont organisés chaque année directement pour ses membres.

Le site, géré par le Centre de formation mathématique continue de Moscou, contient un grand nombre de tâches de programmation à différents niveaux. Idéal pour ceux qui font leurs premiers pas en programmation : de nombreuses sections contiennent des liens vers du matériel théorique sur le sujet concerné, et la plupart des tâches sont accompagnées d'une analyse détaillée. La vérification automatisée des solutions est disponible pour toutes les tâches.

Jeux olympiques Olympiade panrusse d'informatique La scène régionale aura lieu les 16 et 18 janvier 2020

Concours pour les écoliers de la 5e à la 11e année. Les gagnants et les finalistes de la finale bénéficient d'avantages lors de leur entrée à l'université

L'informatique

Codeforces.com. Un portail qui rassemble un grand nombre de participants à des concours de programmation à travers le monde. Le site accueille régulièrement des compétitions en ligne pour les écoliers de tous niveaux : des débutants aux multiples champions du monde. De nombreuses entreprises bien connues, dont VKontakte, Mail.Ru, Tinkoff Bank et AIM Tech, organisent des concours officiels sur la plateforme.

De plus, le portail traite de tout ce qui concerne la programmation, des articles récemment publiés sur les structures de données aux émotions suscitées par un concours récemment organisé. Le site contient également une grande archive de tâches disponibles pour une vérification automatisée.

Notes du wiki. Encyclopédie sur les mathématiques discrètes et la théorie des algorithmes, compilée par les étudiants de l'ITMO. Il décrit la plupart des algorithmes utilisés dans les concours de programmation. De nombreux articles contiennent des exemples de problèmes et de pseudocodes des algorithmes donnés. Les notes sont rédigées avec beaucoup de détails et de haute qualité. C'est l'une des rares ressources en russe sur ce sujet.

Maximale. Une mini-encyclopédie contenant les algorithmes les plus populaires en informatique aux Olympiades, dont la plupart incluent des implémentations et des exemples d'utilisation. Le site a un style de présentation un peu plus informel (ce qui peut parfois affecter la qualité des articles ou l'exactitude des algorithmes), mais il rend l'information plus facile à percevoir. Le site contient des liens vers des livres utiles pour une étude plus détaillée des algorithmes donnés, ainsi que certains problèmes spécifiques présentant un intérêt particulier.

Olympiades d'informatique. Un site Web dédié aux Olympiades de programmation pour écoliers de Saint-Pétersbourg, le site officiel de l'Olympiade panrusse par équipe pour les écoliers (VKOSHP), de l'Olympiade individuelle pour les écoliers en informatique et en programmation (IOIP). L'un des principaux avantages de ce site est une archive très riche d'événements organisés en Russie, y compris l'Olympiade panrusse : le site contient des présentations avec analyse des problèmes et des résultats des compétitions. Des compétitions individuelles et par équipes pour les écoliers y sont également régulièrement organisées.

Olympiades.ru. Un site dédié aux Olympiades de programmation pour écoliers de Moscou, le site officiel de l'Olympiade de programmation pour écoliers ouverts, dont les tâches ne sont pas inférieures en complexité à celles de toute la Russie, et parfois plus élégantes et intéressantes. De plus, l'Olympiade comprend une épreuve par correspondance dont les tâches nécessitent souvent l'apprentissage de nouveaux algorithmes pendant la compétition. Le site Web contient du matériel provenant de compétitions passées, ainsi que des liens vers des informations sur les événements à venir.

Livres

Thomas H. Corman, Charles I. Leiserson, Ronald L. Rivest, Clifford Stein. Algorithmes. Construction et analyse. Ce livre est un manuel classique avec une description détaillée des algorithmes et des structures de données, ainsi que des informations de base sur les mathématiques discrètes nécessaires à tout programmeur. De plus, le livre contient un grand nombre d'exercices de complexité variable qui intéresseront le lecteur le plus expérimenté. Son style de présentation est très réussi et, bien qu'il soit destiné aux étudiants, la plupart du matériel sera accessible aux écoliers.