APPLICATIONSPROGRAMMATION ★ STRUKTUR: HILFE ZUR STRUKTURIERTEN PROGRAMMIERUNG ★

Strukter v3 (Schneider Aktiv)Applications Programmation
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Zu den ersten Erfahrungen als Hobbyprogrammierer gehört, daß man nur wenige Tage braucht, ein Programm in seinen Grundzügen niederzuschreiben, aber Wochen, bis man die letzten Fehler gefunden hat. Das Schlimmste sind dabei nicht einmal die „Syntax Errors“ — auf sie weist einen der Basic-Interpreter meist ausdrücklich hin sondern die logischen Fehler. Bei diesen hat man nur eine Chance, wenn man den Programmablauf noch nachvollziehen kann. Das Zauberwort heißt „Strukturiertes Programmieren“.

Vielleicht kennen einige von Ihnen die Art, wie ein Pascal-Listing mit eingerückten Zeilen ausgedruckt wird. Diese Form macht es zum Beispiel leicht,verschachtelte Schleifen zu analysieren.

Aber wer einmal auf dem falschen Weg war, der wird seine ersten Listings nur noch mit einem Kopfschütteln betrachten. Eine nachträgliche Aufbereitung ist sehr umständlich und zeitraubend. Wozu auch, das Listing läuft ja. Hier setzt das Programm Strukter Von Schneider aktiv-Autor Thomas Naumann an. Es läuft auf allen CPC-Modellen (mit und ohne Diskettenlaufwerk). Seine Stärken jedoch zeigt das Programm besonders dann« wenn man über ein Laufwerk und einen Drucker (NLQ 401 o.a.) verfügt. Mit Strukter kann man sich auf dem Bildschirm oder auf seinem Drucker ein übersichtliches Programm-listing ausdrucken lassen. Strukter hat dabei folgende Leistungsmerkmale (bezogen auf die Benutzung eines Druckers):

  • Jeder Befehl steht in einer Zeile. — Schleifen und IF-Statements werden durch Leerzeilen vom übrigen Programmtext abgegrenzt.
  • Das Innere von Schleifen und IF-THEN-ELSE-Statements wird eingerückt, Statements der Form NEXT j,i werden in NEXT j:NEXT i aufgelöst. Weggelassene GOTQs (z.B. bei IF < Bedingung > THEN 90) .werden ein'gefügt (aber : IF-Statements ohne ein THEN, z.B. “IF k-k GOTO 90“, werden nicht verstanden)
  • GOTO GOSUB und ON werden fettgedruckt.
  • RETURN wird fettgedruckt, unterstrichen und um eine Zeile abgesetzt.
  • REM-Statements werden in Sternchen eingerahmt.
  • Jede Seite erhält eine Kopfzeile und eine Seitennummer.
  • Unten rechts auf einer Seite wird vermerkt, welche Zeilen auf ihr zu finden sind.
  • Neben dem Ausdruck von ganzen Programmen können auch Teile (von < Aniangszeile > bis < Endzeile >) gedruckt werden.
  • Ein umfangreiches Druckmenü erlaubt die Anpassung des Ausdrucks an individuelle Vorlieben.
  • Die Steuerzeichen des Programms beziehen sich auf den NLQ 401 Bei der Verwendung anderer Drucker müssen die Zeilen 50 ff entsprechend angepaßt werden.
    Mit Strukter können Sie eine in Ihrem Programm vorhandene Struktur deutlich machen (daher der Name). Eines kann Strukter aber nicht: ein unstrukturiertes
    Programm strukturieren. Unabhängig davon, ob Sie Strukter benutzen wollen oder nicht, empfiehlt es sich, folgende Regeln bei der Basic-Programmierung zu beachten, damit Sie Ihr Programm auch nach sechs Monaten noch lesen können:
  • Keine absoluten Sprünge (d.h.: GOTO-Befehle) aus FOR-NEXT- und WHILE-WEND-Schleifen und Unterprogrammen. Nicht nur, daß die Übersichtlichkeit darunter leidet - irgendwann ist auch mal der Stack mit den Rücksprungadressen voll und dann kommt es zu zunächst völlig unverständlichen „Memory full“-Meldungen.
  • In ein Unterprogramm sollte man nur über eine einzige Zeile springen (der man möglichst, zumindest während der Programmentwicklung, eine REM-Zeite voranstellen sollte).
  • In einem Unterprogramm sollte nur ein einziges RETURN, und zwar am Schluß des Unterprogrammes, Vorkommen.
  • Der Tod aller Übersichtlichkeit sind Befehle wie “FOR i=1 to 2:IF < Bedingung > THEN < Befehl > ELSE NEXT“ oder “IF < Bedingung > THEN RETURN“. Ein NEXT bzw. WEND sollte auf derselben strukturellen Ebene wie das dazugehörige FOR bzw. WHILE stehen. Entsprechendes gilt für RETURN und die dazugehörige Einsprungzeile. Hier hilft Ihnen Strukter durch das Einrücken besonders.
  • Zu jedem IF gehört ein THEN. Dei Basic-Interpreter versteht zwar auch z.B. “IF a=0 GOTO 90“, aber das Programm wird dadurch schlechter lesbar.
    Bevor Sie ein Programm durch Strukter verarbeiten können, müssen Sie es als ASCIl-Datei abspeichern. Das geschieht, indem Sie das Programm, das Sie ausdrucken lassen wollen, laden (LOAD “< Programmname >“) und dann mit SAVE “< Programmname >“ , a abspeichem.
    Die Bedienung des Programms erklärt sich weitgehend von selbst, so daß liier nur Hinweise zur Bedeutung einiger Optionen gegeben werden müssen.

