Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

COBOL Grundkurs

Die IF-Bedingung in COBOL

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die IF-Bedingung ist eine der elementarsten Entscheidungsstrukturen nahezu jeder Programmiersprache. Selbst die Syntax ist in den meisten Programmiersprachen gleich oder zumindest ähnlich. In COBOL ist zu beachten, dass IF immer in Kombination mit THEN verwendet wird, worauf neuere Programmiersprachen weitgehend verzichten. Ansonsten gibt es aber die zu erwartenden Varianten, einschließlich des ELSE-Zweigs, auch in COBOL.

Transkript

Nahezu jede bekannte Programmiersprache, eigentlich jede, hat sogenannte bedingte Anweisungen, COBOL selbstverständlich auch, und wir schauen uns in diesem Video eine davon an, und zwar die IF-Bedingung. Diese gibt es in allen, so gut wie allen, bekannten Programmiersprachen in der gleichen oder ähnlichen Form. Man kann sogar sagen, dass sie im Grunde von COBOL im Wesentlichen geprägt wird, und die Syntax in vielen modernen Sprachen noch identisch oder ähnlich verwendet wird. Von daher sollte gerade die IF-Bedingungsanweisung für Programmierer keinerlei Fragen aufwerfen, höchstens die spezielle Syntax in COBOL muss diskutiert werden. Diese ähnelt sehr stark übrigens auch BASIC, was ziemlich deutlich genau aus COBOL aus der COBOL-Syntax entwickelt wurde. Ich habe hier ein erstes Beispiel für die Verwendung. Sie sehen, dass es hier vier Variablen gibt, vier Datenfelder numerischer Art, beachten Sie die PICTURE-Klausel, und ich belege den Wert der ersten und dritten Variable, das Datenfeld ist mit 25 und das zweite und vierte Datenfeld mit dem Wert 15. Und dann vergleiche ich einfach, ob der Wert des ersten Datenfelds größer dem Wert im zweiten Datenfeld ist. Also ob 25 größer 15 ist. Und dann zeige ich hier in "IF-Block 1" an. Sie sehen, dass ich hier im Inneren einen weiteren IF-Block habe. Der IF-Block kann natürlich verschachtelt werden. Und hier überprüfe ich, ob der Wert in dem Feld "WS-NUM3" gleich dem Wert im Feld "WS-NUM4" ist. Beachten Sie, dass der Vergleich hier über das einfache Gleichheitszeichen erfolgt. In vielen moderneren Sprachen nutzt man bei Vergleichen das doppelte Gleichheitszeichen. Nur in sehr einfachen oder historisch alten Sprachen, wie eben COBOL oder auch BASIC, nutzt man hier dieses einfache Gleichheitszeichen. Es besteht die große Gefahr, das ein Vergleich und eine Zuweisung hier verwechselt wird, wenn man das nicht unterscheidet. Aber COBOL ist ja historisch gewachsen, und von daher wird hier das einfache Gleichheitszeichen benutzt. Das hier ist ein Größer-Operator und selbstverständlich gibt es auch einen kleineren Operator, um diese Bedingung zu formulieren. Sie sehen auch, dass es IF THEN heißt, nicht wie in vielen modernen Sprachen nur IF und dann ein Block, sondern man benutzt hier explizit dieses Schlüsselwort THEN, welches BASIC-Programmierer vielleicht noch kennen. Und danach folgt der Block der Anweisungen, die ausgeführt werden, wenn die Bedingung erfüllt ist. Es gibt auch ein ELSE, das ist die Alternative und auch hier können Anweisungen ausgeführt werden, die im ELSE-Fall eintreten. Ein END-IF beschließt diese gesamte Struktur und dieses "END-IF" hier zählt zum inneren "IF ELSE". Dieses ELSE zählt zum äußeren IF und auch hier gibt es wieder einen ELSE-Zweig und hier wird die äußere Struktur beendet. Schauen wir uns das Programm an, wie es ausgeführt wird. Ich habe das Programm bereits kompiliert und mit IF1 wird es ausgeführt. Ich bin also einmal hier im Äußeren IF-Block bei dieser Ausgabe, weil die Bedienung ist erfüllt. Bei dem inneren IF-Block ist die Bedingung allerdings nicht erfüllt, der Wert von WS-NUM3 ist nicht der Wert von WS-NUM4 und deswegen gehen wir hier in den ELSE-Block hinein. Wie eingangs erwähnt, diese Anwendungen von IF und IF-ELSE dürfte keinen Programmierer, der schon in irgendeiner anderen Sprache programmiert hat, vor große Rätsel stellen. Es gibt ein paar Besonderheiten, die sollten wir aber noch diskutieren. Es gibt in COBOL gewisse Schlüsselworte, Token, die man alternativ nehmen kann, statt der Operatoren, IS GREATER THAN OR EQUAL TO. das ist der Größer-gleich-Operator aus vielen anderen Programmiersprachen. Wie gesagt, Sie haben ja auch gesehen, in COBOL gibt es ja auch Operatoren. Und wenn ich jetzt hier diese beiden Werte vergleiche, ob 25 größer ist als 15, dann muss selbstverständlich das hier angezeigt werden und das schauen wir uns kurz an, und Sie sehen hier die Ausgabe. Nun gibt es einige weitere Token oder Schlüsselworte im Zusammenhang mit Vergleichen, mit Bedingungen, die in COBOL benutzt werden können: IS POSITIVE, IS NEGATIVE, IS ZERO. Ich habe hier zwei Variablen in dem dritten Beispiel und beachten Sie bei der PICTURE-Klausel steht hier ein S, also ich kann mit einem Vorzeichen arbeiten und hier habe ich auch einen negativen Wert gewählt. Und wenn ich überprüfe, ob dieser Wert positiv ist, dann liefert das ein Booleanwert zurück, TRUE oder FALSE und der Wert ist natürlich nicht positiv, also wird das hier nicht angezeigt. Überprüfe ich allerdings, ob er negativ ist, wird das hier angezeigt. Ist der 0? Nein, also wird das nicht angezeigt. Und ist der Wert von WS-NUM2 positiv? Ja, also wird das angezeigt. Lassen wir auch dieses Beispiel laufen. Und Sie sehen das gewünschte Ergebnis hier. Ebenfalls ganz spannend im Vergleich bei den Bedingungen hier sind Schlüsselworte, Token in COBOL, um zu überprüfen, ob ein Wert alphanumerisch oder numerisch ist. IS NUMERIC, beispielsweise überprüft, ob der Wert in einem Datenfeld numerisch ist und hier wird überprüft, ob er alphanumerisch ist. Und Sie sehen hier, das ich zwei Variablen habe, eine alphanumerische, beachten Sie die PICTURE-Klausel mit dem X und eine numerische, das ich hier mit Vorzeichen auszeichne, spielt keine Rolle. Auch hier möchte ich das Programm natürlich laufen lassen. Und Sie sehen, dass der Wert von WS1 alphanumerisch ist und von WS2 numerisch. Nun kann es sehr interessant sein, boolesche Werte, Aussagen in irgendeiner Form zu negieren. Und es gibt das Schlüsselwort NOT in COBOL, um eine Aussage zu negieren. Hier überprüfe ich, ob der Wert von WS-NUM1 kleiner ist als der Wert von WS-NUM2. Das ist er, aber mit NOT drehe ich diesen Wahrheitswert um. Schauen wir uns das Ergebnis wieder im lauffähigen Programm an. Ich bin im ELSE-Block, die Überprüfung der Bedienung hat zwar TRUE ergeben, aber mit NOT wurde dieser Wert umgedreht und deswegen komme ich in den ELSE-Block. Nun wird man in vielen Fällen auch Bedingungen verknüpfen müssen bei einer Überprüfung über IF. Auch das dürfte für jeden erfahrenen Programmierer kalter Kaffee sein. Wie macht man das? Wir haben entweder eine AND-Verknüpfung oder eine ODER-, OR-Verknüpfung. Und diese Schlüsselworte stehen in COBOL zur Verfügung, Sie sehen hier, dass bei diesem Vergleich beide Bedingungen erfüllt sein müssen, damit der IF-Block erreicht wird und ansonsten wird der ELSE-Block erreicht und bei OR muss nur eine der beiden Bedingungen erfüllt sein, es könnten auch beide erfüllt sein und hier habe ich die Variablen so vorbereitet, dass hier einmal eine der beiden Bedingungen erfüllt ist und hier auch beide Bedingungen nicht erfüllt sind. Schauen wir es und an, wie das aussieht mit dem lauffähigen Programm. Und Sie sehen, hier sind beide Bedingungen erfüllt, eine der beiden ist erfüllt und keine der Bedingungen ist erfüllt. Das lässt sich leicht nachvollziehen, wenn man hier die Werte, der verwendeten Variablen beachtet. Sie haben also in diesem Video gesehen, dass es diese IF-Entscheidungsstruktur in COBOL gibt, identisch wie in eigentlich allen, zumindest mir persönlich bekannten Sprachen, mit der Besonderheit, dass wir hier dieses THEN notieren müssen und ein END-IF am Ende, aber auch diese Syntax ist aus COBOL in andere Sprachen fast unverändert übernommen worden, BASIC als Beispiel. Ansonsten kann man durch Token oder Operatoren Verknüpfungen vornehmen, Vergleiche vornehmen et cetera. Das werden Sie aus allen Sprachen irgendwie so kennen.

COBOL Grundkurs

Lernen Sie die Programmiersprache COBOL mit ihren Grundfunktionen kennen und schreiben Sie eigene Programme.

3 Std. 4 min (45 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:21.11.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!