Exercice Corrigé Langage Ruby – Partie 2

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 prend un tableau et renvoie le dernier élément du tableau.

Exemple:
getLastElem([1, 2, 3, 4]) ➞ 4

getLastElem([‘Alex’, ‘Bob’, ‘Emily’]) ➞ ‘Emily’

getLastElem([false, true, false]) ➞ false

Solution:

def getLastElem(tab)
	tab[-1]
end
 

Exercice 2: 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 ».

Exemple:

concatStr("True", "False") ➞ "True | False"

concatStr("On", "Off") ➞ "On | Off"

concatStr("A", "B") ➞ "A | B"

Solution:

def concatStr(str1, str2)
	return "#{str1} | #{str2}"
end
 

Exercice 3:

Créez une fonction qui prend un tableau de nombres et renvoie le plus petit nombre du tableau.
 
Exemple:

getMin([5, 8, 1, 7]) ➞ 1

getMin([9, -1, -10, 10]) ➞ -10

getMin([-1, 0, 1]) ➞ -1

getMin([100]) ➞ 100

Solution:

def getMin(tab)
	tab.min
end
 
 

Exercice 4:

Créez une fonction qui prend un tableau de nombres, et renvoie le plus grand nombre du tableau.

Exemple:

max([6, 9, 1, 2]) ➞ 9

max([10, 66, 12, 98]) ➞ 98

max([1, 1, 1, 1, 1]) ➞ 1

Solution:

def getMax(tab)
	tab.max
end
 

Exercice 5: Le problème du fermier

Dans ce défi, un fermier vous demande de lui dire combien de pattes peuvent être comptées parmi tous ses animaux. Il y a trois espèces:

  • poulets = 2 pattes
  • vaches = 4 pattes
  • chevaux = 4 pattes

Le fermier a compté ses animaux et il vous donne un sous-total pour chaque espèce. Vous devez implémenter une fonction qui renvoie le nombre total de pattes de tous les animaux.

L’ordre des animaux transmis à la fonction est nbrsPattes(poulets, vaches, chevaux).

Exemple:
nbrsPattes(1, 4, 2) ➞ 26

nbrsPattes(2, 2, 2) ➞ 20

nbrsPattes(2, 0, 3) ➞ 16

N’oubliez pas que le fermier veut connaître le nombre total de pattes et non pas le nombre total d’animaux.

Solution:

def nbrsPattes(poulets, vaches, chevaux)
	2 * (poulets + 2 * (vaches + chevaux))
end
 

Exercice 6:

Écrivez une fonction pour inverser un tableau.

Exemple:
reverseTab([1, 2, 3]) ➞ [3, 2, 1]

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

reverseTab([]) ➞ []

Solution:

def reverseTab(tab)
	return (tab).reverse
end
 
 

Exercice 7:

Créez une fonction qui prend un tableau de nombres et renvoie un nouveau tableau, trié par ordre croissant (du plus petit au plus grand).
 
Exemple:

sort([6, 8, 1, 3, 7]) ➞ [1, 3, 6, 7, 8]

sort([-1, 9, 3, -9, -8, 8]) ➞ [-9, -8, -1, 3, 8, 9]

sort([]) ➞ []

Solution:

def sortAsc(tab)
	tab.sort
end
 

Exercice 8:

Implémenter une fonction qui renvoie la distance donnée en kilomètres convertie en miles. Vous devez arrondir le résultat jusqu’au quatrième chiffre décimal.

Exemple:

toMiles(5) ➞ 3.10686

toMiles(7) ➞ 4.3496

toMiles(10) ➞ 6.21371

Solution:

def toMiles(k)
	(k * 0.621371).round(5)
end
 

Exercice 9:

Créez une fonction qui prend un nom et renvoie un message d’accueil sous la forme d’une chaîne.

Exemple:

msg("Thomas") ➞ "Hello Thomas, Welcome to WayToLearnX!"

msg("Alex") ➞ "Hello Alex, Welcome to WayToLearnX!"

msg("Emily") ➞ "Hello Emily, Welcome to WayToLearnX!"

Solution:

def msg(str)
	"Hello " + str + ", Welcome to WayToLearnX!"
end

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.