Si vous utilisez des variables et des put, vous pouvez effectuer des calculs de base et afficher à l'écran. Cependant, c'est aussi un fait que ce n'est pas suffisant en tant que programme. Le processus d'exécution de divers processus enregistrés dans le programme dans cet ordre, C'est ce qu'on appelle un traitement séquentiel.
Cependant, les programmes ne peuvent pas être créés uniquement par un traitement séquentiel. Différentes choses doivent être faites dans différentes situations. Par exemple, si vous créez un programme de jeu, vous devez dériver le processus en fonction des conditions, telles que "Si vous frappez un ennemi, le jeu est terminé". Le traitement qui modifie le flux de traitement dans certaines conditions comme celle-ci est appelé traitement de branche.
Dans le langage Ruby, une instruction appelée if est fournie comme instruction pour décrire le traitement des branches. Ici, je vais l'expliquer.
Exemple de programme Commençons par découvrir l'instruction if, qui est le processus le plus élémentaire de branchement conditionnel. L'instruction if est un mot qui signifie "what if" en anglais, et est utilisé pour effectuer un traitement tel que "if ...". Jetez d'abord un œil au programme ci-dessous.
1-1.rb
def calculation
puts "Entrez un nombre"
a = gets.to_i
if(a > 0)
puts "La valeur que vous entrez est un nombre positif.\n" #Exécuter s'il s'agit d'un nombre positif
end
end
Lorsque j'exécute le programme, "Entrez un numéro:" s'affiche sur l'écran de la console, Le curseur apparaît à côté de lui et passe au mode de saisie à partir du clavier. Entrez maintenant un nombre positif à partir du clavier.
Résultat d'exécution 1.(Le jour où tu es entré dans une défaite positive)
Entrez un nombre:5
La valeur que vous entrez est un nombre positif.
Ensuite, "La valeur que vous avez entrée est un nombre positif." S'affiche comme ci-dessus et le programme se termine. De plus, même dans le même programme, si vous entrez 0 et un nombre négatif, rien ne s'affichera comme indiqué ci-dessous.
Résultat d'exécution 2.(Si vous entrez 0 et un nombre négatif)
Entrez un nombre:-
Ensuite, le format de l'instruction if utilisée dans le branchement conditionnel est expliqué. La femme if a le format suivant.
if format de l'instruction
if(#Expression conditionnelle)
#En traitement
end
Lorsque l'expression conditionnelle entre () est satisfaite, l'instruction if exécute le processus inclus dans {}. Dans 1-1.rb, a> 0, c'est-à-dire a Lorsqu'il est supérieur à 0, la condition est satisfaite et l'instruction put dans {} est exécutée. > Est appelé un opérateur de comparaison. Les opérateurs de comparaison sont les suivants.
opérateur | sens | Exemple d'utilisation |
---|---|---|
> | Plus grand | a > 0 |
>= | c'est tout | a >= 0 |
< | Plus petite | a < 0 |
<= | Moins que | a <= 0 |
== | égal | a == 0 |
!= | Inégal | a != 0 |
De ce qui précède, Lorsque ce programme montre que le nombre entré à partir du clavier est un entier positif, «La valeur entrée est un nombre positif». Est affiché, sinon rien ne s'affiche. Cependant, si possible, je voudrais afficher un message même lorsqu'une valeur autre qu'un nombre positif est entrée. Alors, introduisons le mécanisme qui peut le faire ensuite.
・ Exemple de programme Tout d'abord, jetez un œil au programme suivant.
1-2.rb
def calculation
puts "Entrez un nombre"
a = gets.to_i
if(a > 0)
puts "La valeur que vous entrez est un nombre positif.\n" #Exécuter s'il s'agit d'un nombre positif
else
puts "La valeur que vous entrez n'est pas un nombre positif.\n" #Exécuter si 0 ou nombre négatif
end
end
Le résultat de l'exécution de ce programme ne change pas si vous entrez un entier positif après l'exécution. Cependant, si vous entrez un nombre négatif, le résultat de l'exécution sera le suivant.
Résultat d'exécution 3.(Si vous entrez 0 et un nombre négatif)
Entrez un nombre:-1
La valeur que vous entrez n'est pas un nombre positif.
L'instruction if ~ else qui apparaît ici a le format suivant. if ~ else format de l'instruction
if(Expression conditionnelle)
#Traitement ①
else
#Traitement ②
end
Lorsque l'expression conditionnelle entre () de l'instruction if est satisfaite, le processus (1) est exécuté de la même manière que lorsque l'instruction if est utilisée seule. Cependant, dans d'autres cas, c'est-à-dire si l'expression conditionnelle n'est pas satisfaite, le processus (2) sous l'instruction else est exécuté. Par conséquent, ce programme affichera "La valeur que vous avez entrée n'est pas un nombre positif" si a n'est pas un entier positif, c'est-à-dire 0 ou une valeur négative. L'organigramme suivant
Exemple de programme Lors de l'utilisation de if et else, j'ai pu écrire le traitement lorsqu'une certaine condition est satisfaite et quand elle ne l'est pas. Cependant, en réalité, il existe de nombreux cas où la condition se compose de plusieurs conditions. Que dois-je faire dans un tel cas? À ce moment-là, elsif est utile. Tout d'abord, examinons l'exemple suivant.
1-3.rb
def math
puts "1~Veuillez saisir une valeur de 3:"
num = gets.to_i
if(num == 1)
puts "one\n" #Traitement lorsque num est 1
elsif(num == 2)
puts "two\n" #Traitement lorsque num est 2
elsif(num == 3)
puts "three\n" #Traitement lorsque num est 3
else
puts "Valeur inappropriée.\n" #Traitement lorsque d'autres valeurs sont saisies
end
end
Résultat d'exécution 1(Si une valeur de 1 à 3 est entrée)
Veuillez saisir une valeur comprise entre 1 et 3:1
one
Livraison de fruits d'exécution 2(Si une valeur autre que celle entrée)
Veuillez saisir une valeur comprise entre 1 et 3:4
Valeur inappropriée.
À la suite de l'exécution, si vous entrez 1, il sera affiché comme un, si vous entrez 2, il sera affiché comme deux, et si vous entrez 3, il sera affiché comme trois. Si vous entrez une autre valeur, "Veuillez entrer une valeur de 1 à 3" avec ceci si et sinon seul Vous ne pouvez exécuter le traitement que lorsqu'une condition est remplie et lorsqu'elle ne l'est pas. Avec elsif, il est possible de séparer les cas pour plusieurs conditions. Le format de l'instruction if comprenant elsif est le suivant.
format de l'instruction if ~ elsif ~ else
if(Expression conditionnelle ①)
Traitement ①
elsif(Expression conditionnelle ②)
Traitement ②
else
Traitement ③
end
Si l'expression conditionnelle (1) est satisfaite, le processus (1) est exécuté. Si l'expression conditionnelle (2) est satisfaite, le processus (2) est exécuté. Si aucune des conditions n'est remplie, le processus (3) est exécuté. Vous pouvez ajouter n'importe quel nombre </ font> de elsif après if. Vous pouvez donc ajouter autant de conditions que vous le souhaitez. pour cette raison. Le flux de traitement de 1-3.rb est le suivant.
Ensuite, combinons ces connaissances pour créer une syntaxe if plus complexe. Tout d'abord, jetez un œil à l'exemple ci-dessous.
list1-4.rb
def main
#Entrez le jet de dés
puts "Veuillez saisir un nombre de 1 à 6:"
dice = gets.to_i
#Découvrez si la valeur est comprise dans le jet de dés
if(1 <= dice && dice <= 6)
if(dice == 2 || dice == 4 || dice == 6)
#Divisez le traitement selon que le jet de dés est pair ou impair
puts "Ding (c'est un papillon)\n" #Si c'est pair, c'est un papillon.
else
puts "Demi (Han)\n" #Si c'est bizarre, moitié (han)
end
else
puts "C'est un nombre en dehors de la plage.\n"
end
end
Les résultats d'exécution de ce programme peuvent être grossièrement divisés en trois types. Le premier est un nombre pair compris entre 1 et 6, Autrement dit, si vous entrez une valeur telle que 2,4,6. Comme indiqué ci-dessous, "C'est un papillon" s'affiche et le programme se termine.
Résultat d'exécution 1.(2,4,Si 6 est entré)
Veuillez saisir un nombre de 1 à 6:2
Ding(Papillon)est.
Ensuite, également entre 1 et 6, si vous entrez un nombre impair tel que 1,3,5 cette fois, "Half (Han)." Sera affiché et Pro Gram se termine.
Résultat d'exécution 2.(1,3 sur,Si 5 est entré)
Veuillez saisir un nombre de 1 à 6:5
Ding(Papillon)est.
Enfin, si vous entrez un nombre entier différent de 1 à 6, c'est-à-dire un nombre qui ne correspond pas aux dés, "Il est hors de portée". S'affiche et le programme se termine.
Résultat d'exécution 3.(Lorsqu'un nombre en dehors de la plage est entré)
Veuillez saisir un nombre de 1 à 6: 10
C'est un nombre en dehors de la plage.
Recommended Posts