Exercices

1. Expressions

Sans faire tourner le code, essayez de déterminer les valeurs des différentes variables ou les messages en sortie :

Cas 1 :

a = true
b = !a
c = !b
a,c=c,b 

Cas 2 :

a = false
b = !a || true
c = b and a 

Cas 3 :

a=true
b=false
c=false unless a || b
c=true if a || b
d=c && a 

Cas 4 :

b=false
if ( b || true ) then
  a = ( not b )
  if ( a ) then
    c = false
  else
    c = true
  end
else
  a = false
  c = false
end 

Cas 5 :

a=1
a+=10
case a+=1
when 10
  b=a+1
when 12
  b=a-1
else
  b=2
  b*=a
end 

Cas 6 :

a=false
i = 1
until a
  if ( i )
    i+= 1
  else
      i+= 2
  end
  if ( i == 10 ) then
    break;
  else
    puts i
  end
end 

Cas 7 :

i,b=0,0
a=false

loop do
  i+=2
  a =i>2
  if ( a ) then
    b += i
    if ( b > 4 ) then
      a = i>4
      break
    end
  else
    b=i+1
  end
end 

Cas 8 :

catch( :fin ) do
i = 0
for qui in ["pierre", "paul", "jacques" ]
  puts qui
  if qui == "paul" then
    throw :fin if i == 3
    next
  elsif qui == "jacques" then
    retry if ( i < 3 )
  end
  i+=1
end

end 

2. Méthodes

Cas 1 : créez une méthode calcul avec en argument une opération (+,-,*, /) et deux nombres. Cette méthode doit retourner le résultat de l’opération, en cas d’impossibilité un throw sera utilisé avec un label :erreur. Testez votre méthode avec diverses opérations et affichez le détail et le résultat de l’opération.

Cas 2 : modifiez votre cas précédent pour que le calcul se fasse avec un nombre indéterminé...

Pour consulter la suite, découvrez le livre suivant :
couv_Ruby.PNG
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Mutualisation de programmes
Suivant
Les nombres