Aller au contenu principal

Programmation impérative en Kotlin

Contenu

  • Exemples d'applications pour revenir sur les éléments couverts dans la vidéo
  • Correction commentée de certains exercices de la semaine
  • Focus sur la null safety
  • Focus sur val et var
  • Focus sur les annotations de types
Avant la séance (2h)
  1. Parcourir la page Wikipédia concernant Kotlin (max 20 minutes)
  2. Regarder les vidéos de théorie
  3. Commencer les exercices de la semaine. Arrêter après 2h de travail
Vidéos
À faire pendant la séance
Exercices

Le but des exercices est de découvrir Kotlin par la pratique.
Certaines syntaxes sont pareilles en C# et en Kotlin, alors que d'autres sont différentes. À toi de trouver lesquelles.

Exercice de compréhension sur les types

Crée un nouveau projet Types.

À la racine du projet, crée un simple fichier types.md et copies-y le code ci-dessous.
À la fin de chaque ligne, écris le type de valeur qui sera contenue dans la variable créée, selon toi.

val a = 1                                   // type est            
val aa = 1L // type est
val aaa = a * 25 + aa * 100 // type est
val b = 1.0 // type est
val c = "1" // type est
val d = true // type est
val laChose = c + b // type est
val k = listOf("1", "2", "3") // type est
val l = mutableListOf(true, false, true) // type est

Copie maintenant le code dans le main de Main.kt et fais ta souris survoler chaque variable pour voir le type de valeur qu'elle contiendra.

Des surprises?

Exercice de compréhension sur val / var

val et var sont des mots clés très similaires en lecture rapide. Pourtant, ils sont très différents.
Dans un fichier valvar.md à la racine de ton projet Types, explique en tes mots la différence entre les deux.

Exercice EclateTaString

Crée un nouveau projet EclateTaString, ou bien, dans un projet existant, crée un nouveau fichier exécutable EclateTaString.kt (avec une fonction main).
Ce programme doit prendre en argument de ligne de commande (paramètre de la méthode main) une chaîne de caractères et afficher chaque caractère de la chaîne individuellement sur une ligne.

Exercice Pyramide

Crée un programme (nouveau projet ou nouveau fichier exécutable).

Ce programme doit :

  • recevoir des hauteurs en arguments de ligne de commande;
  • appeler une fonction qui affiche une pyramide d'une hauteur donnée, pour chacune des hauteurs reçues en ligne de commande.

Par exemple, pour les arguments reçus "4 2", le programme doit afficher :

   *
***
*****
*******
*
***

Teste ton code sur les hauteurs suivantes passées en ligne de commande : "1 2 3 10 1000".

Exercice Moyenne

Dans un nouveau projet ou un nouveau fichier exécutable :

  • Définis une fonction qui prend un paramètre n et retourne un tableau de n entiers tirés au hasard entre 0 et 100 inclus.
fun creeTableauAleatoire(n: Int): Array<Int> {
// ton code ici
}
  • Définis une autre fonction qui calcule la somme, la moyenne, le min et le max d'un tableau d'entiers et les affiche dans la console.

Il t'est fortement recommandé ici de définir des fonctions et de les appeler dans le main.

Liens pour des ressources :

Astuce : pour trouver la documentation d’une classe, on google kotlin class nomdelaclasse, par exemple ici kotlin class Random.

Exercice BinariseTonEntier

Crée un programme (nouveau projet ou exécutable) qui prend en argument une chaîne de caractères, la convertit en Integer et affiche ce nombre en binaire.

Exercice ConvertisDansTousLesSens

Crée un programme qui teste différentes conversions de type et affiche les résultats :

  • convertit un Int en Float
  • convertit un Double en Int (qu'est-ce qui se passe après la virgule?)
  • convertit une String en Int (qu'est-ce qui se passe s'il y a autre chose que des chiffres?)
  • convertit un Int en String
  • convertit un Float en Double
  • etc.

Exercice Web

Crée un programme qui prend en argument une adresse (URL) d’un site web et affiche son contenu dans la console.
Pour faire cela, tu peux utiliser une librairie externe (par exemple la librairie jsoup) ou bien la librairie standard.