Zarok RPG Maker
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilDernières imagesS'enregistrerConnexion
Le Deal du moment :
Boutique Nike : -25% dès 50€ sur TOUT le ...
Voir le deal

Partagez | 
 

 [Ruby] Cours n°6 : Boucle Loop do et while

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Tonyryu
Matière
Matière
Tonyryu


Masculin Messages : 221
Age : 44
Loisirs : Making, Paintball, jeux video
Date d'inscription : 20/11/2006

Caractéristiques du membre
Evolution: Atome
Job:
XP:
[Ruby] Cours n°6 : Boucle Loop do et while Left_bar_bleue20/20[Ruby] Cours n°6 : Boucle Loop do et while Empty_bar_bleue  (20/20)

[Ruby] Cours n°6 : Boucle Loop do et while Empty
MessageSujet: [Ruby] Cours n°6 : Boucle Loop do et while   [Ruby] Cours n°6 : Boucle Loop do et while EmptyVen 16 Mar 2007 - 23:44

Dans ce cours, nous allons voir le fonctionnement d'une structure dite 'boucle'. Il existe plusieur fonction permettant de réaliser des boucles en programmation. Pourquoi boucle? C'est très simple, car une fois arrivé à la fin de la structure, le déroulement du programme reprend au début de cette structure, on peut sortir de cette boucle sous certaine condition, en fonction de la structure utilisée.

Nous allons donc voir pour commencer, la struture 'loop do' litéralement en français, 'boucle faire'.

En Ruby, c'est la boucle la plus simple, car elle fonctionne sans condition, une fois que le programme est dans cette boucle, le seul moyen de l'interrompre est de la casser 'break'

Aller hop, encore un exemple simple en algorythme avec une bouteille et un verre :
Code:
Fonction : RemplirMonVerre

Variables :
  maBouteille contient liquide
  monVerre contient du liquide

Début :
 | maBouteille <- jus d'orange
 | monVerre <- rien
 | Boucle faire
 |  | monVerre <- monVerre + 5 cl de maBouteille
 |  | Si monVerre est plein
 |  |  | Casser la boucle
 |  | FinSi
 | FinBoucle
 | Boire monVerre
Fin
Vous constaterez qu'une condition est nécessaire pour pouvoir sortir de la boucle, sinon je continuerai a verser du jus d'orange dans mon verre.
Vous aurez remarqué une petite subtilité dans l'algorythme étant cette ligne : 'monVerre <- monVerre + 5 cl de maBouteille' cela veut dire que je rajoute 5cl de jus d'orange à mon verre, si j'avais juste écris 'monVerre <- 5 cl de maBouteille', le contenue du verre n'aurait jamais changé.

Voici le même exemple, mais cette fois ci, codé en ruby, on utilisera les volumes de la bouteille et du verre comme variable.
Code:
def remplirMonVerre
  contenuBouteille = 100
  contenuVerre = 0
  volumeVerreMax = 30
  loop do
    contenuVerre += 5
    contenuBouteille -= 5
    if contenuVerre == volumeVerreMax
      break
    End
  End
  boire( contenuVerre)
Fin

Il y a eu quelque modification apporté vis a vis de l'algorythme, car nous avons utilisé des volumes, facile à calculer.
'variable += x' incrémente la variable de x
'variable -= x' décrémente la variable de x

Note: incrémenter=ajouter et décrémenter=enlever. Ici, soit on incrémente(ajoute) x à la variable, soit on décrémente(enlève)x de la variable. Vous connaissez vos additions et vos soustractions?
Les termes d'incrémentation et de décrémentation sont très utilisés en informatique.


Nous allons donc voir pour continuer, la struture 'while' litéralement en français, 'Tant Que'. Elle difére de la fonction 'loop do' par le fait qu'elle peut être conditionné

Aller hop, encore un exemple simple en algorythme avec une bouteille :

Code:
Fonction : RemplirMonVerre

Variables :
  maBouteille contient liquide
  monVerre contient du liquide

Début :
 | maBouteille <- jus d'orange
 | monVerre <- rien
 | TantQue monVerre n'est pas plein
 |  | monVerre <- monVerre + 10 cl de maBouteille
 | FinTantQue
 | Boire monVerre
Fin

Cela peut paraitre un peu compliqué au premier coup d'oeil, je vais expliquer en détail la structure :
Code:
 | TantQue monVerre n'est pas plein
 |  | monVerre <- monVerre + 10 cl de maBouteille
 | FinTantQue

La ligne 'TantQue monVerre n'est pas plein' litéralement, permet une action jusqu'a ce qu'une condition soit vérifié. En gros, TantQue condition est fausse faire les actions de la boucle.

Je reprend le même exemple en ruby, en utilisant là aussi les volumes :
Code:
def remplirMonVerre
  contenuBouteille = 100
  contenuVerre = 0
  volumeVerreMax = 30
  while contenuVerre != volumeVerreMax
    contenuVerre += 5
    contenuBouteille -= 5
  End
  boire( contenuVerre)
Fin

Cela permet par rapport à la boucle loop do, de directement conditionner la sortie de boucle. Mais attention, regarder bien la diférence au niveau de la condition, pour 'while' : TantQue condition est fausse.

Prochain cours : Boucle for
Revenir en haut Aller en bas
http://www.tonyryudev.com
 

[Ruby] Cours n°6 : Boucle Loop do et while

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Zarok RPG Maker :: 

 :: TUTORIELS :: Tutoriels de Programmation
-
Sauter vers: