Aller au contenu principal

Kotlin, librairie standard

Avant la séance (2h)
  1. Lire la documentation de la librairie standard de Kotlin sur les Collections, les List, les Set et les Map (max 20 minutes).
  2. Regarder les vidéos de théorie.
  3. Commencer les exercices de la semaine.
  4. Arrêter après 2 heures de travail.
Vidéos
À faire pendant la séance
  • Compléter les exercices de la semaine.
  • Continuer le travail pratique (à remettre bientôt!).
Exercices

Crée-toi un nouveau projet dans lequel tu pourras créer différents fichiers exécutables pour les exercices.

Exercice EntrezUnNombre.kt

En utilisant la fonction readln(), crée un programme qui demande à l'utilisateur de taper un mot jusqu'à ce que ce soit un nombre entier (dans la console) :

Veuillez entrer un nombre :
pipo
Ceci n’est pas un nombre, veuillez entrer un nombre :
popi
Ceci n’est pas un nombre, veuillez entrer un nombre :
123
Merci, votre nombre est 123.

Exercice EcrireFichier.kt

En utilisant la librairie standard, ton programme doit :

  • Créer un fichier vide dans le dossier courant appelé vide.txt.
  • Créer un fichier texte contenant ton nom et ton prénom dans le dossier parent du dossier courant.

Exercice LireFichier.kt

En utilisant la librairie standard, ton programme doit :

  • prendre un ou plusieurs noms de fichiers en arguments de ligne de commande;
  • afficher le contenu de chaque fichier passé en argument dans la console en les séparant par une ligne de -------------.

Exercice ListeSimple.kt

Ton programme doit contenir :

  • une fonction repete(n: Int, nombreFois: Int) qui renvoie une liste d'entiers avec tous les nombres de 1 à n répétés nombreFois.
    Par exemple, pour repete(4, 2), on doit obtenir [1, 1, 2, 2, 3, 3, 4, 4];
  • une fonction main qui teste la fonction précédente avec plusieurs valeurs de paramètres, et affiche les listes retournées avec println().

Exercice TriSimple.kt

Ton programme doit contenir :

  1. une fonction triInverseALaMain(liste: List<Double>) qui renvoie la liste triée par ordre inverse.
    Par exemple, si on passe [0.1, 12.34, -0.1234, 3.1416] on doit obtenir [3.1416, -0.1234, 12.34, 0.1].
    Tu dois utiliser une liste mutable et une boucle;
  2. une fonction triInverse(liste: List<Double>) qui fait la même chose, mais sans boucle et en utilisant une méthode de l'objet List reçu en paramètre;
  3. une fonction main qui teste les deux fonctions précédentes avec plusieurs listes.

Exercice TrouvePisCompte.kt

Ton programme doit contenir :

  1. une fonction trouveALaMain(element: Int, liste: List<Int>): Boolean qui renvoie si la liste contient l'élément fourni ou pas.
    Tu dois parcourir la liste avec une boucle;
  2. une fonction trouve(element: Int, liste: List<Int>): Boolean qui fait la même chose, mais sans boucle et en utilisant une méthode de l'objet List;
  3. une fonction compteALaMain(element: Int, liste: List<Int>): Int qui renvoie le nombre d'apparitions de l'element dans la liste.
    Tu dois parcourir la liste avec une boucle;
  4. une fonction compte(element: Int, liste: List<Int>): Int qui fait la même chose, mais sans boucle et en utilisant une méthode de l'objet List;
  5. une fonction main qui teste les 4 fonctions sur plusieurs exemples.

Exercice Ensemble.kt

Crée un programme pour gérer une liste de mots reçue en ligne de commande.
Tu dois t'assurer qu’il n’y a pas de doublons (utilise un Set).
Affiche ensuite les mots triés par ordre alphabétique dans la console.

Par exemple, si ces mots sont passés en ligne commande :

on me voit on me voit plus on me voit plus on me voit

la console devrait afficher :

me
on
plus
voit

Exercice Compteur.kt

En utilisant une Map, crée un programme qui compte les occurences de chacun des mots reçus en ligne de commande.
Par exemple, si ces mots sont passés en ligne commande :

on me voit on me voit plus on me voit plus on me voit

ta Map devrait contenir :

{on=4, me=4, voit=4, plus=2}