Avec des exercices corrigés en langage Swift, vous pratiquerez divers concepts du langage Swift. Vous commencerez par des exercices du langage Swift de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
Utiliser l’éditeur Swift pour résoudre les exercices : (Cliquez sur l’onglet input si vous souhaitez entrer des valeurs, cliquez sur Run pour exécuter votre programme, le résultat sera affichée sur l’onglet output).
// Déclare une fonction appelée "reverseTab"
// qui reçoit un tableau d'entiers "arr" en paramètre.
// La fonction retourne un tableau d'entiers.
func reverseTab(_ arr: [Int]) -> [Int] {
// Inverse l'ordre des éléments du tableau.
// "reversed()" retourne les éléments dans l'ordre inverse.
// "Array(...)" convertit le résultat en tableau [Int].
return Array(arr.reversed())
}
Exercice 2:
Créez une fonction qui renvoie TRUE si une chaîne contient des espaces. Sinon renvoie FALSE.
// Déclare une fonction appelée "containSpaces"
// qui reçoit une chaîne de caractères "str".
// La fonction retourne une valeur booléenne : true ou false.
func containSpaces(_ str: String) -> Bool {
// Vérifie si la chaîne contient au moins un espace.
// Retourne true si un espace est trouvé,
// sinon retourne false.
return str.contains(" ")
}
Exercice 3:
Créez une fonction qui prend un mot et détermine s’il est pluriel ou singulier. Un mot pluriel est celui qui se termine par « s ». S’il est pluriel renvoyer TRUE sinon FALSE.
// Déclare une fonction appelée "check"
// qui reçoit une chaîne de caractères "str".
// La fonction retourne une valeur booléenne : true ou false.
func check(_ str: String) -> Bool {
// Vérifie si le dernier caractère de la chaîne est "s".
// "last" permet d'obtenir le dernier caractère de la chaîne.
// L'opérateur ternaire retourne true si le dernier caractère
// est "s", sinon il retourne false.
return str.last == "s" ? true : false
}
Exercice 4:
Créez une fonction qui renvoie le nombre d’arguments avec lesquels elle a été appelée.
// Déclare une fonction appelée "nbrArgs"
// qui peut recevoir un nombre variable d'arguments.
// Les arguments sont de type "Any", ce qui permet d'accepter
// différents types de valeurs.
// La fonction retourne un entier.
func nbrArgs(_ p: Any...) -> Int {
// "count" retourne le nombre d'arguments reçus.
return p.count
}
Exercice 5:
Créez une fonction qui prend un tableau de nombres et renvoie le plus petit nombre du tableau.
// Déclare une fonction appelée "getMin"
// qui reçoit un tableau d'entiers "tab".
// La fonction retourne un entier.
func getMin(_ tab: [Int]) -> Int {
// Recherche la plus petite valeur du tableau avec "min()".
// Si le tableau est vide et que "min()" retourne nil,
// "?? 0" retourne 0 comme valeur par défaut.
return tab.min() ?? 0
}
Exercice 6: Concaténer deux chaînes en une seule chaîne
Avec deux chaînes, str1 et str2, renvoyez une seule chaîne au format « str1 | str2 ».
// Déclare une fonction appelée "concatStr"
// qui reçoit deux chaînes de caractères "str1" et "str2".
// La fonction retourne une chaîne de caractères.
func concatStr(_ str1: String, _ str2: String) -> String {
// Concatène les deux chaînes de caractères
// en ajoutant " | " entre elles.
// Puis retourne le résultat.
return str1 + " | " + str2
}
Exercice 7:
Écrivez une fonction pour vérifier si un tableau contient un nombre particulier.
// Déclare une fonction appelée "nbrExist"
// qui reçoit un tableau d'entiers "tab"
// et un entier "nbr" à rechercher.
// La fonction retourne une valeur booléenne : true ou false.
func nbrExist(_ tab: [Int], _ nbr: Int) -> Bool {
// Vérifie si le nombre "nbr" existe dans le tableau "tab".
// Retourne true si le nombre est trouvé,
// sinon retourne false.
return tab.contains(nbr)
}
Exercice 8:
Créez une fonction qui prend un tableau et renvoie le dernier élément du tableau.
// Déclare une fonction appelée "getLastElem"
// qui reçoit un tableau "tab" pouvant contenir des valeurs de
// différents types.
// La fonction retourne une valeur de type "Any".
func getLastElem(_ tab: [Any]) -> Any {
// Récupère le dernier élément du tableau avec "last".
// Le "!" force le déballage de la valeur optionnelle.
return tab.last!
}
Exercice 9:
Créez une fonction qui renvoie TRUE si la chaîne passée en paramètre ne contient que des lettres majuscules ou minuscules.
// Déclare une fonction appelée "isSameCase"
// qui reçoit une chaîne de caractères "str".
// La fonction retourne une valeur booléenne : true ou false.
func isSameCase(_ str: String) -> Bool {
// Vérifie si toute la chaîne est en majuscules
// OU si toute la chaîne est en minuscules.
//
// "uppercased()" convertit la chaîne en majuscules.
// "lowercased()" convertit la chaîne en minuscules.
// La fonction retourne true si l'une des deux conditions est
// vraie.
return str.uppercased() == str || str.lowercased() == str
}