Saubere Programmierung
von hansolo_forever » Do 24. Mai 2018, 16:30Hallo, ich bin der Roman aus Augsburg und komplett neu hier !
Neulich habe ich von euch noch ein Exemplar des 'Turbo-Basic XL 1.5'-Handbuchs bekommen und entdecke gerade die tollen Eigenschaften dieser genialen Sprache (allein der DUMP ist schon eine Offenbarung ,sozusagen )...
Danke für das tolle Buch !!! Schade, das alles hätte ich vor 30 Jahren gebraucht...
Nun eine Frage, die ich nicht selbst zufriedenstellend lösen konnte - es geht um das erweiterte IF:
1000 DO: EXEC 'mach_mal'
1010 IF (bedingung1):PRINT "Roger, mate !":EXEC 'screenzeugs':EXIT
1020 ELSE: IF (bedingung2) THEN PRINT 'Vergiß es !":EXEC 'screenzeugs':EXIT
1030 ENDIF
1040 LOOP
Wenn jetzt 'bedingung1' schon beim ersten Durchlauf erfüllt ist, und das ELSE gar nicht erst relevant wird - ist der IF-Block dann trotzdem 'sauber' abgeschlossen, oder ist das so, wie eine Schleife ohne POP zu verlassen ?
Vulgo: Hinterlasse ich eine offene Baustelle auf dem Stack ?
Laufen tut's anstandslos, aber was da für potientielle Fallgruben im Speicher lauern, kann ich alles nicht recht einschätzen - und ich bin grade im 'Optimierungswahn'...
Für sachdienliche Hinweise schon mal vielen Dank
und liebe Grüße
da han (der heute wohl noch in's Kino muß, wenn er sich von seinem ATARI trennen kann... ^^)
Neulich habe ich von euch noch ein Exemplar des 'Turbo-Basic XL 1.5'-Handbuchs bekommen und entdecke gerade die tollen Eigenschaften dieser genialen Sprache (allein der DUMP ist schon eine Offenbarung ,sozusagen )...
Danke für das tolle Buch !!! Schade, das alles hätte ich vor 30 Jahren gebraucht...
Nun eine Frage, die ich nicht selbst zufriedenstellend lösen konnte - es geht um das erweiterte IF:
1000 DO: EXEC 'mach_mal'
1010 IF (bedingung1):PRINT "Roger, mate !":EXEC 'screenzeugs':EXIT
1020 ELSE: IF (bedingung2) THEN PRINT 'Vergiß es !":EXEC 'screenzeugs':EXIT
1030 ENDIF
1040 LOOP
Wenn jetzt 'bedingung1' schon beim ersten Durchlauf erfüllt ist, und das ELSE gar nicht erst relevant wird - ist der IF-Block dann trotzdem 'sauber' abgeschlossen, oder ist das so, wie eine Schleife ohne POP zu verlassen ?
Vulgo: Hinterlasse ich eine offene Baustelle auf dem Stack ?
Laufen tut's anstandslos, aber was da für potientielle Fallgruben im Speicher lauern, kann ich alles nicht recht einschätzen - und ich bin grade im 'Optimierungswahn'...
Für sachdienliche Hinweise schon mal vielen Dank
und liebe Grüße
da han (der heute wohl noch in's Kino muß, wenn er sich von seinem ATARI trennen kann... ^^)