Olympiades suisses d'informatique
Préparation
- Aller sur soi.ch.
- Créer un compte.
- Choisir le rôle de participant·e.
- Accepter le devoir.
- Cloner le dépôt GitHub du devoir.
- Ouvrir le dossier cloné dans VS Code.
- Dans Visual Studio Code, aller dans le menu
Fichier>Ouvrir un dossier...et sélectionner le dossier cloné.
- Dans Visual Studio Code, aller dans le menu
Tour préliminaire
Voir les problèmes.
Addition
Aller sur le problème Addition.
Comprendre l'énoncé.
- Les énoncés ressemblent à un problème en mathématiques, mais il faut résoudre le problème pour toutes les entrées possibles.
- Le but est d'écrire un programme qui lit l'entrée, effectue les calculs et affiche la sortie.
Créer un fichier addition.py dans le dossier cloné avec le contenu suivant :
# Lire la première ligne et séparer avec les espaces.
a, b = input().split()
# Convertir les valeurs en entiers.
a = int(a)
b = int(b)
# Calculer le résultat.
output = 42
# Renvoyer le résultat.
print(output)
Modifier le programme pour qu'il calcule la somme de a et b et affiche le résultat.
Tester le programme (deux façons) :
- Manuellement :
- Ouvrir un terminal dans VS Code.
- Exécuter le programme avec la commande suivante :
python3 addition.py
- Entrer les valeurs
10 5et vérifier que le résultat est15.
- Avec un fichier d'entrée :
- Créer un fichier
input.txtavec le contenu suivant :10 5 - Exécuter le programme avec la commande suivante :
cat input.txt | python3 addition.py
- Explication :
cat input.txt: affiche le contenu du fichierinput.txt.|: redirige la sortie de la commande précédente vers l'entrée de la commande suivante.python3 addition.py: exécute le programmeaddition.pyen utilisant l'entrée redirigée comme si on avait tapé les valeurs manuellement.
- Explication :
- Rediriger la sortie vers un fichier
output.txt:cat input.txt | python3 addition.py > output.txt
- Créer un fichier
Soumettre sa solution sur soi.ch.
- Télécharger le fichier d'entrée.
- Copier le contenu du fichier téléchargé (
addition-sub1-attempt0.txt) dans le fichierinput.txtdu dossier cloné. - Exécuter le programme avec le fichier d'entrée pour le mettre dans un fichier de sortie.
cat input.txt | python3 addition.py > output.txt
- Envoyer le fichier de sortie
output.txtet le code sourceaddition.pysur le site.
Une fois résolu, faire un commit et un push pour sauvegarder le code sur GitHub.
Books
Aller sur le problème Books.
Créer un fichier books.py avec le contenu suivant :
# Lire les lignes d'entrée.
n = input()
books = input().split()
# Convertir les valeurs en entiers.
n = int(n)
books = [int(book) for book in books]
# Calculer le résultat.
output = 42
# Renvoyer le résultat.
print(output)
Une fois résolu, faire un commit et un push pour sauvegarder le code sur GitHub.
Fête du Fromage
Aller sur le problème Fête du Fromage.
Créer un fichier cheeseparty.py en s'inspirant des problèmes précédents.
Aide
Bien lire l'énoncé et résoudre l'exemple à la main pour comprendre le problème.
Une fois résolu, faire un commit et un push pour sauvegarder le code sur GitHub.
Directions
Aller sur le problème Directions.
Créer un fichier directions.py en s'inspirant des problèmes précédents.
Aide pour la structure du fichier
# Nombre de cas de test.
T = int(input())
for t in range(T):
# Lire les lignes d'entrée.
B = input()
S = input()
# Calculer le résultat.
output = 42
# Renvoyer le résultat.
print(f"Case {t}: {output}")
Une fois résolu, faire un commit et un push pour sauvegarder le code sur GitHub.
Endurance
Aller sur le problème Endurance.
Créer un fichier endurance.py en s'inspirant des problèmes précédents.
Une fois résolu, faire un commit et un push pour sauvegarder le code sur GitHub.
Premier Tour
- Se connecter dans la classe.