Exercice Corrigé Langage Swift – Partie 3

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).
 

Exercice 1:

Créez une fonction qui prend un nombre et renvoie TRUE s’il est inférieur ou égal à zéro, sinon retournez FALSE.

Exemple:

checkNbr(1) ➞ false

checkNbr(-1) ➞ true

checkNbr(0) ➞ true

Solution:

func checkNbr(_ n: Double) -> Bool {
	return n <= 0;
}
 

Exercice 2:

Créez une fonction qui prend une phrase et renvoie le nombre de mots.

Exemple:

count("Welcome to WayToLearnX") ➞ 3

count("Hello World") ➞ 2

count("I am going to my school") ➞ 6

Solution:

func count(_ str: String) -> Int {
	return str.split(separator: " ").count
}
 

Exercice 3:

Créez une fonction pour multiplier toutes les valeurs d’un tableau par la longueur du tableau donné.

Exemple:

mulByLen([1, 1, 1]) ➞ [ 3, 3, 3 ]

mulByLen([1, 2, 3]) ➞ [ 3, 6, 9 ]

mulByLen([0, 0, 0, 0, 2]) ➞  [ 0, 0, 0, 0, 10 ]

Solution:

func mulByLen(_ tab: [Int]) -> [Int] {
	return tab.map({$0*tab.count})
}
 
 

Exercice 4:

Créez une fonction qui prend un tableau et une chaîne comme arguments et renvoie l’index de la chaîne.

Exemple:

getIndex(["A", "B", "C", "D"], "B") ➞ 1

getIndex(["Alex", "Bob", "Emily", "Tom"], "Emily") ➞ 2

getIndex(["C#", "PHP", "C++", "Java"], "C#") ➞ 0

Solution:

func getIndex(_ arr: [String], _ str: String) -> Int {
	return arr.index(of: str)!
}
 

Exercice 5:

Créez une fonction qui trouve tous les nombres pairs de 1 au nombre donné.

Exemple:

nbrPaire(6) ➞ [2, 4, 6]

nbrPaire(4) ➞ [2, 4]

nbrPaire(2) ➞ [2]

Solution:

func nbrPaire(_ n: Int) -> [Int] {
	let numbers = [Int](1...n)
	return numbers.filter { $0 % 2 == 0 }
}
 

Exercice 6:

Créez une fonction qui prend un tableau de nombres et renvoie uniquement les valeurs paires.
 
Exemple:

getEvenNbr([1, 2, 3, 4, 5, 6]) ➞ [2, 4, 6]

getEvenNbr([1, 7, 3, 9, 10]) ➞ [10]

getEvenNbr([2, 4, 6, 8, 10, 12]) ➞ [2, 4, 6, 8, 10, 12]

Solution:

func getEvenNbr(_ tab: [Int]) -> [Int] {
	return tab.filter { $0 % 2 == 0 }
}
 
 

Exercice 7:

Créez une fonction qui renvoie le produit de tous les entiers impairs dans un tableau.
 
Exemple:

prodNbrImp([1, 2, 3, 4, 5]) ➞ 15

prodNbrImp([3, 3, 4, 4]) ➞ 9

prodNbrImp([1, 3, 5, 7]) ➞ 105

Solution:

func prodNbrImp(_ tab: [Int]) -> Int {
	return tab.filter({ $0%2 == 1 }).reduce(1, *)
}
 

Exercice 8:

Créez une fonction qui prend un tableau de chaînes et renvoie un tableau, trié du plus petit au plus grand.
 
Exemple:

sortByLen(["Python", "Swift", "PHP"])
➞ ["PHP", "Swift", "Python"]

sortByLen(["Louise", "Juliette", "Léo", "Camille"])
➞ ["Léo", "Louise", "Camille", "Juliette"]

sortByLen(["Strasbourg", "Paris", "Toulouse", "Caen"])
➞ ["Caen", "Paris", "Toulouse", "Strasbourg"]

Solution:

func sortByLen(_ tab: [String]) -> [String] {
	return tab.sorted{$0.count < $1.count};
}
 

Exercice 9:

Créez une fonction qui répète chaque caractère dans une chaîne n fois.

Exemple:

repeatChr("alex", 3) ➞ "aaallleeexxx"

repeatChr("waytolearnx", 1) ➞ "waytolearnx"

repeatChr("bob", 2) ➞ "bboobb"

Solution:

func repeatChr(_ str: String, _ n: Int) -> String {
	return str.map{String(repeating: String($0), count: n)}.joined()
}

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *