Wenn Sie Variablen und Puts verwenden, können Sie einige grundlegende Berechnungen durchführen und auf dem Bildschirm ausgeben. Fakt ist aber auch, dass es als Programm nicht ausreicht. Der Prozess der Ausführung verschiedener im Programm aufgezeichneter Prozesse in dieser Reihenfolge, Es wird sequentielle Verarbeitung genannt.
Programme können jedoch nicht allein durch sequentielle Verarbeitung erstellt werden. Verschiedene Dinge müssen in verschiedenen Situationen getan werden. Wenn Sie beispielsweise ein Spielprogramm erstellen, müssen Sie den Prozess gemäß den Bedingungen verzweigen, z. B. "Wenn Sie einen Feind treffen, ist das Spiel beendet". Diese Art der Verarbeitung, die unter bestimmten Bedingungen den Verarbeitungsablauf ändert, wird als Verzweigungsverarbeitung bezeichnet.
In der Ruby-Sprache wird eine Anweisung namens if als Anweisung zur Beschreibung der Verzweigungsverarbeitung bereitgestellt. Hier werde ich es erklären.
Beispielprogramm Beginnen wir mit der if-Anweisung, die der grundlegendste Prozess der bedingten Verzweigung ist. Die if-Anweisung ist ein Wort, das auf Englisch "Was wäre wenn" bedeutet und zur Verarbeitung von "if ..." verwendet wird. Schauen Sie sich zunächst das folgende Programm an.
1-1.rb
def calculation
puts "Geben Sie eine Nummer ein"
a = gets.to_i
if(a > 0)
puts "Der eingegebene Wert ist eine positive Zahl.\n" #Ausführen, wenn es sich um eine positive Zahl handelt
end
end
Wenn ich das Programm starte, wird "Geben Sie eine Nummer ein:" auf dem Konsolenbildschirm angezeigt. Der Cursor erscheint daneben und wechselt von der Tastatur in den Eingabemodus. Geben Sie nun eine positive Zahl über die Tastatur ein.
Ausführungsergebnis 1.(Der Tag, an dem Sie eine positive Niederlage erlitten haben)
Geben Sie eine Nummer ein:5
Der eingegebene Wert ist eine positive Zahl.
Dann wird "Der eingegebene Wert ist eine positive Zahl" wie oben angezeigt und das Programm endet. Selbst im selben Programm wird, wenn Sie 0 und eine negative Zahl eingeben, nichts angezeigt, wie unten gezeigt.
Ausführungsergebnis 2.(Wenn Sie 0 und eine negative Zahl eingeben)
Geben Sie eine Nummer ein:-
Als nächstes wird das Format der if-Anweisung erläutert, die bei der bedingten Verzweigung verwendet wird. Die if-Frau hat das folgende Format.
if-Anweisungsformat
if(#Bedingter Ausdruck)
#wird bearbeitet
end
Wenn der bedingte Ausdruck in () erfüllt ist, führt die if-Anweisung den in {} enthaltenen Prozess aus. In 1-1.rb ist a> 0, dh a Wenn es größer als 0 ist, ist die Bedingung erfüllt und die put-Anweisung in {} wird ausgeführt. > Wird als Vergleichsoperator bezeichnet. Die Vergleichsoperatoren sind wie folgt.
Operator | Bedeutung | Anwendungsbeispiel |
---|---|---|
> | Größer | a > 0 |
>= | das ist alles | a >= 0 |
< | Kleiner | a < 0 |
<= | Weniger als | a <= 0 |
== | gleich | a == 0 |
!= | Nicht gleich | a != 0 |
Von Oben, Wenn dieses Programm anzeigt, dass die über die Tastatur eingegebene Zahl eine positive Ganzzahl ist, lautet der eingegebene Wert eine positive Zahl. Wird angezeigt, sonst wird nichts angezeigt. Wenn möglich, möchte ich jedoch eine Meldung anzeigen, auch wenn ein anderer Wert als eine positive Zahl eingegeben wird. Lassen Sie uns also den Mechanismus vorstellen, der dies als nächstes tun kann.
・ Beispielprogramm Schauen Sie sich zunächst das folgende Programm an.
1-2.rb
def calculation
puts "Geben Sie eine Nummer ein"
a = gets.to_i
if(a > 0)
puts "Der eingegebene Wert ist eine positive Zahl.\n" #Ausführen, wenn es sich um eine positive Zahl handelt
else
puts "Der eingegebene Wert ist keine positive Zahl.\n" #Führen Sie aus, wenn 0 oder eine negative Zahl
end
end
Das Ausführungsergebnis dieses Programms ändert sich nicht, wenn Sie nach der Ausführung eine positive Ganzzahl eingeben. Wenn Sie jedoch eine negative Zahl eingeben, lautet das Ausführungsergebnis wie folgt.
Ausführungsergebnis 3.(Wenn Sie 0 und eine negative Zahl eingeben)
Geben Sie eine Nummer ein:-1
Der eingegebene Wert ist keine positive Zahl.
Die hier angezeigte if ~ else-Anweisung hat das folgende Format. if ~ else Anweisungsformat
if(Bedingter Ausdruck)
#Verarbeitung ①
else
#Verarbeitung ②
end
Wenn der bedingte Ausdruck in () der if-Anweisung erfüllt ist, wird Prozess (1) auf dieselbe Weise ausgeführt, wie wenn die if-Anweisung allein verwendet wird. In anderen Fällen, dh wenn der bedingte Ausdruck nicht erfüllt ist, wird der Prozess (2) unter der else-Anweisung ausgeführt. Daher gibt dieses Programm "Der eingegebene Wert ist keine positive Zahl" aus, wenn a keine positive Ganzzahl ist, dh 0 oder ein negativer Wert. Das folgende Flussdiagramm
Beispielprogramm Bei Verwendung von if und else konnte ich die Verarbeitung schreiben, wenn eine bestimmte Bedingung erfüllt ist und wenn dies nicht der Fall ist. In der Realität gibt es jedoch viele Fälle, in denen die Bedingung aus mehreren Bedingungen besteht. Was soll ich in einem solchen Fall tun? Zu diesem Zeitpunkt ist elsif nützlich. Schauen wir uns zunächst das folgende Beispiel an.
1-3.rb
def math
puts "1~Bitte geben Sie einen Wert von 3 ein:"
num = gets.to_i
if(num == 1)
puts "one\n" #Verarbeitung, wenn num 1 ist
elsif(num == 2)
puts "two\n" #Verarbeitung, wenn num 2 ist
elsif(num == 3)
puts "three\n" #Verarbeitung, wenn num 3 ist
else
puts "Unangemessener Wert.\n" #Verarbeitung, wenn andere Werte eingegeben werden
end
end
Ausführungsergebnis 1(Wenn ein Wert von 1 bis 3 eingegeben wird)
Bitte geben Sie einen Wert von 1 bis 3 ein:1
one
Ausführung Fruchtlieferung 2(Wenn ein anderer Wert eingegeben wird)
Bitte geben Sie einen Wert von 1 bis 3 ein:4
Unangemessener Wert.
Wenn Sie als Ergebnis 1 eingeben, wird es als eins angezeigt, wenn Sie 2 eingeben, wird es als zwei angezeigt, und wenn Sie 3 eingeben, wird es als drei angezeigt. Wenn Sie einen anderen Wert eingeben, "Bitte geben Sie einen Wert von 1 bis 3 ein", wenn und sonst allein Sie können die Verarbeitung nur ausführen, wenn eine Bedingung erfüllt ist und wenn dies nicht der Fall ist. Mit elsif ist es möglich, Fälle für mehrere Bedingungen zu trennen. Das Format der if-Anweisung einschließlich elsif lautet wie folgt.
Format der if ~ elsif ~ else-Anweisung
if(Bedingter Ausdruck ①)
Verarbeitung ①
elsif(Bedingter Ausdruck ②)
Verarbeitung ②
else
Verarbeitung ③
end
Wenn der bedingte Ausdruck (1) erfüllt ist, wird der Prozess (1) ausgeführt. Wenn der bedingte Ausdruck (2) erfüllt ist, wird der Prozess (2) ausgeführt. Wenn keine der Bedingungen erfüllt ist, wird der Prozess (3) ausgeführt. Sie können eine beliebige Anzahl </ font> von elsif nach if hinzufügen. Sie können also beliebig viele Bedingungen hinzufügen. aus diesem Grund. Der Verarbeitungsablauf von 1-3.rb ist wie folgt.
Als nächstes kombinieren wir dieses Wissen, um eine komplexere if-Syntax zu erstellen. Schauen Sie sich zunächst das folgende Beispiel an.
list1-4.rb
def main
#Geben Sie den Würfelwurf ein
puts "Bitte geben Sie eine Zahl von 1 bis 6 ein:"
dice = gets.to_i
#Finden Sie heraus, ob der Wert innerhalb des Würfelwurfs liegt
if(1 <= dice && dice <= 6)
if(dice == 2 || dice == 4 || dice == 6)
#Teilen Sie die Verarbeitung danach auf, ob der Würfelwurf gerade oder ungerade ist
puts "Ding (Es ist ein Schmetterling)\n" #Wenn es gerade ist, ist es ein Schmetterling.
else
puts "Die Hälfte (Han)\n" #Wenn es ungerade ist, halb (han)
end
else
puts "Es ist eine Zahl außerhalb des Bereichs.\n"
end
end
Die Ausführungsergebnisse dieses Programms können grob in drei Typen unterteilt werden. Die erste ist eine gerade Zahl zwischen 1 und 6, Das heißt, wenn Sie einen Wert wie 2,4,6 eingeben. Wie unten gezeigt, wird "Es ist ein Schmetterling" angezeigt und das Programm endet.
Ausführungsergebnis 1.(2,4,Wenn 6 eingegeben wird)
Bitte geben Sie eine Zahl von 1 bis 6 ein:2
Ding(Schmetterling)ist.
Als nächstes, ebenfalls zwischen 1 und 6, wird "Half (Han)" angezeigt, wenn Sie diesmal eine ungerade Zahl wie 1,3,5 eingeben Gramm endet.
Ausführungsergebnis 2.(1,3 von,Wenn 5 eingegeben wird)
Bitte geben Sie eine Zahl von 1 bis 6 ein:5
Ding(Schmetterling)ist.
Wenn Sie eine andere Ganzzahl als 1 bis 6 eingeben, dh eine Zahl, die nicht den Würfeln entspricht, "liegt außerhalb des Bereichs". Wird angezeigt und das Programm endet.
Ausführungsergebnis 3.(Wenn eine Zahl außerhalb des Bereichs eingegeben wird)
Bitte geben Sie eine Zahl von 1 bis 6 ein: 10
Es ist eine Zahl außerhalb des Bereichs.
Recommended Posts