A. Druckmenü

Durch das Drücken des angegebenen Buchstabens schaltet man zwischen zwei Möglichkeiten hin und her. Beispiel: Durch < A > schaltet man zwischen dem ASCI 1-Zeichensatz und dem deutschen Zeichensatz (,,Schneider“), da das Programm für den Schneiderdrucker NLQ 401 ausgelegt ist) um.

Die Schriftdichte gibt an, wieviele Zeichen auf einer vollen Druckzeile gedruckt werden (80 oder 132), Den standardmäßigen Fettdruck von GOTO, GOSUB, ON und RETURN kann man mit < H > unterdrücken. Mit Zeilenabstand (eng/normal) wählt man zwischen einem Zeilenabstand von 1/8” und 1/6”. Eine Formularhöhe von 11 Zoll sollte man einstellen, wenn man Einzelpapier benutzt. Ansonsten ist 12 Zoll die geeignete Formularhöhe.

B. Sonstige Einstellungen

Antwortet man auf “Kopfzeile=Dateiname (j/n)?“ nicht mit <N>, wird als Kopfzeile für die Seiten des Listingausdrucks der Dateiname genommen. Ansonsten kann man eine eigene Titelzeile eingeben. Es ist sehr praktisch, wenn Sie in der Kopfzeile Datum und Versionsnummer Ihres Programmes aufnehmen. Hinweise für Kassettenbenutzer:

Wenn Sie kein Diskettenlaufwerk besitzen, müssen Sie den TAPE- und den DISC-Befehl am Anfang des Listings weglassen. Außerdem ist für Sie die Option CATALOG wenig interessant; Sie sollten sie daher nicht anwählen.

(JE) , SA

★ PUBLISHER: Schneider Aktiv
★ YEAR: 1987
★ CONFIG: 64K + AMSDOS
★ LiCENCE: LISTING
★ COLLECTION: SCHNEIDER AKTIV 1987
★ LANGUAGE:
★ AUTHOR: Thomas Naumann
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Strukter  v3.2    (Schneider  Aktiv)    GERMANDATE: 2021-06-19
DL: 183
TYPE: ZIP
SiZE: 8Ko
NOTE: Dumped by Johnny Farragut ; 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Zack: Zap Construction Kit
» Applications » Di-Pi : Digital Percussion Instruments (Happy Computer)
» Applications » ACB : Arcade Construction Basic
» Applications » Text-Constructor (Schneider Magazin)
» Applications » 3D Construction Kit
» Applications » Bank Manager - Les Instructions Cachées
Je participe au site:
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 365 millisecondes et consultée 670 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.