Exercice Corrigé Langage Ruby – Partie 3

Avec des exercices corrigés en langage Ruby, vous pratiquerez divers concepts du langage Ruby. Vous commencerez par des exercices du langage Ruby 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 Ruby 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 renvoie TRUE si une chaîne contient des espaces. Sinon renvoie FALSE.

Exemple:

containSpaces("Thomas") ➞ false

containSpaces("Hello World!") ➞ true

containSpaces(" ") ➞ true

containSpaces("") ➞ false

Solution:

def containSpaces(str)
	!!str.match(/\s+/)
end
 

Exercice 2:

Écrivez une fonction qui prend un entier et:

  • Si le nombre est un multiple de 3, retournez « Hello ».
  • Si le nombre est un multiple de 5, retournez « World ».
  • Si le nombre est un multiple de 3 et de 5, retournez « Hello World ».

Exemple:

checkNbr(3) ➞ "Hello"

checkNbr(5) ➞ "World"

checkNbr(15) ➞ "Hello World"

Solution:

def checkNbr(n)
	if n % 3 == 0 && n % 5 == 0
		return "Hello World"
	elsif n % 3 == 0
		return "Hello"
	else n % 5 == 0
		return "World"
	end
end
 

Exercice 3:

Créez une fonction qui prend un tableau d’éléments, supprime les doublons et renvoie un nouveau tableau dans le même ordre séquentiel que l’ancien tableau (sans les doublons).
 
Exemple:

suppDoublons([1, 1, 2, 2, 3, 3]) ➞ [1, 2, 3]

suppDoublons(["A", "A", "A", "B", "C"]) ➞ ["A", "B", "C"]

suppDoublons(["Ruby", "Java", "PHP"]) ➞ ["Ruby", "Java", "PHP"]

Solution:

def suppDoublons(tab)
	tab.uniq
end
 
 

Exercice 4:

Créez une fonction qui renvoie « Majuscule » si toutes les lettres d’un mot sont en majuscules, « Minuscule » si toutes les lettres d’un mot sont en minuscule et « Mix » s’il contient à la fois des majuscules et des minuscules.

Exemple:

caseOf("WAYTOLEARNX") ➞ "Majuscule"

caseOf("waytolearnx") ➞ "Minuscule"

caseOf("WayToLearnX") ➞ "Mix"

Solution:

def caseOf(s)
	s == s.downcase ? 'Minuscule' : s == s.upcase ? 'Majuscule' : 'Mix'
end
 

Exercice 5:

Créez une fonction qui prend un tableau et renvoie la somme de tous les nombres du tableau.

Exemple:

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

sum([1, 2, 3]) ➞ 6

sum([-2, 2, 1]) ➞ 1

Solution:

def sum(tab)
	s = 0
	tab.each do |n|
		s += n
	end
	return s
end
 

Exercice 6:

Créez une fonction qui prend une chaîne (un nom aléatoire). Si le dernier caractère du nom est un « s », retournez TRUE, sinon retournez FALSE.

Exemple:

checkS("Thomas") ➞ true

checkS("Ali") ➞ false

checkS("Alex") ➞ false

checkS("Alvis") ➞ true

Solution:

def checkS(str)
	str[-1] == "s"
end
 
 

Exercice 7:

Créez une fonction qui prend un tableau de nombres et renvoie le minimum et le maximum dans un tableau [Min, Max].

Exemple:

getMinMax([8, 1, 9, 2, 6]) ➞ [1, 9]

getMinMax([22, 2]) ➞ [2, 22]

getMinMax([5]) ➞ [5, 5]

Solution:

def getMinMax(tab)
	return [tab.min, tab.max]
end
 

Exercice 8: Nombre paire ou impaire

Créez une fonction qui prend un nombre comme argument et renvoie « pair » pour les nombres pairs et « impair » pour les nombres impairs.

Exemple:

check(2) ➞ "pair"

check(7) ➞ "impair"

check(22) ➞ "pair"

Solution:

def check(n)
	n % 2 == 0 ? "pair" : "impair"
end
 

Exercice 9:

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.

Exemple:

check("enfants") ➞ true

check("filles") ➞ true

check("fille") ➞ false

check("enfant") ➞ false

Solution:

def check(str)
	str.end_with?("s")
end

Laisser un commentaire

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