Chapitre II : Premiers Programmes

1. Expressions

Cas 1
a=true
b=false
c=false 
Cas 2
a=false
b=true
c=true 
Cas 3
a=true
b=false
c=true
d=true 
Cas 4
a=true
b=false
c=false 
Cas 5
a=12
b=11 
Cas 6
2
3
4
5
6
7
8
9 
Cas 7
a=false
b=7
i=4 
Cas 8
pierre
paul
jacques
pierre
paul
jacques
pierre
paul 

2. Méthodes

Cas 1
def calcul( operateur, val1, val2 )
  case operateur
  when "+"
    val1+val2
  when "-"
    val1-val2
  when "*"
    val1*val2
  when "/"
    if ( val2 == 0 )
      throw :erreur
    else
      val1/val2
    end
  end
end

avecErreur  = true

catch( :erreur ) do

  for op in ["*","+", "/", "-" ]
    puts "20#{op}10=#{calcul( op, 20, 10 )}"
  end

  puts "20/0=#{calcul( "/", 20, 0 )}"
  
  avecErreur = false
end

puts "Fin des calculs"
puts "Des erreurs ont été rencontrées " if avecErreur 

Nous obtenons en sortie :

20*10=200
20+10=30
20/10=2
20-10=10
Fin des calculs
Des erreurs ont été rencontrées  
Cas 2
def calcul( operateur, *val )
  res = 0

  for i in val

    case operateur
    when "+"
      res += i
    when "-"
      if ( res == 0 )
        res = i
      else
        res -= i
      end
    when "*"
      if res == 0 then
        res = i
      else
        res *= i
      end
    when "/"
      if ( i == 0 )
        throw :erreur
      else
        if ( res == 0 ) then
          res = i
        else
          res /= i
        end
      end
    end

  end

  res
end

avecErreur  = true

catch( :erreur ) do

  for op in ["*","+", "/", "-" ]
    puts "50#{op}2#{op}5=#{calcul( op, 50, 2, 5 )}"
  end

  puts "50/2/0=#{calcul( "/", 50, 2, 0 )}"
  
  avecErreur...
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
Exercice
Suivant
Chapitre III : Structure de données