Die GO TO-Anweisung


Normalerweise wird ein Programm Zeile für Zeile abgearbeitet. Diese Reihenfolge kann durch die GO TO-Anweisung durchbrochen werden. Hierfür wird eine Sprungmarke im A-Bereich gesetzt, zu der das Programm hinter der GO TO-Anweisung 'gehen soll'. Es handelt sich also um SECTIONS oder Paragraphen. Der Compiler erkennt die Qualität als Sprungmarke dadurch, daß Cobol-Befehle im B-Bereich codiert werden, Paragraphen oder SECTION-Namen jedoch wie bereits erwähnt im A-Bereich.
Die Codierung stellt sich konkret wie folgt dar:

	:

     GO TO Sprungmarke.

	:

 Sprungmarke.
     DISPLAY "Ich bin gesprungen".

	:		


Sprungverteiler
Man kann auch einen sog. Sprungverteiler an die GO TO-Anweisung anhängen. So werden beispielsweise verschiedene Sprungmarken abhängig von einem Wert in einer Variablen angesprungen. Wichtig ist dabei, daß der Wert ganzzahlig numerisch sein muß.

     05 Variable PIC S999 COMP.

	:

     GO TO Marke1 Marke2 Sprung
           DEPENDING ON Variable.
 Weiter.
     If ....
	:
	:

 Marke1.
     DISPLAY "Ich konnte nicht springen".
     GO TO Weiter.

 Marke2.
     DISPLAY "Ich wollte springen".
     GO TO Weiter.

 Sprung.
     DISPLAY "Ich bin gesprungen".
     GO TO Weiter.


	:		


An diesem Beispiel wird deutlich, warum der Umgang mit der GO TO-Anweisung so verpöhnt ist. Von der ersten GO TO-Anweisung wird zur entsprechenden Marke verwiesen (Variable=1 dann Marke1; wenn Variable=2 dann Marke2....). Damit das Programm dann nicht bei der nächsten Marke weiterläuft, benötigt man wiederum eine GO TO-Anweisung und so geht das dann beliebig weiter, was zu einem heilosen Chaos im Coding führt. Dieses Chaos ist gemeinhin als Spaghetti-Programmierung bekannt und zeugt von wenig Professionalität.

...

... zurück