[RUBY] Traitement des relevés et des succursales

Traitement des succursales

Traitement séquentiel

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. Qiita

Traitement des succursales

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.

Qiita

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.

if déclaration

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.

Exemple d'utilisation

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.

Qitta

instruction if ~ else

・ 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.

autre déclaration

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 Qiita

déclaration elsif

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.

Qiita

Instruction if complexe

Exemple de programme

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

Traitement des relevés et des succursales
[Swift] À propos du traitement itératif "instruction for-in"
if déclaration
Traitement des branches conditionnelles Ruby
À propos du traitement du crud et des produits utilisant un appareil (pour les débutants)
Traitement des liens et SQLite
À propos des classes et des instances
À propos de gets et gets.chomp
À propos de la redirection et du transfert
10 Correspond à l'instruction if
Étude de l'instruction Java-Part 10-if
À propos de l'encapsulation et de l'héritage
hash et chaque instruction
[Java] Branchement et répétition
À propos de Serializable et serialVersionUID
À propos du verrouillage synchronisé et réentrant
Instructions Java if et switch
Comprenons la déclaration if!
Traitement courant et traitement des erreurs Springmvc
À propos des hachages et symboles Ruby
À peu près la même et la même valeur
Points pour la refactorisation (si instruction)
☾ Instruction Java / Repeat et instruction de contrôle de répétition
À propos des classes et des instances (évolution)
À propos de la méthode Pluck et de la méthode ID
Prise en compte des classes et des instances
[Ruby] problème avec l'instruction if
À propos du package Java et de l'importation
À propos de Ruby, modèle objet
À propos des classes et des instances Ruby
À propos des variables d'instance et attr_ *
Création d'une expression conditionnelle mixte de l'instruction Rails if et