Home

BASIC mit dem Z1013

image

Contents

1. Listing 1 Zeichnen auf dem Bildschirm Die Ausgangsposition des Punktes ist als Zahlenwert eines Bildspeicherplatzes einzugeben Mit Hilfe der POKE Anweisung wird das Zeichen gesetzt Der vorgegebene Wert P entspricht im Beispiel dem Sternchen Zeichen Jeder beliebige andere Wert des ASCII Zeichensatzes kann ebenfalls daf r gew hlt werden Die INKEY Abfrage der Tasten des Steuerpultes bewirkt die Ver nderung der Bildschirm position durch die Zuweisung eines konkreten Wertes Z der die Bildschirmposition zum augenblicklichen Standort neu bestimmt 30 Die Organisation der Steuern Zeichen Umschaltung erfolgt durch Tastaturabfrage Zuord nung von Werten S 1 bzw S 2 und entsprechende Sprunganweisungen Mit den POKE Anweisungen wird das Neusetzen bzw L schen des Zeichens bewirkt Durch GOTO Befehl nach 1120 wird die Wiederholung des Steuer Zeichen Vorganges eingeleitet Unterprogramm Begrenzungsrahmen 203 Bytes Dieses Unterprogramm stellt eine sinnvolle Erganzung zum vorangegangenen Unter programm Steuern eines Zeichens dar Sein Einsatz ist aber auch f r andere Anwen dungsf lle denkbar Wir beziehen uns bei der Erl uterung auf das vorhergehende Pro grammbeispiel Das Zeichen l t sich nach jeder beliebigen Seite aus dem Bildschirm heraussteuern und wird dabei unsichtbar Dieser Effekt ist f r Spiele st rend Wir wollen deshalb einen Rahmen bauen der den Bildschirmrand begrenzt und den gesteuerten Pun
2. Listing 19 Wissenstest Meine Heimat DDR Um Speicherplatz und Schreibarbeit zu sparen werden st ndig wiederkehrende Begriffe und S tze als Strings vereinbart Im weiteren Programmverlauf wird konsequent auf die Stringvereinbarungen zur ckgegriffen Der Programmaufbau f r die Umri karte ist denkbar einfach Eine Schleifenanweisung wird 74fach durchlaufen Sie liest dabei aus der DATA Anweisung ab Zeile 3000 Zeilen und Spaltenposition sowie den ASCII Code des entsprechenden Grafikzeichens Mit PRINT AT wird das Zeichen gesetzt Hier beginnt das Frageprogramm Richtige Antworten R und falsche Antworten F werden zun chst auf Null gesetzt Im Fenster erscheint die Frage und die INPUT Aufforderung zur Antwort Bei richtiger Beantwortung wird das Unterprogramm in Zeile 2100 angesprungen bei falscher Antwort das in Zeile 2200 Die Unterprogramme drucken die Bewertung der Antwort und z hlen fortlaufend richtig oder falsch Mit der Frage nach der Hauptstadt wird erstmals im Programm ein Blinksignal verwendet 73 Dieses Blinken wird im Unterprogramm ab Zeile 2000 erzeugt Die blinkenden Fragezeichen finden bei nachfolgenden Programmteilen wiederum Verwendung Nach Eingabe der Antwort wird das Fragezeichen in ein geografisches Symbol f r die Hauptstadt umgewandelt und fest in die Umri karte eingetragen Es folgen Fragen nach den Nachbarl ndern der DDR Die blinkenden Fragezeichen werden nach Eingabe der Antworten jeweils durch di
3. Bit 5 nicht genutzt Bit6 Bit gesetzt 1 wenn Weiche 1 in Geradeausstellung Bit 7 Bit gesetzt 1 wenn Weiche 2 in Geradeausstellung Das zugeh rige Programm zeigt Listing 18 Mit der Anweisung OUT 1 207 wird wie beim Lauflichtprogramm der bitweise Betrieb des PIO Bausteines programmiert Mit OUT 1 240 werden die Bits 4 bis 7 auf Eingabe programmiert 2 2 2 2 240 Die Abfrage des Inhaltes des Datenwortes erfolgt mit der BASIC Anweisung INP O Da der BASIC Interpreter mit uns in Dezimalzahlen verhandelt wir aber den Inhalt der Bits 4 6 und 7 abfragen m ssen erfolgt in den Programmzeilen 2000 bis 2030 eine Zerlegung der Dezimalzahl in eine Dualzahl Dabei werden die einzelnen Bits dem Zahlenfeld DU I zugewiesen und stehen uns damit f r die Auswertung zur Verf gung 67 68 Listing 18 Modelleisenbahnsteuerung Bei nicht ordnungsgem er Weichenstellung sorgt der Programmteil ab Zeile 1000 f r die Bildschirminformation und den Programmabbruch Bei Programmunterbrechungen z B mit der STOP Taste ist stets die Anweisung OUT 0 0 Uber die Tastatur einzugeben damit keine Schaden an Weichen Relais oder entsprechenden Bauteilen auftreten F r unseren gem chlichen Modellbahnbetrieb reicht die PAUSE Anweisung zur Realisierung von Zeitverz gerungen vollkommen aus Diese Verz gerungszeiten m ssen f r jede Anlage neu bestimmt werden Damit wird z B auch das Weiterfahren der Lok im entsprechenden U
4. Der BASIC Interpreter des Z 1013 ist vorz glich zum Berechnen von einfachen und komplizierten mathematischen Ausdr cken geeignet Ein Nachteil besteht darin da die Rechengenauigkeit auf sechs Stellen festgelegt wird Die siebente oder jede weitere Stelle einer mathematischen Konstante werden gerundet Damit m ssen Ungenauigkeiten in Kauf genommen werden Diese Eigenheit weisen auch andere Computertypen auf F r uns ist es jedoch oftmals wichtiger bei einem errechneten Ergebnis auf viel weniger Stellen hinter dem Komma runden zu k nnen Es gen gt f r die meisten Anwendungen im Alltagsge brauch festzustellen da eine Wegstrecke 23 4 km lang ist Exakt w rde der Z 1013 vielleicht den Wert 23 4325 km ausweisen Unser Unterprogramm hilft in Programme zur Berechnung mathematischer Aufgaben eine Routine zum Runden des Ergebnisses einzubauen Listing 4 Listing 4 Runden einer Zahl Zun chst legen wir den Faktor KS selbst fest Dieser Faktor entspricht der Anzahl von Stellen nach dem Komma Die zu bearbeitende Zahl ist einzugeben Es versteht sich da bei der Nutzung des Unterprogramms in einem Hauptprogramm der Zahlenwert nicht gesondert eingegeben zu 33 werden braucht weil er z B durch eine LET Anweisung bereitgestellt werden kann Diese Zeile ware entsprechend zu andern Die eingegebene Zahl Z wird in eine Zeichenkette Z verwandelt Zuvor erfolgt jedoch bereits ein Rundungsproze Die Zahl wird mit einem Faktor 10
5. t sich gegen unberechtigte Eingriffe sch tzen indem die Anweisung zum Abspeichern auf Kassette in folgende Form gekleidet wird es sich normal abarbeiten Versucht man jedoch einen Eingriff vorzunehmen passiert folgendes LIST EDIT CSAVE NAME oder oder ERROR ERROR ERROR Der Schutz l t sich durch Eingabe der Anweisung POKE 11102 0 aufheben 27 Nutzung der Programme anderer Computertypen Das Kassetteninterface des Z 1013 ist bei Benutzung des 10 KByte BASIC Interpreters identisch mit den Kassetteninterfaces der Kleincomputer KC 85 1 und KC 85 2 3 Dies bedeutet da man Programme von der Kassette auch in jeden anderen Computer der oben genannten Typen einladen kann Eine uneingeschrankte Nutzung dieser Programme ist jedoch nicht ohne weiteres m glich Dazu mu erst gepr ft werden ob Interpreter und Programmgestaltung auch f r beide Computer bereinstimmen Oft lassen sich Programme des anderen Computertyps durch wenige Eingriffe so ver ndern da sie f r den Z 1013 voll genutzt werden k nnen Der folgende Pr fvorgang soll helfen diese Ver nderungen systematisch vorzunehmen Problem 1 Speicherplatzbedarf 2 Bildspeicher Z1013 32 Zeilen 32 Spalten KC 85 1 24 Zeilen 40 Spalten KC 85 2 3 32 Zeilen 40 Spalten 3 Farbanweisungen Pr fung und Ab nderung Ermitteln der Speicherkapazit t des Programms durch PRINT FRE X Ist die erforderliche Speicherkapazit t kleiner als 4846 Bytes kann da
6. 390 2700 Bytes Von zwei parallelen Schulklassen sollen Reisew nsche ermittelt werden Meer Wald Gebirge St dtereise Winterurlaub Camping u a werden in Betracht gezogen Jeder Sch ler hat seine eigenen Vorstellungen Und dennoch wiederholt sich vieles Stimmen die Urlaubsw nsche in beiden Klassen ungef hr berein Das kann statistisch berechnet werden Zu den Arbeitsmethoden der natura und gesellschaftswissenschaftlichen Forschung geh rt die mathematisch begr ndete statistische Auswertung von Experimenten Analysen und Befragungen H ufig kann erst mit eindeutigen statistischen Berechnungen und Pr fverfahren der Beweis erbracht werden da gewonnene Erkenntnisse mit einer gewissen Wahrscheinlichkeit verallgemeinert werden k nnen Eine Vielzahl statistischer Methoden und Verfahren stehen zur Verf gung von denen die jeweils zweckm igsten vom Bearbeiter ausgew hlt werden m ssen Solche Berechnungen sind mit einem hohen Rechenaufwand verbunden Der Z 1013 l st 44 komplizierte Aufgaben sekundenschnell Selbst mit dem Taschenrechner brauchte man dazu manchmal Stunden Zu den bekanntesten statistischen Verfahren geh rt das CHI Quadrat Verfahren Listing 12 Auf dessen theoretische Grundlagen kann hier nicht eingegangen werden Dar ber sollte sich der interessierte Leser in der Fachliteratur informieren 45 Listing 12 CHI Quadrat Verfahren Die Leistungen des statistischen Verfahrens mit dem vorliegenden Progra
7. Bei Arbeitsabschlu ist nach Ausf hrung des Kommandos NEW deshalb CLEAR 256 einzugeben Ist die Anwendung der CLEAR Anweisung im Programm notwendig so gehen damit auch alle vorhergehenden GOSUB RETURN Beziehungen verloren Mit der Anweisung DIM A 150 1 wird Platz f r 150 Vokabeln geschaffen Das englische Wort steht dann unter A 1 0 und das deutsche Wort unter A I 1 Die f nf Auswahlm glichkeiten im Men zeigen den Umgang mit dem Programm Alle f nf Programmteile sind als Module in Unterprogrammtechnik ausgef hrt und werden von Zeile 150 aus ber ON VZ GOSUB aufgerufen Dieses Unterprogramm realisiert das Einlesen des Vokabelbestandes von einer Magnetbandkassette Wenn der Bestand vorliegt ist mit dem Einlesen der Datei VOKDAT zu beginnen Bei der Arbeit mit Dateien m ssen folgende Bedingungen beachtet werden Der Textspeicherbereich mu gleich oder gr er dem Textspeicherbereich bei der Her stellung der Datei sein Die Dimensionierungsanweisung DIM A 150 1 mu stets z B bei Nutzung der Datei in einem anderen Programm beibehalten werden Der Name der Datei und der Variablenname also VOKDAT A m ssen ebenfalls beibehalten werden Das Suchen im Bestand ist nat rlich nur dann sinnvoll wenn ein Datenbestand im Speicher vorhanden ist In Zeile 310 wird das Suchwort eingegeben und der Variablen SW zugewiesen Der Datenbestand wird solange durchsucht bis in Zeile 330 bei LEN A 1 0 O das Ende des
8. Die Funktion MID PK 7 1 liefert z B das 7 Zeichen der Personenkennzahl und damit das Geschlecht der Person liefert die K malige Wiederholung der Zeichenkette X So wird z B die Unterstreichung eines unter der Variablen UE abgespeicherten Textes mit beliebiger L nge durch folgende Anweisung und Funktion korrekt erledigt PRINT STRING LEN UE X ist hier eine Teilzeichenkette Die Funktion untersucht ob diese Teilzeichenkette X vollst ndig in der Zeichenkette Y enthalten ist Wenn das der Fall ist dann liefert die Funktion die Position des ersten Auftretens von X in Y Wird die Zeichenkette nicht gefunden liefert die Funktion den Wert 0 Die Funktion ist bei Suchprogrammen z B in unserem Bibliotheksprogramm bei der Suche nach dem Titel wertvoll da sie den Computer gro z giger macht Steht z B in der Variablen T der Buchtitel DER SCHATZ IM SILBERSEE dann liefert INSTR SILBERSEE T den Wert 15 Da dieser Wert ungleich Null ist gilt der Buchtitel als gefunden Vor der Behandlung von Zeichenketten mu gesichert sein da der String nicht leer ist z B nach Programm start noch nicht geladen sonst f hren diese Befehle zu Fehlerbildern deren Ursache schwer zu deuten ist Wir schlie en jetzt die unvollst ndige Vorstellung von Kommandos Anweisungen und Funktionen f r den BASIC Interpreter unseres Z 1013 ab und haben damit einen wichtigen Grundstein f r die nun beginnende praktische T tigkeit gele
9. Ein Sch nheitsfehler des Programms besteht darin da nach Beendigung der Arbeit das Bildschirmfenster nicht wieder voll aufgemacht wird Wie w re dies wohl zu ndern Programm Bremswegberechnung 584 Bytes Das folgende Programm k nnte die Grundlage einer Bremswegtabelle f r die Verkehrs unfallbereitschaft bilden Hier werden n mlich f r bestimmte Geschwindigkeitsbereiche die Bremswege bei trockener nasser und vereister Stra e ermittelt Dabei wird mit folgenden Bremsverz gerungen gerechnet Trockene Stra e a 6 m s nasse Stra e a 4 m s vereiste Stra e a 2 m s Diese Werte k nnen in den entsprechenden Gleichungen nat rlich ge ndert werden Listing 10 Listing 10 Bremswegberechnung Die in der Zeile 30 selbstdefinierte Funktion R X realisiert das Runden einer Zahl auf eine Stelle nach dem Komma Da der Bremsweg in Metern angegeben wird ist dies ein f r die 40 Praxis vern nftiger Wert Die in der Folgezeile definierte Funktion P X realisiert im Zusam menhang mit der TAB Anweisung eine kommab ndige Darstellung der Ergebnisse Schwie rigkeiten ergeben sich bei Zahlen wie 0 2 da der Computer die vorlaufende Null nicht anzeigt Diesen Sch nheitsfehler zeigt Bild 12 beim Ausdruck der Ergebnisse f r 5 und 10 km h Bild 12 Bremswegtabelle Ausschnitt F r die Gestaltung des Tabellenkopfes werden die Pseudografikzeichen mit den Codezahlen 161 senkrechter Strich und 160 waagerechter Strich
10. genutzt Sie lassen sich durch Setzen eines Semikolons leicht in den auszugebenden Text einf gen Allerdings ergeben sich bei der Benutzung der PRINT AT Anweisung beim Z 1013 und beim KC 87 hierbei Schwierigkeiten Sofern es sich nur um Zeichenketten handelt kann in diesem Fall das Pluszeichen benutzt werden Das Semikolon am Ende der Zeile 80 verhindert da der Kursor von der letzten Bildschirmspalte auf die n chste Zeile geht und damit eine unerw nschte Leerzeile erzeugt Die WINDOW Anweisung in Zeile 110 verhindert bei einem Rollen des Bildschirmes die Zerst rung des Tabellenkopfes Mit der Laufanweisung in Zeile 120 kann nach Belieben experimentiert werden indem und Endwert und die Schrittweite ver ndert werden Der Faktor FA wird in jeder der drei folgenden Gleichungen ben tigt Hinter den Zahlen 6 4 und 2 in den Programmzeilen 140 bis 160 verbergen sich die Bremsverz gerungen In jeder Zeile wird der Wert nach seiner Berechnung auf eine Stelle nach dem Komma gerundet Wie bei dem K rnerprogramm sorgt die Zeile 170 f r ein vom Nutzer steuerbares Beschreiben des Bildschirmes Die Zeilen 180 und 190 organisieren die Ausgabe auf dem 41 Bildschirm Dabei wird auch der senkrechte Strich CHR 161 mitgeschleppt Das Semikolon am Ende der Zeile 180 verhindert den Sprung des Kursors in die n chste Zeile Es ist schon erstaunlich was man bei angemessenem Runden der Ergebnisse alles auf den 32 Spalten Bildschirm des Z 1013 bringen
11. Bestandes signalisiert wird Die Entscheidung ber eine erfolgreiche Suche wird in Zeile 360 getroffen Hier kann der Nutzer das Suchprinzip ndern War die Suche erfolgreich dann wird das Wortpaar in Zeile 370 auf dem Bildschirm ausgegeben Was wird bei diesem Suchprinzip wohl geschehen wenn als Suchwort z B nur ein E oder ein Leer zeichen eingegeben oder nur die ENTER Taste gedr ckt wird Bleibt im letzten Fall der urspr ngliche Inhalt von SW erhalten Zur Erg nzung des Datenbestandes wird in Zeile 510 zun chst das letzte belegte Datenfeld bestimmt damit die Anf gung auch ordentlich funktioniert Nach Eingabe des englisch deutschen Wortpaares wird es zur Kontrolle noch einmal ausgegeben um Schreibfehler 54 m glichst gering zu halten Sollten keine weiteren Erg nzungen angef gt werden wird zum Men zur ckgekehrt Die vollst ndige Eigensteuerung des Programms ist f r den Erhalt des Datenbestandes wichtig Sollte z B auf Grund unvorhergesehener Dinge das Programm mit STOP unterbrochen werden darf nur mit GOTO z B GOTO 40 nicht aber mit RUN wieder gestartet werden denn RUN l scht den gesamten Datenspeicher und kann damit die zeitaufwendige Eintipparbeit zunichte machen Die zu streichende Vokabel wird der Variablen ST zugewiesen im Bestand gesucht und schlie lich das zusammengeh rende m glichst angezeigt Zeile 770 Zur Sicherheit wird in Zeile 790 noch einmal gefragt ob die Streichung tats chlich durchgef
12. Codes f r Ziffern und die Buchstaben A bis F der numerische Wert der Dezimalzahl ermittelt Listing 7 Listing 7 Umwandlung Hexadezimalzahl in Dezimalzahl 36 Der Rechenmeister Z 1013 Programm Zinseszinsberechnung 371 Bytes Aller Anfang ist schwer wir fangen aber mit etwas Leichtem an Bei unserer einfachen Zinseszinsberechnung wird von einer einmaligen Einzahlung ausgegangen Im Programm wird das Guthaben bei jahrlicher Verzinsung mit einem Zinssatz von 3 25 berechnet Der BASIC Interpreter des Z 1013 rechnet ebenso wie die Interpreter der Computer KC 85 3 und KC 87 mit einer Genauigkeit von 7 Stellen wovon 6 Stellen auf dem Bildschirm angezeigt werden Die 7 Stelle fungiert als Schutz und Rundungsstelle Wer die Absicht hat Millionar zu werden der bekommt bei dieser Stellengenauigkeit schon Schwierigkeiten mit den Pfennigen denn bei mehr als sechs Stellen wird auf das Gleitkommaformat mit Angabe eines Exponenten umgeschaltet Hier arbeiten wissenschaftliche Taschenrechner mit der Anzeige von zehn Stellen oder der Schultaschenrechner SR 1 mit acht Stellen genauer Das muB vor allem bei 6konomischen Berechnungen beachtet werden denn dort muB ja alles bis auf den letzten Pfennig stimmen Komfortablere BASIC Interpreter bieten deshalb die M glichkeit auch mit einer 14stelligen Genauigkeit zu rechnen Das vorliegende Programm ber cksichtigt noch nicht den Fall da j hrlich eine weitere Einzahlung hinzukommt Dies w re z
13. Der BASIC Interpreter kann auf zwei verschiedenen Wegen verlassen werden Den Befehl BYE und anschlieBende Betatigung der ENTER Taste nutzt man wenn planmaBig im Maschinencode weitergearbeitet werden soll M chte man das gerade bearbeitete BASIC Programm retten ist unverz glich einzugeben und die ENTER Taste zu dr cken Restart Gen gt es den Interpreter zu aktivieren wird geschrieben und die ENTER Taste bet tigt Bild 8 Flachfolientastatur des Z 1013 Arbeit mit der Tastatur Die Original Flachfolientastatur des Z 1013 besitzt 8 x 4 Tastenfelder Bild 8 Die Tastenanordnung erscheint dem sachkundigen Nutzer anderer Computertypen ungewohnt Zwar sind Flachfolientastaturen auf dem Computermarkt nicht so selten aber sie besitzen in der Regel eine andere Anordnung Die bliche Anordnung greift auf eine schreibmaschinen hnliche Lage der alphanumerischen Zeichen zur ck Die Tastatur des Z 1013 dagegen ist v llig nach dem Alphabet geordnet Dies erleichtert vor allem schreibmaschinenunge wohnten Nutzern f r den Anfang das Auffinden der einzelnen Buchstaben Die untere Reihe der Tastatur besitzt von links aus die Umschalttasten S1 bis S4 Deren Aufgaben sind der Bedienungsanleitung zu entnehmen Im Zusammenhang mit dem BASIC Interpreter ist es wichtig zu wissen da mit der Taste S4 Umschaltungen auf Steuerfunktionen bewirkt werden die zur Erh hung des Bedienkomforts des Z 1013 beitragen 21 Tastenkombination Bezeichnu
14. Fall nach dem Verfasser Variable U Z erfolgt ab Zeile 460 die Ausgabe auf dem Bildschirm Um ein unerw nschtes Abrollen des Bildschirminhalts zu verhindern wird in Zeile 465 die Zeilenposition des Kursors abgefragt 51 und im Bedarfsfall das kleine Unterprogramm ab Zeile 900 aufgerufen Auf diese Weise k nnen in aller Ruhe die bibliographischen Angaben gelesen werden Die Zeile 1000 enth lt die Anzahl der B cher Die Zahl ist also bei Erh hung oder Verrin gerung des Bestandes zu aktualisieren Der in DATA Zeilen abgelegte Buchbestand beginnt ab Zeile 1001 Eine Fortf hrung in Einerschritten erleichtert die bersicht ber die Anzahl der aufgenommenen B cher Verfasser Titel und die ersten beiden Buchstaben des Sachgebietes werden durch Kommas getrennt Der Z 1013 verlangt bei DATA Texten keine Anf hrungszeichen Das gilt auch f r die Kleincomputer der KC Serie jedoch nicht f r alle BASIC Interpreter anderer Computer Schwierigkeiten gibt es nur wenn im Buchtitel selbst ein Komma vorkommt Hier m ssen dann Anf hrungsstriche gesetzt werden Richtigen Spa macht die ganze Sache nat rlich erst mit dem eigenen Buchbestand und mindestens 500 B chern Hier kann der erweiterte Z 1013 zeigen was in ihm steckt Programm Vokabeln 1874 Bytes Auch bei diesem Programm kann der Z 1013 seine St rken so richtig zeigen wenn zus tzliche RAM Module die Kapazit t des Schreib Lese Speichers erh hen Das Programm dient zum Anlegen ein
15. Prozent des Expertenwissens eines Facharztes parat haben Vorg nge aus Natur und Technik simulieren chinesische Schriftzeichen verarbeiten Sprachen bersetzen und sogar gesprochene S tze in geschriebene Texte umwandeln Dar ber hinaus berechnen Computer Konstruktionen erstellen Zeichnungen liefern die erforderlichen Unterlagen f r die Fertigung steuern Produktionsprozesse geben Fahrplan und Stadt informationen verkaufen Fahrkarten helfen in Sparkassen und Versicherungen sortieren Postsendungen und erm glichen trickreiche Darstellungen im Fernsehen Aus dieser Aufz hlung wird klar da der Computer ein Werkzeug Arbeitsmittel von au erordentlich gro er Komplexit t und volkswirtschaftlicher Bedeutung ist Zugleich ist er aber f r den Berufs und Hobbyelektroniker ein Arbeitsgegenstand Diese Doppelfunktion gepaart mit seiner Vielf ltigkeit f hrt nicht selten in Industrie Wissenschaft und Technik aber auch im privaten Bereich zu Unklarheiten bez glich der M glichkeiten und Grenzen eines bestimmten Computertyps So z hlt ein Mensch in 30 s etwa bis 100 der BASIC Interpreter unseres Z 1013 bis rund 5000 ein Superrechner hingegen z hlt bis 500 Milliarden Die Ber cksichtigung der Leistungsklasse eines Computers ist demnach f r eine sachgetreue Nutzung die Entt uschungen weitgehend ausschlie t unumg nglich Auf die Klasse der Mikrorechnerbaus tze hierzu geh rt unser Z 1013 und Kleincomputer folgt die Klasse der B ro
16. Pseudo grafikzeichen verteilt Jedes der f nf Zeichen belegt also f nf zuf llig ausgew hlte Felder Bild 21 Durch zyklisches Verschieben der Pseudografikzeichen in den Zeilen und Spalten TT RARE ri Sec 43 a HE T UU e HEH oo gt 0 EE EREHE EREE s E ee o R GOGUOCGOOG gt pli Hd m F nfujaja intra tale Or Bild 21 Zuf llige Startsituation fur das Schiebepuzzle soll erreicht werden daB im Endergebnis f nf Zeilen mit jeweils gleichen Zeichen vorliegen Im Programm wird die Anzahl der Verschiebungen bis zur L sung gez hlt so da damit auch eine Wettspielsituation gegeben ist Listing 27 96 97 Listing 27 Schiebepuzzle Die Zeilen 40 bis 70 realisieren in Ermangelung der RANDOMIZE Anweisung eine zuf llige Anfangszahl f r die Reihe der Pseudozufallszahlen Anschlie end wird das Spielfeld dimensioniert wobei ein sechstes Feld beim Z 1013 h tten wir auch das Feld 0 nehmen k nnen als Puffer f r die zyklische Vertauschung dient Die Definition einer eigenen Funktion zur Erzeugung der Pseudozufallszahlen ist nicht zwingend erforderlich wir wollten hier nur das Prinzip zeigen was obendrein mehr Rechenzeit kostet Die erforderlichen Informationen werden auf den Bildschirm gebracht Zur Erzeugung des Feldes der zuf llig verteilten Pseudografikzeichen wird das Unterprogramm ab Zeile 1000 genutzt dieses Unterprogramm sorgt auch daf r da alle f nf Zeichen genau f nfmal vorkommen
17. Pseudografikzeichen selbst bauen k nnten Da dies nicht m glich ist suchen wir den Grafiksatz nach brauchbaren Zeichen ab Bild 24 zeigt eine M glichkeit Bessere Ideen sind durch kleine nderungen jederzeit realisierbar l Bild 24 Bildaufbau im Programm Entenjagd Im Programm werden die Durchl ufe besser Durchfl ge und die Treffer gez hlt wobei nach 50 Durchl ufen abgebrochen wird Damit ist eine Wettbewerbssituation geschaffen bei der es auf Konzentration und Reaktionsschnelligkeit an kommt wenn uns auch die Flach folientastatur etwas zu schaffen macht Das Programm zeigt einige Grundprinzipien zur Gestaltung von Aktionsspielen auf dem Bildschirm Es zeigt aber auch die Tempogrenzen bei der Arbeit mit einem BASIC Interpreter Die Nutzung eines BASIC Compilers z B fur den PC 1715 des schnelleren FORTH Interpreters einer Compilersprache z B PASCAL oder gar eine Programmierung in Assembler w rden die Zeitverh ltnisse deutlich machen Dann k nnten sich z B auch mehrere Enten und diese vielleicht noch im Schl ngelflug ber den Bildschirm bewegen Doch bleiben wir zun chst beim Listing 30 f r unseren Z 1013 mit BASIC Interpreter 106 Listing 30 Entenjagd Die kurze Erklarung in den Zeilen 30 und 40 bleibt etwa drei Sekunden Pause 301 auf dem Bildschirm wobei mit der Anweisung PRINT AT 0 0 das Kursorzeichen gel scht wird Dies erfolgt nochmals In Zeile 60 wo auch der Durchlaufz hler D mit 1
18. Wert N POKE eignet sich gut f r die Darstellung von Grafikzeichen und f r Spielablaufe Der Programmieraufwand ist geringer als mit PRINT Anweisungen Allerdings mu man bei der Bestimmung der Speicherpl tze gut aufpassen POKE Anweisungen werden nicht nur zum Ansprechen der Bildspeicherpl tze verwendet die beim Z 1013 im Bereich zwischen 5120 und 4097 liegen Mit POKE erreicht man auch solche Speicherpl tze die auf Betriebsabl ufe des Computers Einflu nehmen Das zu wissen hilft uns bestimmte Zusatzfunktionen zu nutzen die der BASIC Interpreter auf den ersten Blick nicht bietet Bei vielen Programmen soll aus Gestaltungsgr nden eine INPUT Anweisung auf einen beliebigen Platz P x y des Bildschirmes gesetzt werden Die L sung mit Hilfe von WINDOW ist oft zu umst ndlich weil das aktuelle Fenster nach der Eingabe aufgehoben werden mu Eine bequemere L sung funktioniert so Zeilennummer POKE 112 Y POKE 113 X INPUT Eingabe E Zu beachten ist lediglich da aus Gr nden der internen Organisation nach INPUT und Anf hrungszeichen ein Leerzeichen vor das erste Zeichen des Ausdruckes zu setzen ist Mit der Funktion PEEK Speicherplatzadresse kann erfragt werden ob und wie der ange sprochene Speicherplatz belegt ist Die Anwendung dieser M glichkeit wird im Unter programm Begrenzungsrahmen und im Programm GALTON Brett demonstriert 26 Verkettung von zwei BASIC Programmen Die Notwendigkeit zwei verschiedene BASIC Pro
19. die Bearbeitung eines BASIC Programms Der Z 1013 meldet sich mit OK und dem Promptzeichen Immer dann wenn man den Computer nicht zum Anhalten bewegen kann z B eine endlose Schleife oder aus einem bestimmten Arbeitsmodus beim Eintippen oder Korrigieren von Programmen heraus m chte sollte man sich der Wunderwirkung dieses Kommandos STOP auch BREAK erinnern CONT Ein mit STOP unterbrochener Programmablauf kann von wenigen Ausnahmen abgesehen mit dem Kommando CONT continue fortsetzen fortgesetzt werden Tasten S4 und F Das Eintippen von Programmen z B die aus der vorliegenden Brosch re wird durch die folgenden Kommandos unterst tzt LIST Dieses Kommando listet ein im BASIC Programmspeicher enthaltenes Programm auf Tasten S4 und D wobei mit der niedrigsten Zeilennummer begonnen wird An das Kommando LIST kann auch die Zeilennummer angef gt werden bei der die Auflistung beginnen soll Mit dem Kommando LINES X kann die Anzahl X der auszugebenden Zeilen gew hlt werden Als Standard legt der Interpreter 10 Zeilen fest AUTO Bei Aufruf dieses Kommandos bernimmt der Interpreter als zus tzlichen Service die Vorgabe der Zeilennummern f r ein einzutippendes Programm Er beginnt bei der Zeilennummer 10 und geht in Zehnerschritten vor Beide Werte k nnen durch die Eingabe von AUTO erste Zeilennummer Zeilennummernabstand frei gew hlt werden Der AUTO Modus wird ber das Kommando STOP verlassen DELETE Mit diesem Ko
20. diesen Zeilen wird der eigentliche Simulationsvorgang erzeugt Die Kugel geht in der Bildschirmzeile 0 auf die Reise Trifft sie auf kein Hindernis setzt sie ihren Weg nach unten fort und w hlt daf r den Speicherplatz A 32 A ist die Position des vorangegangenen Speicherplatzes Damit wird ihr ein senkrechter Weg zugewiesen Trifft die Kugel auf einen Nagel so wird ber die RND Funktion ein Wert 1 oder ein Wert 2 bereitgestellt Dem Wert wird der Speicherplatz A 1 oder A 1 zugewiesen Das bedeutet die Fortsetzung des Weges um das Hindernis nach links oder nach rechts Nach neunmaliger Wiederholung dieses Vorganges f llt die Kugel in einen der zehn Auffangbeh lter In jeder Phase des Fallens erfolgt mit Hilfe der PEEK Anweisung die Abfrage ob der entsprechende Platz im Beh lter f r die Kugel noch frei ist Falls der darunterliegende Platz bereits besetzt ist ist der Fall der Kugel beendet und sie nimmt die dar berliegende Position im Beh lter ein Ist ein AuffanggefaB vollst ndig gef llt tritt die Abbruchbedingung der Zeile 400 in Kraft 80 Programm Simulation einer Auslese 1542 Bytes Unter Nutzung festgelegter Spielregeln simuliert der Computer mit diesem Programm ein Ausleseprinzip Das Ganze k nnte auch von Hand mit W rfeln erfolgen Dazu waren einige Stunden erforderlich w hrend der Computer die Simulation in rund 10 Minuten ausf hrt Auf einem Spielbrett mit 6 mal 6 Feldern werden vier Farben je neunmal wahll
21. doch recht gro z gig mit den knapp bemessenen Bytes in unserem Z 1013 in der Grundversion um Ab Zeile 40 erfolgen weitere Vereinbarungen AN Anzahl lebenden Zellen FB Feldbreite also Spaltenanzahl GE Anzahl der zu berechnenden Generationen G Generationsz hler ZZ Anzahl der Zeilen und die Realisierung aller erforderlichen Eingaben In diesem Unterprogramm erfolgt die Darstellung des Textes und des aktuellen Generations musters auf dem Bildschirm Es enth lt auch die Abbruchbedingungen f r die F lle bei denen keine lebenden Zellen mehr vorhanden sind AN 0 oder die vorgegebene Anzahl von Generationen G GE erreicht wurde Die zweifache Laufanweisung Zeilen 1050 bis 1150 fragt den Spielfeldinhalt SF ZE SP ab Ein Sternchen f r eine lebende Zelle ist im Spielfeld SF als Ziffer 1 abgespeichert siehe Zeile 150 In Zeile 1070 wird gefragt ob das Feldelement ZE SP eine Eins enth lt Falls ja dann ergibt sich mit 1 eine wahre Aussage die durch NOT negiert wird In diesem Fall werden die Zeilen 1080 bis 1120 abgearbeitet Hier wird das Maximum der Variablen VZ VS Verschiebefaktoren f r Zeile und Spalte und MZ MS maximale Zeilen und Spaltenzahl ermittelt und das aktuelle Generationsfeld auf dem Bildschirm ausgegeben Nach L schung des Zwischenfeldes ZF wird das neue Spielfeld SF auf das Zwischenfeld bertragen und zugleich das Spielfeld gel scht Der Variablen ZZ wird dann die maximale Zeilenzahl MZ und der V
22. hlten Werten f r die anderen zwei Seiten zu berechnen Listing 24 Erweiterungsm glichkeiten sind denkbar Durch das Zufallsprinzip k nnte der Computer selbst die zu berechnende Seite ausw hlen Es ist dann zu beachten da die Seitenl nge c stets gr er als die von a oder b sein mu Der Z 1013 ware bei entsprechender Programmver nderung auch in der Lage die Aufgabe selbst zu stellen den Nutzer zur Berechnung mit anderen Hilfsmitteln aufzufordern und das errechnete Ergebnis auf Richtigkeit zu berpr fen 87 88 Listing 24 Satz des Pythagoras Mit diesen Zeilen wird der Titel so in den Bildschirm gesetzt daB der nachfolgende Aufbau des Dreiecks und seiner Seitenquadrate nicht behindert wird Die Konstruktion des rechtwinkligen Dreiecks erfolgt durch das Setzen ausgew hlter Grafikzeichen auf entsprechende Bildschirmpl tze Dazu nutzen wir die POKE Anweisung Bezugspunkt A ist immer der linke obere Bildspeicherplatz mit dem Wert 5120 Durch vorheriges Aufzeichnen im 32 x 32 Raster wird der entsprechende Platz im Bildspeicher ermittelt F r fortlaufende Bildspeicherpl tze werden Schleifenanweisungen zum Bildaufbau genutzt Wo dies nicht m glich ist werden einzelne Bildspeicherpl tze direkt angesprochen Das ist allerdings wesentlich aufwendiger und ben tigt auch mehr Programmzeilen Die Punktierung der Dreiecksfl che erfolgt ebenfalls mit Hilfe von POKE Die zugeh rigen Werte der Bildspeicherpl tze sind in einer DAT
23. hrt werden soll Falls ja wird das Streichungsflag FL mit dem Wert 1 belegt Die folgende Umsortierung in der Z hlschleife von Zeile 810 bis 840 berschreibt das zu streichende Wortpaar durch ein Vorr cken des folgenden Datenbestandes Allerdings braucht unser Z 1013 daf r schon ein wenig Zeit Wir haben das Gegenst ck zum Einlesen n mlich das Abspeichern eines Vokabel bestandes auf einer Magnetbandkassette vor uns Auch hier m ssen die schon genannten Bedingungen zur Arbeit mit Dateien beachtet werden Mit diesem Unterprogramm zum Abspeichern kann nach Abschlu von Erg nzungs oder Streichungsarbeiten im Vokabelbestand die aktuelle Datei auf den externen Datentr ger Magnetbandkassette ausgelagert werden Programm Stichwortverzeichnis 1980 Bytes In Bibliotheken gibt es neben dem Autorenverzeichnis und dem systematischen Katalog meist auch noch ein Stichwortverzeichnis auch Schlagwortverzeichnis Hat man keine konkreten Vorstellungen von bestimmten Buchtiteln oder Zeitschriftenartikeln sondern nur vom inhaltlichen Begriff um den es geht hilft dieses Verzeichnis Sucht man das Stichwort BASIC findet man einen ganz beachtlichen Nachweis zahlreicher Quellen Man notiert die Signatur den Titel und den Namen des Autoren Damit l t sich das Gew nschte in der Ausleihe bereitstellen F r die private Aufarbeitung eines Stichwortverzeichnisses kann der Z 1013 ausgezeichnete Dienste leisten Bei den Vorarbeiten mu man sich
24. men dienen die Bits 0 bis 3 Die Bits 4 bis 7 werden zur Eingabe von ProzeBinformationen R ckmeldung der Weichen Durchfahrtkontrolle in den Z 1013 programmiert Eingabe Ausgabe Bit an Dekoder Schaltkreis Bild 15 Datenwort f r die Modelleisenbahnsteuerung Allerdings reichen vier einzelne Bits nicht aus um zwei Weichen in jeweils zwei Stellungen und zwei Fahrstr me zu schalten Deshalb werden die Bits O bis 3 an einen Dekoderschaltkreis z B K155Y 13 gef hrt Mit vier Bits lassen sich ja 16 Zust nde Dezimalzahlen O bis 15 darstellen und damit f r unsere Modellbahnsteuerung nutzen Im vorliegenden Beispiel wurde folgende Belegung gew hlt die dann im Programm zu beachten ist Ausgabe auf Bit 0 bis Bit 3 ber Dekoder daraus folgt O keine Aktivit t 1 Weiche 1 in Geradeausstellung bringen 2 Weiche 1 in Schr gstellung bringen 3 Weiche 2 in Geradeausstellung bringen 4 Weiche 2 in Schr gstellung bringen 5 Fahrstrom f r kleinen Kreisabschnitt zuschalten 6 Fahrstrom f r gro en Kreisabschnitt zuschalten 7 bis 15 nicht genutzt Eingabe auf Bit 4 bis Bit 7 Bit 4 Durchfahrtskontrolle Bit nicht gesetzt 0 kleiner Kreisabschnitt aktiv passiert die Lok die Durchfahrtskontrolle im kleinen Kreisabschnitt dann wird Bit 4 gesetzt 1 Bit gesetzt 1 gro er Kreisabschnitt aktiv passiert die Lok die Durchfahrtskontrolle im gro en Kreisabschnitt dann wird Bit 4 zur ckgesetzt 0
25. mit POKE 113 die Zeilen und mit POKE 112 die Spaltenposition des Kursors gesetzt werden Eleganter geht das mit der den Wochentagen ber die aber der Z 1013 und der KC 87 nicht verf gen Bei Eingabe eines falschen Datums wird im Unterprogramm ab Zeile 3000 das Fehlerflag FL 1 gesetzt das in Zeile 200 ausgewertet wird In Zeile 220 werden durch Sprung in das Unterprogramm ab Zeile 4000 die beiden Datenfaktoren ermittelt deren Differenz die Anzahl der Tage TA bildet Zeile 230 In Zeile 240 wird gefragt ob das Anzeigefenster auf dem Bildschirm schon vollgeschrieben ist Zeilenz hler Z Falls nicht wird durch schrittweise Verkleinerung dieses Anzeigefensters Zeile 250 das Ergebnis auf dem Bildschirm ausgegeben Dieser Programmteil ist etwas einfacher aufgebaut da zu einem eingegebenen Datum nur der Wochentag zu berechnen ist Der Index des Wochentages WO wird in Zeile 390 ermittelt so da sich in Zeile 420 mit WO WO der korrekte Wochentag ergibt In diesen Zeilen werden die m glichen Programmfortsetzungen ber ein Men organisiert Die drei Fortsetzungsm glichkeiten erscheinen im Eingabefenster Die Abfrage erfolgt mit der INKEY Anweisung Daraus ergeben sich gleich zwei Vorteile das Dr cken der ENTER Taste wird gespart und auf Fehleingaben erfolgt keine Reaktion Soll die Programm bearbeitung abgeschlossen werden Taste E dann werden in Zeile 990 das Fenster wieder voll aufgemacht und der Bildschirm gel scht Programm
26. realisiert Dieses Kommando bewirkt die Abarbeitung des Programms run rennen von der ersten BASIC Zeile an bei der das Programm beginnt Wird das Kommando RUN als Buchstabenfolge ber die Tastatur eingegeben dann kann auch eine Zeilennummer angef gt werden bei der die Programmabarbeitung beginnen soll Aus Gr nden der Vereinheitlichung im Umgang mit fertiger Software sollte diese Variante nicht benutzt werden nat rlich kann Sie beim Programmtest gute Dienste leisten Nach Start des Programms mit RUN tritt der Nutzer entsprechend dem Programm mit dem Rechner in einen Dialog dessen Kontaktstellen im allgemeinen die Tastatur und der Bildschirm sind Programmstart mit RUN l scht alle Variablen und Felder bei Programmstart mit GOTO Zeilennummer bleiben Variablen und Felder erhalten Soll die Arbeit am Programm beendet werden dann meldet sich meist nach Eingabe des gew nschten Programmabbruches der BASIC Interpreter mit OK und dem Promptzeichen Das Programm kann nun mit NEW gel scht werden Wie sind aber Programme zu beenden die keine solche Endeabfrage enthalten Der Anf nger neigt vielleicht zum Ziehen des Netzsteckers Er m ge dabei bedenken da damit auch der im Schreib Lese Speicher des Z 1013 stehende BASIC Interpreter gel scht wird und ein Wiedereinschalten damit einen v lligen Neubeginn bedeutet Besser ist es wenn auch hierf r die entsprechenden Kommandos bekannt sind STOP Dieses Kommando Tasten S4 und K unterbricht
27. ren mit Sicherheit zu den ltesten Bestrebungen menschlicher Kultur Sonnen und Sanduhren im Altertum immer kleiner und genauer werdende mechanische Zeitmesser und in den letzten Jahren zunehmend elektronische Uhren zeugen vom sch pferischen Erfindergeist der Menschen Mikro elektronik und Computertechnik erm glichen heute digital anzeigende exakte Uhren Allabendlich kann man sich davon im Fernsehen berzeugen Mit Hilfe unseres Z 1013 und der Programmiersprache BASIC wollen wir uns eine Uhr aufbauen die einem normalen Anspruch an Genauigkeit gerecht wird Unsere Uhr soll als Normaluhr als Stoppuhr und als Wecker einsetzbar sein Listing 16 58 59 Listing 16 Digitaluhr Das Leistungsangebot der Z 1013 Uhr wird unterbreitet Wahlweise bietet das Men die Weckuhr die Stoppuhr und die Normaluhr an Die entsprechenden Initialisierungen werden durch eine ON GOTO Anweisung angesprungen Fur die Weckuhr wird eine Hilfsgr e WU ben tigt Sie bekommt den Wert 1 zugeordnet Dieser Wert ist bedeutungslos er mu lediglich von Null verschieden sein Die Aufforderung zur Eingabe der Weckzeit in Sunden und Minuten nimmt unser Programm als Zeichenkette entgegen Da der Z 1013 nicht ber einen eigenen Lautsprecher verf gt nutzen wir den Recorder als Tongeber f r das Wecksignal In diesen Zeilen erfolgt die exakte Nutzerf hrung zur Vorbe reitung des Kassettenrecorders als morgendlicher Ruhest rer Die Zerlegung der Z
28. weiteren Feldelementen Sobald eine Ungleichheit auftritt also noch andere Buchstaben auf dem Spielfeld sind wird der Programmablauf ab Zeile 260 mit dem ersten Wurf eines weiteren Durchlaufes wiederholt Bis zum Programmabschlu k nnen rund 400 aber auch ber 1000 Schritte erforderlich werden Wer gern wetten will soll vor dem Programmstart fragen Welcher Buchstabe gewinnt Programm Simulation des Spiels Leben 2090 Bytes Das Simulationsspiel Life wurde 1970 von einem britischen Mathematiker erfunden Die Begeisterung f r dieses Spiel ist deshalb so gro weil nur mit wenigen und einfachen Spielregeln eine nicht vorhersehbare Zahl verschiedener Entwicklungen auf dem Bildschirm vonstatten gehen kann Im Lebensspiel kommen tote und lebende Zellen vor Im Programm werden tote Zellen als Leerfelder und lebende als Sternchen dargestellt Jede Zelle hat acht gleichberechtigte Nachbarzellen Der gesamte Zellenverband unterliegt einem st ndigen Generationswechsel wobei die folgenden drei Zust nde auftreten k nnen 1 berleben Wenn eine lebende Zelle zwei oder drei lebende Nachbarzellen hat dann f hlt sie sich wohl und bleibt am Leben 2 Tod Hat eine lebende Zelle keinen oder nur einen Nachbarn dann stirbt sie an Vereinsamung Sie stirbt aber auch wenn sie vier oder mehr Nachbarn hat Erstickung 3 Geburt Auf jedem Leerfeld das genau drei lebende Nachbarzellen hat entsteht eine lebende Zelle Besonders wichtig f r den Spie
29. wird durch eine geeignete Durchfahrtkontrolle signalisiert Am einfachsten l t sich das mit einem Schaltgleis realisieren Allerdings k nnen dabei Impulse auftreten die den Gesamtablauf st ren Zusammenst e treten dennoch nicht auf daf r 65 Durchfahrtkontrolle Weiche 1 f r gro en Kreis a Durchfahrkontrolle f r kleinen Kreis gro er Kreisabschnitt schaltbar Lok in Startposition Lok in Startposition Weiche 2 Fahrtrichtung Bild 14 Aufbau der Modelleisenbahn werden wir im Programm sorgen Eleganter und st rsicherer l t sich die Durchfahrt kontrolle mit einer Lichtschranke realisieren Mit dieser Durchfahrtkontrolle ist auch die im Bild 14 angegebene Fahrtrichtung festgelegt Folgende einfache Aufgabenstellung soll realisiert werden Auf den kleinen und gro en Kreisabschnitt wird jeweils eine Lok gesetzt Nach Start des Steuerprogramms wird der zuf llig vorliegende Status der Durchlaufkontrolle abgefragt Je nach Status werden beide Welchen gestellt und ber deren R ckmeldekontakte die korrekte Ausf hrung der Weichenstellung berpr ft Befinden sich beide Weichen z B in Schr gstellung dann wird im kleinen Kreisabschnitt der Strom zugeschaltet und die Lok setzt sich in Bewegung Beim Passieren der Durchfahrtkontrolle wird mit einer Zeitverz gerung der kleine Kreisabschnitt stromlos gemacht worauf die Lok an ihrer Ausgangsposition stehenbleibt Jetzt werden beide Weichen in Geradeausste
30. zu beachten da jegliche Gefahr von Kurzschl ssen durch metallische Schrauben oder Metallfl chen die sich eventuell auch durchbiegen k nnen vermieden wird G 7 0 ti w S2 53 S Bi Bild 1 Z 1013 mit Verkleidung Der sorgf ltigen Vorbereitung der Verbindungskabel ist gro e Aufmerksamkeit zu widmen F r die Zuleitung zum Fernsehger t eignet sich neben dem Koaxialkabel 70 Ohm auch eine einadrige geschirmte Leitung Mikrofonkabel Durch ihre Flexibilit t st rt sie am Arbeitsplatz kaum Ein intaktes Diodenkabel sorgt f r eine st rfreie Verbindung zum Kassettenrekorder F r den Nutzer ist es wichtig zu wissen da das Kassetteninterface des Z 1013 bei Verwendung des 10 K BASIC Interpreters mit dem der Kleincomputer KC 85 1 KC 87 KC 85 2 und KC 85 3 bereinstimmt Dadurch sind Programme wechselseitig einlesbar Ob sie allerdings in jedem Fall genutzt werden k nnen h ngt von weiteren Faktoren ab die noch besprochen werden Der BASIC Interpreter des Z 1013 Eine der am haufigsten verwendeten Anweisungen in der Programmiersprache BASIC ist PRINT Mit ihr werden Texte Rechenergebnisse aber auch spezielle Grafikzeichen auf dem Bildschirm angezeigt Aber print hei t ja eigentlich drucken Als Mitte der 60er Jahre die zwei amerikanischen P dagogen John G Kemeny und Thomas E Kurtz ihren Sch lern die Programmierung von Computern verst ndlich machen wollten erfanden sie dazu die Programmiersprache f r de
31. 01 wird stets der DATA Zeiger auf das erste abgespeicherte Buch siehe Programmzeile 1001 gestellt In diesen Programmzeilen erfolgt die Darstellung des Men s auf dem Bildschirm bei in Zeile 105 Fehleingaben abgewehrt werden Die Fallauswahl in Zeile 100 gibt die Start adressen f r die Suche nach Verfasser nach Titel und nach Sachgebiet an 50 Wenn bei der Suche im Datenbestand kein Buch gefunden wurde dann erfolgt die Abarbeitung dieses Programmteils Der Neustart mit RUN ist vielleicht nicht ganz einsichtig denn das wiederholte Einlesen der Sachgebiete und der Anzahl der B cher k nnte ja entfallen Schwierigkeiten bereitet aber z 8 eine mehrfache Vereinbarung der Felder U Z und V Z Zeile 355 die bei Wiederstart mit der GOTO Anweisung auftreten w rden Um solchen Problemen aus dem Wege zu gehen weitere lauern im sehr knapp bemessenen Textspeicherbereich erfolgt grunds tzlich jeder Wiederstart des Programms mit RUN Sicherlich gibt es einen eleganteren Weg ihn m ge der Leser finden Dieses kleine Unterprogramm unterst tzt das Sparen von der Speicherplatz auf folgende Weise In den DATA Zeilen sind die B cher mit Verfasser Titel und Sachgebiet abge speichert Allerdings werden vom Sachgebiet nur die ersten beiden Buchstaben in den Speicher gebracht siehe ab Zeile 1001 Immer dann wenn eine Zuordnung der ersten beiden Buchstaben des Sachgebietes zum vollst ndigen Wort erforderlich ist z B bei der Bildschirmausgab
32. 17 Lauflicht Hier erfolgt die Programmierung auch als Initialisierung bezeichnet des PlO Schaltkreises mit der BASIC Anweisung OUT Portadresse Inhalt Die Portadresse die auf OUT folgt darf nicht mit einer Speicherplatzadresse verwechselt werden Zu jedem Port geh ren zwei Portadressen eine f r die Steuerworte zur Programmierung des PIO Bausteines und eine f r das eigentliche Datenwort das die entsprechenden Informationen enth lt Der Hersteller des Z 1013 hat f r die Steuerworte die Portadresse 1 und f r das Datenwort die Portadresse 0 festgelegt Wir w hlen die Betriebsart 3 siehe Handbuch Teil 1 Sie erm glicht einen bitweisen Betrieb wobei jedes der Bits 0 bis 7 auf Ein oder Ausgabe programmiert werden kann Diese Betriebsart 3 wird durch OUT 1 207 festgelegt Bei unserem Lauflicht sollen nat rlich alle Bits auf Ausgabe programmiert werden F r die Ausgabe ist dem entsprechenden Bit die Zahl O und f r die Eingabe die Zahl 1 zuzuweisen Da alle Bits Informationen ausgeben sollen folgt in Programmzeile 20 die Anweisung OUT 1 0 In Zeile 25 belegen wir durch OUT 0 0 jedes der 8 Bits des Datenwortes mit einer 0 Damit werden s mtliche LEDs durch die NAND Gatter der zwei D100 Schaltkreise ausgeschaltet In gewohnter Weise wird auf dem Bildschirm das Men zur Auswahl von 5 Lichteffekten geboten Als Abbruchbedingung wird ein Dr cken der Taste G vereinbart Die Wahl eines Zeitfaktors stellt einen kleinen Zusatzservice dar Die Fa
33. 52 Bytes Mit dem CAD Spiel konnten H user nach Wunsch auf dem Bildschirm gebaut werden Jetzt soll der Z 1013 dabei helfen die Muster f r Tapeten Vorh nge und Fu bodenbel ge zu gestalten Allerdings sind wir auf die im Mikrorechnerbausatz vorhandenen Pseudografikzeichen angewiesen da es leider nicht m glich ist eigene Zeichen zu definieren Unser Programm arbeitet nach dem Prinzip des Kartoffeldruckes In einem Men werden acht verschiedene Grundmuster aus dem Grafiksatz des Z 1013 zur Auswahl angeboten Durch kleine nderungen im Programm k nnen nat rlich auch andere 103 Pseudografikzeichen gew hlt werden Ein einzelnes Grundmuster viermal 2 Zeilen 2 Spalten dargestellt um eine g nstige Bildschirmgestaltung zu erreichen Das Men in Bild 23 macht dies deutlich Bild 23 zeigt auch da der Bildschirm zwei Funktionen bernehmen mu Er ist Druckfl che und zugleich Anzeigeeinrichtung f r den Dialog zwischen Nutzer und Computer Die Druckfl che umfa t die Bildschirmspalten 0 bis 23 und die Bildschirmzeilen 0 bis 31 Die Fl che istin 12 kleinere Fl chen unterteilt die alle den gleichen Inhalt haben Der Nutzer IR o 8 oN De prea AAS e a TER uw aj ETITI none DAM BE NM QT abrirme uT AUDMENDT No z GOMem y andor DIN wee 1 m de m sr ae NA pS E AAA A PEA Bild 23 Beispiel zum Programm Fl chengestaltung legt mit seinen Eingaben den Inhalt eines dieser
34. A Zeile abgelegt 89 Die Kennzeichnung der Seiten a b und c des rechtwinkligen Dreiecks wird durch PRINT AT Anweisungen vorgenommen Der Aufbau der Quadrate Uber den Seiten a b und c erfolgt in Anwendung und Kombination der gleichen Arbeitsm glichkeiten wie sie auch in den Zeilen 100 bis 270 zur Realisierung des grafischen Bildaufbaus genutzt wurden Der Berechnungsvorgang wird durch Erfragen der zu berechnenden Seite und die Aufforderung zur Eingabe der Werte der bekannten Seiten eingeleitet Dies erfolgt mit INPUT Anweisungen In den Zeilen 820 880 und 940 finden wir jeweils die umgestellte Formel des Satzes des Pythagoras in BASIC Schreibweise Der Ergebnisausdruck erfolgt in dem vorliegenden Programm ungerundet Durch Einbau des Unterprogramms zum Runden siehe Werkzeugkiste kann das Programm sinnvoll erg nzt und verbessert werden Bei gew nschter Wiederholung einer bung zum Satz des Pythagoras erfolgt ein R ck sprung in Zeile 710 Damit wird nur das aktuelle Fenster innerhalb der WINDOW Festlegung gel scht und der Berechnungsvorgang erneut eingeleitet Ein Neuaufbau der Grafik ist f r das Grundverst ndnis nicht erforderlich und deshalb verzichten wir darauf Programm Computerfragebogen 3412 Bytes Oft werden Frageb gen bei Forschungsauftr gen zur Ermittlung von interessierenden Sachverhalten eingesetzt Damit sind immer Schreibaufwand Papierverbrauch nach tr gliches Ausz hlen der Antworten und gesondertes Bere
35. ABO identisch F r den Z 1013 raten wir von mehr als zwei Zeichen f r einen Variablennamen ab denn die Verwendung l ngerer Variablen namen erh ht die Wahrscheinlichkeit mit BASIC Schl sselw rtern z B DIM OUT DEF ELSE u a ins Gehege zu kommen Verwendet man generell nur ein oder zwei Zeichen f r Variablennamen dann sind folgende Namen verboten da sie zu eben diesen Schl sselw rtern geh ren AT FN GO IF LN ON OR Pl und TO Der Umgang mit Termen ist in BASIC sehr einfach m glich So kann z B problemlos ein komplizierter Term als Argument in einer Funktion stehen ohne da in Hilfsvariablen Zwischenergebnisse abgespeichert werden m ssen Allerdings kann das Vorgehen mit Hilfsvariablen zeiteffektiver sein denn das k rzeste und eleganteste Programm ist nicht immer das schnellste Aber das ist schon eine Sache f r die Spezialisten Auch bei der Verwendung von Termen k nnen wir ganz beruhigt sein Der Interpreter geht bei der Verarbeitung von Termen mit folgender Wertigkeit vor Funktion A Potenzieren mit reellem Exp ie arithmetische Operatoren lt lt lt gt gt gt vergleichende Operatoren NOT AND logische Operatoren OR Stehen mehrere ranggleiche Operatoren zur Bearbeitung an dann erfolgt diese von links nach rechts Bild 2 zeigt da Zeichenkettenkonstanten in Anf hrungszeichen einzuschlie en sind Zeichenkettenvariablen unterscheiden sich von Zahlenvariablen indem
36. B f r einen Vergleich zwischen regelm iger Einzahlung auf ein Sparkonto und f r eine Versicherung von Interesse Nach dieser Umbauidee nun zum vorliegenden Programm Listing 8 Listing 8 Zinseszinsberechnung Nach der Bezeichnung des Programms wird das Standardfenster eingestellt und der Bildschirm gel scht Diese Vorarbeiten werden wir zuk nftig nicht gesondert erw hnen In Zeile 30 wird der Zinssatz Variable ZS zu 3 25 festgelegt Durch die interpretative Arbeitsweise ist es leicht m glich diesen Zinssatz auf einen Traumwert zu erh hen Nat rlich kann der Zinssatz auch ber eine INPUT Anweisung eingegeben werden Hier werden die erforderlichen Eingaben realisiert Wenn das Auszahlungsjahr nicht gr er als das Einzahlungsjahr ist wird durch Zeile 70 eine Berechnung verhindert 37 In Zeile 80 steht die Gleichung zur Berechnung der Zinseszinsen In der Folgezeile wird das Ergebnis auf zwei Stellen nach dem Komma gerundet Diesen Rundungsmechanismus werden wir auch in einigen anderen Programmen verwenden AnschlieBend wird das gerundete Ergebnis auf dem Bildschirm angezeigt Auch dieses Abfrageprinzip nach weiteren Berechnungen wird in einigen anderen Programmen Verwendung finden In Zeile 120 erwartet der Computer die Eingabe des Buchstaben J oder N Wird mit J geantwortet dann erfolgt nach Ausdruck einer Leerzeile auf dem Bildschirm der R cksprung in die Programmzeile 40 wo neue Eingaben werte erwartet werden
37. HANNES GUTZNER GERD HUTTERER D BASIC mit dem Z 1013 VEB ROBOTRON ELEKTRONIK RIESA D digitalisiert U Zander 2011 lt zander felix sax de gt Herausgeber VEB Robotron Elektronik Riesa Redaktion und Gestaltung Bernd Schalwat VEB Robotron Vertrieb Berlin Satz und Druck 52 Nationales Druckhaus Betrieb der VOB National Berlin 1055 AG 706 229 87 00750 Inhalt Der Z1013 ein vielseitiger Mikrocomputer 5 Der BASIC Interpreter des Z 1013 aoaaa a eee ee 7 Die Arbeit mit dem BASIC Interpreter des Z 1013 20 D r Z 1013 Konkret cae Seed 2 ER neck a 23 Die F higkeiten eines Computers 00020022 23 Jetzt nutzen wir den Z 1013 2 ii u 2 2a eh ae ee e 24 Werkzeugkiste f r Software des Z 1013 22 Lo aaa 24 Der Rechenmeister Z1013 22 2 HH non nn 37 Der wortgewaltige Z1013 2 2 2 aaa 47 Der Steuermann 21013 a u 0 u aaa u au aa san a aaa ih 58 Z 1013 als Partner f r Lernen und Forschen aoao a 70 Der Spielmeister Z 1013 4 2 2 su Hs u u 1 BE sa dan a aa 96 Literaturempfehlungen 2 22 2 2 nun nn 112 Der Z 1013 ein vielseitiger Mikrocomputer Computer vervielfachen heute in nahezu allen Bereichen unserer Gesellschaft die sch pferischen F higkeiten der Menschen Mit ihrer Hilfe wird berechnet konstruiert ver messen verwaltet und experimentiert Schnell zuverl ssig exakt und weitere Eigenschaften werden genannt
38. In allen anderen F llen wird mit Zeile 140 der Bildschirm gel scht und die Programmbearbeitung beendet Diese Anweisungen h tten auch als ELSE Zweig in Zeile 130 eingef gt werden k nnen Unser einfaches Programm kann noch verschiedenartig erweitert werden Wie w re es z B mit einer tabellarischen Darstellung bei der sich das Auszahlungsjahr schrittweise erh ht M glich w re auch die Berechnung der Zinseszinsen pro Tag so wie es beim Spar Giro Konto auf der Sparkasse geschieht Aber das wird dann schon ein eigenst ndiges Pro gramm Programm K rner auf dem Schachbrett 318 Bytes Der Historiker al ja qubi berichtet da sich der Erfinder des Schachspieles von der Tochter seines K nigs als Geschenk die Menge aller Weizenk rner erbat die sich ergibt wenn man auf das erste Feld ein Korn auf das zweite zwei auf das dritte vier und so fort legt Bild 11 Anzahl der K rner auf dem Schachbrett Ausschnitt 38 Aber die Getreidevorr te des Landes reichten nicht aus um diesen Wunsch zu erf llen Auch die Umrechnung des Getreides in Gold f hrte zur Ersch pfung aller Sch tze des Landes Der Erfinder verzichtete schlie lich auf diesen Wunsch Die K nigstochter fragte ihn nach der Zahl der K rner die er insgesamt mit den 64 Feldern des Schachbrettes verlangt hatte Wir wollen diese Frage mit dem folgenden kleinen Programm beantworten Das Programm zeigt da der Z 1013 auch mit Kleinbuchstaben umgehen kann Es zeigt al
39. Nach jedem Zug erfolgt der Programmdurchlauf ab Zeile 270 In Zeile 320 wird der aktuelle Wert des im Computer gespeicherten Spielfeldes GF Z J der Variablen MU zugewiesen Das Setzen des Pseudografikzeichens mit der Codezahl MU auf den Bildschirm erfolgt in Zeile 330 mit der PRINT AT Anweisung Zur Vervielfachung des Zeichens werden geschachtelte Laufanweisungen genutzt Es wird gepr ft ob jede Zeile jeweils gleiche Pseudografikzeichen enth lt Wer auch eine spaltenweise Gleichheit zulassen m chte m te das Programm einschlie lich erkl rendem Text entsprechend ndern Die Variable AN z hlt die Versuche Ist die Endebedingung noch nicht erreicht wird in Zeile 460 fortgesetzt 98 Im aktuellen Bildschirmfenster erfolgt die Eingabe der Zeilen oder Spaltennummer und die gew nschte Verschiebungsrichtung Die Zeile 480 sorgt daf r da nur Eingaben f r die Zeilennummern 1 bis 5 und die Spaltennummern 6 bis 10 akzeptiert werden Bei Eingabe einer Zeilennummer wird in einer Schleife zwischen den Zeilen 520 und 550 die Abfrage der Tastatur ber die INKEY Anweisung durchgef hrt Damit werden automatisch nur waagerechte Verschiebungen Kode 9 Kursor nach rechts Kode 8 Kursor nach links zugelassen Das gleiche gilt sinngem f r die spaltenweise Verschiebung Leider besitzt die Flachfolientastatur des Z 1013 nicht die Tasten Kursor nach oben und Kursor nach unten Die Kursorbewegung nach unten wird durch die Kodezahl 10 realis
40. SIN X COS X und TAN X Hierbei ist zu beachten da der Winkel X im Bogenma einzugeben ist Das gilt brigens f r die Mehrzahl der BASIC Interpreter und ist nicht tragisch Wir k nnen getrost den Winkel im Gradma eingeben und ihn z B der Variablen AL zuweisen F r die Berechnung eines Sinuswertes schreiben wir dann PRINT SIN AL P1 180 Die Zahl x ist im BASIC Interpreter des Z 1013 fest gespeichert und kann mit PI aufgerufen werden Als Umkehrfunktion bietet der Interpreter nur die Funktion arc tan in BASIC Schreibweise ATN X Das Ergebnis ist ein Winkel aber wieder im Bogenma Eine seltsame aber wichtige Funktion f r Simulationen und Spiele ist die Funktion RND X F r X wird im allgemeinen der Wert 1 gew hlt Solange X gr er als 0 ist fungiert X als Scheinargument das keinen Einflu auf das von der Funktion gelieferte Ergebnis hat RND 1 liefert eine Zufallszahl Z f r die gilt O lt Z lt 1 Allerdings liefert der Interpreter unseres Z 1013 nach jedem Neustart die gleiche Reihe von Zufallszahlen exakter spricht man von Pseudozufallszahlen was manchen Spieler oder Vokabellerner schon entt uscht haben mag Leider fehlt unserem BASIC Interpreter die Anweisung RANDOMIZE die f r einen zuf lligen Startwert und damit f r eine neue Zufallszahlenreihe sorgt Gibt man f r X bei RND X eine negative Zahl ein dann wird ebenfalls ein neuer Startwert und damit eine neue Zufallszahlenreihe erzeugt Aber diese negative Zahl i
41. V zeigt dem Interpreter das Schleifenende an Sind Verwechslungen mit anderen Laufvariablen ausgeschlossen dann kann in der NEXT Anweisung auch die Laufvariable weggelassen werden Die Z hlschleife eignet sich hervorragend zur Herstellung von Wertetabellen siehe Programm Bremswegtabelle brigens kann auch r ckw rts gez hlt werden Dazu ist in jedem Fall eine negative Schrittweite einzugeben z B FOR 12 TO 10 STEP 1 Aber auch mehrfach ineinander geschachtelte Z hlschleifen sind m glich Das kann z B f r die Belegung oder die Abfrage der im Speicher befindlichen Spielfelder von Nutzen sein Eine Vielzahl von Anwendungs beispielen der Z hlschleife zeigen auch die Programme in dieser Brosch re Als letzte Grundstruktur soll das Unterprogramm genannt werden Bild 7 Immer dann wenn ein bestimmter Programmabschnitt mehrfach ben tigt wird leistet die Unterprogramm technik gute Dienste Man kann ein solches Unterprogramm auch als eigenst ndigen Modul auffassen der z B bestimmte Kursorbewegungen realisiert die wiederholte Erzeugung von Bildschirminhalten organisiert die Anzahl der Tage zwischen zwei Kalenderdaten berechnet oder bestimmte Umrechnungen vornimmt Ein solches Unterprogramm engl subroutine wird mit der BASIC Anweisung GOSUB X aufgerufen wobei zur Zeilennummer X gesprungen wird Allerdings merkt sich in diesem Fall der Interpreter bei GOTO X tut er das nicht die Stellen an der er das Hauptprogramm verlassen
42. an ihren Namen ein Dollarzeichen angef gt wird Ein Aneinanderf gen von Zeichenketten ist mit einem Pluszeichen m glich Dazu folgender Versuch mit unserem Z 1013 Mit LET NA OTTO mit ENTER Taste abschlie en weisen wir einer Zeichenkettenvariablen mit dem Namen NA den Inhalt OTTO zu Anschlie end tasten wir PRINT NA KAR mit ENTER abschlieBen ein Was erscheint auf dem Bildschirm Wir haben soeben mit der Benutzung der LET und PRINT Anweisung etwas vorgegriffen GemaB Bild 3 sollen nun wichtige Kommandos Anweisungen und Funktionen f r die Arbeit mit dem BASIC Interpreter unseres Z 1013 betrachtet werden Kommandos werden in den meisten F llen vom Nutzer ber die Tastatur eingegeben und veranlassen den Computer zur sofortigen Ausf hrung nach Abschlu der Eingabe mit ENTER Taste ENT Anweisungen und Funktionen sind die Hauptbestandteile eines BASIC Progamms dessen einzelne Programmzeilen stets mit einer Zeilennummer beginnen Wird diese Zeilennummer weggelassen dann f hrt der Z 1013 die eingegebene Anweisung oder Funktion nach Abschlu mit ENTER sofort wie ein Kommando aus BASIC KOMMANDOS ANWEISUNGEN FUNKTIONEN NEW LET NA OTTO SQR X CLOAD PRINT NA KAR SIN P1 2 RUN usw CHR amp 128 USW USW Bild 3 Kommandos Anweisungen und Funktionen in BASIC Dies ist nat rlich nicht der Sinn des Umgangs mit einem Mikrocomputer der ja programmgesteuert arbeiten soll Allerdings is
43. ariablen FB die maximale Spaltenzahl MS zugewiesen Nach berpr fung auf eventuelle Rand berschreitung wird die relativ aufwendige Spielregel abfrage eingeleitet Die Abarbeitung der doppelten Laufanweisung von Zeile 270 bis 590 macht die zeitlichen Schw chen eines BASIC Interpreters deutlich denn jede einzelne Zelle mu auf vorhandene Nachbarzellen untersucht werden Die Variable mit dem Namen PU z hlt dabei die Nachbarzellen In Zeile 540 wird bei drei lebenden Nachbarzellen eine Geburt Zeile 560 ausgel st Auch im berlebensfall erfolgt das Setzen einer lebenden Zelle in das entsprechende Feld des Spielfeldes SF Als Ergebnis dieser Spielregelabfrage ist das neue 86 Spielfeld SF entstanden mit dem wieder in das Unterprogramm ab Zeile 1000 gesprungen wird Programm Satz des Pythagoras 1920 Bytes Der Satz des Pythagoras geh rt zu den bekanntesten Lehrsatzen der Mathematik Bild 20 Jeder Schuler lernt inn bei Dreiecksberechnungen anzuwenden Seine mathematische Grundlage besteht darin da sich in einem rechtwinkligen Dreieck eine Seitenlange berech Sh SIMULATION j GALTOM BRETT o gt o o o Lo Le o Bild 20 Satz des Pythagoras nen laBt wenn die L ngen der beiden anderen Seiten bekannt sind Das vorliegende Programm ist die erste Stufe eines Ubungsprogrammes Es bietet die grafische Darstellung des Lehrsatzes sowie die Grundformel und fordert dazu auf wahlweise eine der drei Seiten mit selbstgew
44. as Programm auf einer Magnetbandkassette abgespeichert wurden Vor dem Einlesen eines neuen Programms ist beim Z 1013 stets das Kommando NEW einzugeben damit alle alten Inhalte gel scht werden Zu beachten ist da NEW nicht die Gr e des Zeichenkettenspeichers auf den Standardwert von 256 Zeichen zur cksetzt Sollte die Fehlermeldung OS ERROR pl tzlich bei Programmen auftreten die bisher tadellos liefen dann kann der Anf nger sich mit BYE und J 300 aus der Aff re ziehen Der Fortgeschrittene l t sich mit der speziellen Funktion PRINT Fre l die Gr e des Zeichenkettenspeichers ausgeben und stellt dann mit dem Kommando CLEAR 256 wieder den Standardwert ein CLOAD Programmname Mit diesem Kommando wird ein BASIC Programm in den Z 1013 eingelesen Dazu vergleicht der Computer die letzten acht Buchstaben des vom Nutzer eingegebenen Programmnamens mit dem auf der Magnetbandkassette gespeicherten Programmnamen Bei Gleichheit wird das Programm eingelesen im anderen Fall erfolgt eine Fehlermeldung mit Abbruch der Leseroutine Unser Z 1013 sucht also leider nicht die gesamte Magnetbandkassette nach dem eingegebenen Namen ab Mit der Ausschrift FILE FOUND gibt der Z 1013 an da er das gesuchte Programm gefunden und eingelesen hat 10 FILE Datei Mit der OK Meldung und dem Promptzeichen gt wartet er nun auf weitere Kommandos RUN Beim Z 1013 mit Folientastatur wird das RUN Kommando durch gleichzeitiges Dr cken der Tasten S4 und E
45. chnen der Ergebnisse verbunden Der Z 1013 kann es auch anders Das vorliegende Programm stellt ein erweiterungsf higes Beispiel eines Computerfragebogens dar Ordentliche Nutzerf hrung klare Struktur der Fragen und der entsprechenden antworteninternen Z hlung und Berechnung der statistischen Werte sowie die M glichkeit einer externen Speicherung der ermittelten Daten f r die sp tere Wiederverwendung geh ren dazu Falls unser Z 1013 ber eine Speichererweiterung verf gt kann man statistische Verfahren z B CHI Quadrat gleich an das Programm koppeln F r die konkrete Anwendung des Fragebogenprogramms m ssen die Fragen n durch Sachfragen ersetzt und entsprechende Antwortm glichkeiten ausformuliert werden Listing 25 90 91 Listing 25 Computerfragebogen 92 Das Datenfeld ist vor der ersten Nutzung des Fragebogens zu dimensionieren Der einzugebende Wert entspricht der Anzahl der Fragen im Computerfragebogen Dem Wert J ist die gr te Zahl der vorgesehenen Antwortm glichkeiten innerhalb einer Frage zugeord net Erreicht eine Fragestellung nicht diese h chste Anzahl von Antworten werden daf r im Feld automatisch die Werte auf Null gesetzt ohne da wir dabei etwas zu beachten haben Der angebotene Leistungsumfang wird im Men dargestellt und besteht aus dem Einladen des Datenfeldes einer vorangegangenen Befragung der Durchf hrung und Auswertung einer neuen Befragungsrunde und der M glichkeit die Daten nac
46. d die geforderte statistische Sicherheit von 95 heraus Die Tabelle ist in den DATA Anweisungen der Zeilen 800 bis 850 untergebracht Die Ergebnisse der Berechnungen werden ausgedruckt Zur Kontrolle werden einige Zwischenwerte mit auf den Bildschirm gebracht In den Zeilen 1000 bis 1080 wird ermittelt ob sich die beiden Stichproben signifikant unterscheiden Der wortgewaltige Z 1013 Programm Bibliothek 4722 Bytes So richtig wortgewaltig wird unser Z 1013 erst wenn durch zus tzliche RAM Module eine Erh hung seiner Speicherkapazit t erfolgt F r die Grundversion mit einem frei verf gbaren Speicher von 4846 Bytes lassen sich aber die Grundprinzipien von 47 Programmen die mit Wort und Text umgehen zeigen Das Bibliotheksprogramm Listing 13 schafft in der Grundversion des Z 1013 die Verwaltung von maximal 60 B chern Im Programm kann nach Verfasser Titel oder Sachgebiet gesucht werden Bei der Suche nach dem Sachgebiet erfolgt als zus tzlicher Service f r die gefundenen B cher eine alphabetische Sortierung nach dem Verfasser Diese Sortierung ben tigt allerdings Speicherplatz f r den entsprechenden Programmteil und zwei zus tzliche Datenfelder Bei Streichung dieses Programmteiles kann somit eine gr ere Anzahl von B chern untergebracht werden Wir wollten aber im Hinblick auf die zu erwartend den Erweiterungsbaugruppen f r den Z 1013 dem Leser diesen Sortierzusatz nicht vorenthalten Bei n herer Programmbetrachtu
47. dar ber klarwerden unter welchen Stichworten die Quellen aufgeteilt werden sollen Das vorliegende Beispiel ist nach eigenem Bedarf ab nderbar und erweiterungsf hig Die Stichworte beziehen sich auf Computerliteratur Ihnen wurden B cher und Zeitschriften zugeordnet die sich in den letzten Jahren zum Thema ge u ert haben Listing 15 55 56 Listing 15 Stichwortverzeichnis Zun chst dimensionieren wir ein Zeichenkettenfeld f r die Stichworte Wir haben f r 20 m gliche Stichworte Speicherplatz reserviert obwohl nur 6 Begriffe verwendet werden Damit verf gen wir ber eine Reserve f r eine sp tere eventuelle Erweiterung Das Leistungsangebot unterbreitet die M glichkeit des Eintragens neuer Quellen das Suchen nach vorgegebenem Stichwort und die Beendigung des Programmes ON GOTO bewirkt den Sprung in die richtige Zeile Diese Zeile bewerkstelligt da die bereits eingetragenen Quellen in den DATA Zeilen ab Zeilennummer 1000 aufgelistet werden F r den Vergleich kann man in aufgelisteten Zehnerschritten mitlesen und in der ersten freien DATA Zeile mit dem Neueintrag beginnen Wir geben die DATA Anweisung in Zeile 710 mit RESTORE frei In der Schleife werden durch die READ Anweisung die Zeichenketten der Stichworte gelesen und auf den Bildschirm gebracht Jedem Stichwort wird dar ber hinaus eine Ordnungszahl zu gewiesen die f r den weiteren Arbeitsablauf eine wichtige Rolle spielt Mit der Auswahl des Stichwor
48. e erfolgt eine Aufruf dieses Unterprogramms Zur Suche nach dem Verfasser ist dessen Familienname einzugeben Der Buchbestand wird mit einer FOR NEXT Anweisung durchforstet Dabei werden mit einer READ Anweisung der Verfasser der Variablen X der Titel der Variablen Y und die ersten beiden Buchstaben des Sachgebiets der Variablen Z zugewiesen Falls in Zeile 205 die Z hlervariable Z noch den Wen 0 enth lt dann war die Suche vergeblich Die Suche nach dem Titel erfolgt analog Allerdings unterscheidet sich das Suchprinzip Bei der Suche nach dem Verfasser wurde in Programmzeile 175 eine absolute Gleichheit gefordert Bei der Titelsuche wird die INSTR Anweisung verwendet Zeile 240 Je nach Vollst ndigkeit der Eingabe des Titels wird hier mit entsprechender Weitschweifigkeit gesucht Zun chst werden in einer bersicht alle Sachgebiete auf dem Bildschirm angezeigt In Zeile 320 erfolgt die Belegung der Variablen S mit den ersten beiden Buchstaben des gew nsch ten Sachgebietes Der Suchlauf in den Zeilen 325 bis 340 dient nur der Bestimmung der Anzahl Z der zum Sachgebiet geh renden B cher Mit dieser Variablen Z werden dann die Arbeitsfelder U Z und V Z dimensioniert in der Laufanweisung von Zeile 360 bis 375 werden diese Felder dann mit Hilfe des Unterprogramms ab Zeile 385 gef llt Das alles kostet ebenso wie das folgende alphabetische Sortieren Zeit vor allem bei Best nden von 500 und mehr B chern Nach der alphabetischen
49. e ist der Zeilenz hler Z f r das Gescho kleiner als 27 Bei Ausl sung des Schusses erh lt das Flag den Wert 1 Damit wird die in Zeile 260 eingebaute Zeitverz gerung au er Kraft gesetzt Der Sinn des Ganzen besteht darin da mit und ohne Gescho auf dem Bildschirm ein Entenflug mit gleichem Tempo gew hrleistet ist Das Gescho selbst besteht aus dem Pseudografikzeichen mit der Codezahl 209 Es bewegt sich stets nur senkrecht nach oben Die Treffer berpr fung erfolgt in Zeile 280 Dabei werden nur die beiden unteren Zeichen aus denen die Ente zusarnmengesetzt ist als Treffer akzeptiert Fl gelsch sse also nicht Im Trefferfall wird das Unterprogramm ab Zeile 500 aufgerufen Wurde kein Treffer erzielt dann r ckt das Gescho um eine Zeilenposition weiter nach oben Bei Erreichung des oberen Bildschirmrandes sorgt die Programmzeile 290 f r das L schen des Geschosses vom Bildschirm In Zeile 330 wird gefragt ob die Ente schon 50 Durchfl ge absolviert hat Ist dies nicht der Fall wird der Durchlaufz hler um Eins erh ht der Inhalt der Variablen D auf dem Bildschirm angezeigt und mit Sprung zur Programmzeile 150 ein neuer Durchlauf eingeleitet Durch Verwendung der LEN und STR Funktion wird in Zeile 350 eine rechtsb ndige Darstellung erreicht Dieses Unterprogramm tritt bei erfolgreichem Schu in Aktion Dazu wird zun chst der Trefferz hler P um Eins erh ht und die Gesamtzahl der Treffer auf dem Bildschirm ange zeigt A
50. e Buchstaben VR POLEN CSSR und BRD ersetzt Die Darstellung der Fl sse Elbe und Saale sowie die entsprechende Abfrage erfolgt in der gleichen Weise wie bei der Umri karte Zeilen 100 bis 120 Die Inseln R gen und Usedom werden analog zum Vorgehen der Zeilen 400 bis 560 bestimmt Alle 14 Bezirksst dte sind nacheinander zu bestimmen und in die Karte einzutragen Ihre Positionen werden aus DATA Zeilen ab Zeilennummer 1100 aufgerufen Die Darstellung und Ermittlung der Gebirge unserer Republik erfolgt in vorgegebener Reihenfolge unter R ckgriff auf Zeilen Spalten und Code des Grafikzeichens die durch PRINT AT und CHR gesetzt werden Dieses Unterprogramm liefert blinkende Fragezeichen die sp ter durch kartografische Symbole bzw Bezeichnungen ersetzt werden Mit Hilfe einer Schleifenanweisung wird auf die vorgesehene PRINT AT Position f nfmal im Wechsel ein Fragezeichen und ein Leerzeichen gesetzt Der Pausenrhythmus von ca 0 5 s bewirkt den Blinkeffekt Programm Sternbilddarstellungen 2598 Bytes Dieses Programm liefert ein vielseitig ausbaubares Demonstrations und bungsbeispiel Zum K nnen von Hobby Astronomen geh rt es Sternbilder zu erkennen sie am Firmament richtig einzuordnen und mit den exakten Bezeichnungen zu benennen Das Einpr gen der Lage der Hauptsterne eines Sternbildes zueinander erfordert entsprechende Ubung Hierbei ist der Z 1013 ein guter Helfer Bild 17 Zun chst mu man sich aus der Literatur z B e
51. e allerdings sehr dialektspezifisch oder ger tebezogen sind Genauer gesagt ist es so da die Beliebtheit von BASIC die Computerhersteller dazu bewogen hat dieser Sprache immer mehr attraktive Extras anzuh ngen Diese Extras sind dann selbstredend auf die Computer der jeweiligen Hersteller zugeschnitten 4 Die bei Kleincomputern fast ausschlie lich verwendete interpretative Arbeitsweise mit BASIC ist au erordentlich menschenfreundlich Den Unterschied zwischen der Arbeitsweise eines Interpreters und eines Compilers kann man sich am Beispiel der Arbeit von Sprachmittlern klarmachen Wenn der Sprachmittler in seinem B ro arbeitet dann wird ihm ein vollst ndiger Text mit einer bestimmten Seitenzahl vorgelegt den er in einem St ck bersetzt und dann die bersetzung an den Auftraggeber ausliefert Damit ist die Sache f r ihn erledigt und er kann andere Texte bersetzen oder Urlaub machen Das bedeutet bezogen auf den Computer da die Anwesenheit des bersetzers nicht mehr erforderlich ist er also aus dem Speicher gel scht werden kann Dies ist die Arbeitsweise eines Compilers Der Interpreter hingegen arbeitet wie ein Dolmetscher Der Dolmetscher mu w hrend des gesamtem Gespr ches der beiden Kommunikationspartner anwesend sein und Satz f r Satz bersetzen Dieses scheibchenweise bertragen in eine andere Sprache dauert nat rlich l nger als die Ubersetzung daf r k nnen MiBverstandnisse sofort aus dem Weg ger umt werde
52. e eine Pr fung ob die Realzeit mit der gew nschten Weckzeit bereinstimmt Auch hier wird wieder die Hilfsgr e WU ben tigt Falls die Realzeit sekundengenau mit der Weckzeit bereinstimmt erfolgt die Einleitung des Weckvorganges durch Sprung in die Zeile 1300 Die Warteschleife dieser Zeile ist der eigentliche Taktgeber f r unsere Zeitbestimmung Der Zeitfaktor N wurde f r Stopp und Normaluhr an fr herer Stelle bestimmt Nach jedem unbedingten Sprung in Zeile 1020 wird der Sekundenz hler um den Wert 1 erh ht Das zieht eine Kette nach sich Nach 10 Sekunden mu die Zehnerstelle der Sekundenanzeige um den Wert 1 erh ht werden Gleichzeitig wird nat rlich die Einerstelle des Sekundenz hlers auf 0 gesetzt Nach 60 Sekunden mu der Minutenwert erh ht werden USW 61 Das Wecksignal wird durch die BEEP Anweisung ausgel st Es kann nur durch die Betatigung der ENTER Taste abgestellt werden In dem Fall setzt die Normaluhr ihre Arbeitsweise fort Die Weckfunktion realisiert der Z 1013 mit dem Recorder auch ohne zugeschaltetes Fernsehgerat das man vor dem Schlafengehen besser ausschalten sollte Programm Lauflicht 1231 Bytes Im Programm Digitaluhr wurde der Bildschirm als Uhrendisplay und der Kassettenmagnet bandanschlu zur Tonausgabe genutzt F r das Eingreifen in Prozesse bietet unser Z 1013 aber noch die M glichkeit der Ein und Ausgabe digitaler Informationen Das erfolgt ber den Schaltkreis U 855 kurz PIO Baustei
53. eichenketten der Stunden und Minuten der Weckzeit und ihre Umwand lung in weiterverarbeitungsf hige numerische Werte wird mittels Zeichenkettenfunktionen vorgenommen Es werden Zehner und Einerstellen der Stunden und Minuten gebildet um sie sp ter mit der Realzeit vergleichen zu k nnen Ein Sprungbefehl verweist zur Zeile 600 in der der Stellvorgang der Uhr beginnt 60 F r die Organisation des Zeitstoppens werden alle Stunden Minuten und Sekundenmar ken auf Null gesetzt Das ist die Vorbereitung f r die exakte Zeitnahme Die Bestimmung des Zeitfaktors N in Zeile 500 mu experimentell ermittelt werden Geringf gige Schwankungen von Computer zu Computer k nnen n mlich nicht ausgeschlossen werden Der Zeitfaktor N wird sp ter in Zeile 1119 ben tigt Starten erfolgt mit ENTER Stoppen mit BREAK Die tatsachliche Uhrzeit ist einzugeben Der Zeitfaktor N unterscheidet sich von dem der Stoppuhr Er wurde f r die Normaluhr mit N 260 ermittelt Das Starten der Z 1013 Uhr erfolgt beim Zeitzeichen des Rundfunks oder nach einer anderen genauen Uhr Wenn die Hilfsgr6Be WU 1 initialisiert ist wird die gew nschte Weckzeit zur Kontrolle eingeblendet Der Aufbau der Uhr erfolgt durch PRINT AT und Zuordnung der eingegebenen Stunden und Minuten Selbstverst ndlich l t sich die Uhr auch an jedem anderen Platz des Bildschirmes positionieren Dazu sind lediglich die Zeilen und Spaltenangaben zu ndern Es erfolgt nach jeder Sekund
54. em e Einf gen erledigt f r uns der BASIC Interpreter Damit entstehen aber ungleiche Schrittweiten zwischen den einzel nen Zeilennummern Diesen Sch nheitsfehler korrigiert das Kommando RENUMBER umnumerieren Dazu sind folgende Werte anzugeben AZ Anfangszeilennummer von der ab umnumeriert werden soll EZ Endzeilennummer bis zu der umnumeriert werden soll NAZ Neue Anfangszeilennummer bei der dieser Block beginnen soll SW Schrittweite der Zeilennummern im neuen Block Beim RENUMBER Kommando ist Vorsicht geboten Der Interpreter weist Eigenheiten auf die man genau kennen mu auch der Mensch macht hier schnell einen Fehler Wer auf Nummer sicher gehen will macht vor jedem neuen RENUMBER eine Programmkopie auf einer Magnetbandkassette Dieses Auslagern von Programmen auf eine Magnetbandkassette soll als letztes im Komplex der Kommandos vorgestellt werden CSAVE Programmname Nach Ausl sung dieses Kommandos mit der ENTER Taste wird das im Speicher des Z 1013 befindliche BASIC Programm ber die Diodenbuchse auf den Kassettenrecorder der sich nat rlich in Aufnahmebetrieb befinden mu in Form von akustischen Signalen ausgegeben Vom Programmnamen werden nur die letzten acht Zeichen mit auf das Kassettenmagnetband ausgegeben Nach Abschlu des Auslagerns auf das Magnetband fragt der Z 1013 mit dem Kommando VERIFY verifizieren berpr fen ob der Inhalt der Magnetbandkassette mit dem Speicherinhalt verglichen werden soll de
55. er Versuchspersonen Die ermittelten Daten k nnen f r eine sp tere Weiterverarbeitung oder ein Neueinlesen auf einer Kassette abgespeichert werden Wir verwenden dazu die Anweisung CSAVE 93 DATEN A Es ist sinnvoll das ordnungsgem e Ausladen des Datenfeldes mittels VERIFY zu berpr fen Programm Kurzzeitged chtnis 842 Bytes Mit diesem Programm kann man das Kurzzeitged chtnis testen und trainieren Das Kurzzeitged chtnis geh rt ebenso wie das Ultrakurzzeitged chtnis zu den fl chtigen Informationsspeichern des Menschen W hrend das Ultrakurzzeitgedachtnis seine Informationen nur Bruchteile von Sekunden beh lt kann die Speicherzeit beim Kurzzeitge d chtnis bis zu einigen Minuten betragen In dieser Zeit sind dann auch die Entscheidungen ber ein eventuelles Einspeichern in das Langzeitged chtnis zu treffen Der Computer pr sentiert auf dem Bildschirm kurzzeitig eine Folge zuf llig ausgew hlter Buchstaben oder Ziffern Diese Folge mu anschlie end ber die Tastatur wieder eingegeben werden Bei richtiger Eingabe erh ht der Computer bei der folgenden Auswahl die Anzahl der Zeichen um Eins der Schwierigkeitsgrad erh ht sich also von Schritt zu Schritt Bei falscher Eingabe wird die richtige L sung und die Anzahl der richtig gemerkten Zeichen angezeigt Wer es auf etwa acht korrekt gemerkte Zeichen bringt kann mit seinem Kurzzeitged chtnis zufrieden sein Vielleicht wird sich der eine besser die Buchstabens
56. er vorliegenden Variante k nnen bis zu 300 eingegebene Begriffe alphabetisch sortiert werden Dies l t sich durch eine entsprechende Anderung der DIM Anweisung auch noch erweitern wenn das der verf gbare Speicherbedarf des vorgesehenen Gesamtprogramms erlaubt Diese Entscheidung bleibt dem Nutzer berlassen Die interne Effektivit t des Sortiervorganges erm glicht ein sehr schnelles Arbeiten Dies wird m glich weil das Wortfeld W Z einem Indexfeld A Z auf der Grundlage des ASCIl Codes zugeordnet und nur nach dem numerischen Wert der Zahlen A Z intern sortiert wird Listing 3 Listing 3 Alphabetisches Ordnen von Begriffen Die Eingabe der Stichworte wird organisiert Das Ende des Eingabevorgangs wird durch ein Sternchen CHR 42 angezeigt Hier werden das erste Zeichen der Zeichenkette des eingegebenen Wortes abgetrennt der 32 dazugeh rige ASCII Wert ermittelt und die in der Zeichenkette nachfolgenden weiteren Buchstaben analog untersucht Die vorliegenden Felder werden einer Pr fung unterzogen und die Elemente des Indexfeldes in der Gr e verglichen Falls erforderlich werden die Feldelemente umgestellt Dieses Sortierverfahren erm glicht eine erhebliche zeitliche Straffung Die alphabetische Ausgabe erfolgt auf der Grundlage der festgelegten Reihenfolge der Variablen des Indexfeldes A Z f r die jetzt die zugeh rige Zeichenkette des Wortfeldes W Z abgerufen wird Unterprogramm Runden einer Zahl 274 Bytes
57. ert werden anderenfalls m te die obere Grenze des BASIC Programmspeichers als Dezimalzahl eingegeben werden ist einfach die ENTER Taste zu bet tigen Der Z 1013 teilt uns daraufhin mit da er 4846 Bytes f r die weitere Arbeit bereitstellt die f r BASIC Programme und Daten genutzt werden k nnen Bei Anschlu einer externen Speichererweiterung erh ht sich dieser Wert entsprechend der Zahl der RAM Module Erarbeiten und Nutzen von Programmen Nach dem erfolgreichen Start des Interpreters wird das BASIC mit dem Z 1013 Realit t Unter Ber cksichtigung des Grades der Beherrschung der Programmiersprache k nnen erste kleine Programme selbst erprobt werden Wer sich da noch nicht herantraut sollte vielleicht einfache Programme ausw hlen die auf den folgenden Seiten zur Nutzung angeboten werden und sich in der Eingabe ben Es ist aber auch m glich BASIC Programme f r den Z 1013 die auf einer Kassette gespeichert wurden mit dem Befehl CLOAD Programmname in den Computer einzuladen und abzuarbeiten An dieser Stelle soll darauf hingewiesen werden da ein fehlerfreies Einlesen eines Programms ein sicher funktionierendes Tonbandger t mit konstanter Laufgeschwindigkeit sowie mit sauberem und exakt justiertem Tonkopf erfordert Ein starker Signalpegel bei der Aufnahme eines Programms Handaussteuerung mit relativ weit aufgedrehtem Regler erspart Sorgen beim sp teren Einlesen 20 Verlassen und Neustarten des BASIC Interpreters
58. es individuellen Vokabelheftes es ist also kein Lehrprogramm sondern soll bei der Suche nach Vokabeln helfen Leider hat unser Z 1013 keinen kyrillischen Zeichensatz Es ist auch nicht m glich eigene Grafikzeichen zu definieren mit denen wir dann einen kyrillischen Zeichensatz h tten bauen k nnen Deshalb ist es leider auch nicht m glich Sonderbuchstaben aus anderen Sprachen selbst zu generieren Bei englischen Vokabeln gibt es keine Schwierigkeiten Das Programm wurde so gestaltet da es bei der Suche gleichg ltig ist ob das deutsche oder das englische Wort eingegeben wird Der Z 1013 sucht mit Hilfe der Funktion INSTR den gesamten Datenbestand durch und gibt bei erfolgreicher Suche das entsprechende englisch deutsche Wortpaar aus Wer sch rfer fragen m chte genau ein Wort in einer Sprache m te die Suchroutine entsprechend ndern Listing 14 zeigt das vollst ndige Programm Mit Hilfe dieses Programms ist zun chst die individuelle Vokabeldatei zu erstellen die dann auf einer Magnetbandkassette ausgelagert und gesondert aufbewahrt werden kann 52 Listing 14 Vokabelheft 53 In Zeile 30 wird der Textspeicherbereich der ja die Vokabeldatei aufnimmt auf 1800 Bytes erh ht Das ist das Maximum was unser Z 1013 in seiner Grundversion ohne Speichererweiterung verkraften kann Auch hier ist wie im Programm Bibliothek zu beachten da der Textspeicherbereich nicht auf den Standardwert von 256 Bytes zur ckgesetzt wird
59. et sich daf r an weil man anatomisch g nstig mit beiden Zeigefingern arbeiten kann Vor dem Start ist eine Geschwindigkeitsstufe zu w hlen die dann ber den gesamten Spielverlauf die Schnelligkeit der StraBenbewegung konstant steuert Ein Kilometerz hler registriert exakt die unfallfrei zur ckgelegte Wegstrecke Einhundert Meter entsprechen in unserem Spiel einer Bildschirmzeile Listing 31 109 Listing 31 Rallye Spiel 110 Die bliche Programm berschrift wird durch Sternchen umrahmt die mit Hilfe von zwei Schleifenanweisungen einfach auf den Bildschirm zu bringen sind Die Erl uterung der Spielregeln erfolgt ausschlie lich mit PRINT Anweisungen Die Wahl der Geschwindigkeit wird f r jedes Spiel durch den Nutzer erneut vorgenommen Es stehen f nf Stufen zur Verf gung Der eingegebene Wert G wird in einen Wert GE umgewandelt Das ist erforderlich weil GE sp ter als Faktor in einer Schleifenanweisung ben tigt wird Zur Startvorbereitung wird der Kilometerz hler ber eine PRINT AT Anweisung auf den Wert 0 gesetzt Das Symbolfahrzeug rollt mit konstantem Tempo zum Start In dieser Phase ist noch kein Lenkeinflu gefordert In der Zeile 500 werden die Ausgangsgr en initialisiert B entspricht der Stra enbreite L dem linken Stra enrand und A der Startposition des Fahrzeugs in der Stra enmitte Der rechte Fahrbahnrand ergibt sich aus L B Durch Nutzen der INKEY Abfrage wird das Fahrzeug gef hrt Liegt kei
60. ge Vorstellung der BASIC Anweisungen unseres Z 1013 ab Hier wurde u a die Arbeit mit Zahlen und Zeichenkettenfeldern nicht behandelt Diese und weitere Anweisun gen werden aber in einigen Programmen dieser Brosch re genutzt Deren Erkl rung liefern die im Anhang genannten BASIC B cher BASIC Funktionen Hier sollen die numerischen und die Zeichenkettenfunktionen die der BASIC Interpreter unseres Z 1013 bietet kurz genannt werden Vor allem die leistungsf higen Zeichenketten funktionen sind es die BASIC zu solch einer Beliebtheit verholfen haben Doch zun chst die folgenden numerischen Funktionen ABS X liefert den absoluten Betrag des numerischen Ausdruckes X INT X liefert die n chstkleinere ganze Zahl von X integer ganz So ergibt z B INT 3 14 die Zahl 3 aber INT 3 14 ergibt die Zahl 4 SGN X entspricht der Signumfunktion Sie liefert 1 f r X gt 0 O f r X O und 1 f r X lt 0 SQR X entspricht square Quadrat root Wurzel LN X liefert den nat rlichen Logarithmus von X Die meisten BASIC Interpreter verstehen nur den nat rlichen Logarithmus Wird das Ergebnis durch LN 10 geteilt so ergibt sich der dekadische Logarithmus EXP X entspricht der Exponentialfunktion e Damit kann man sehr leicht die Stellenzahl des Interpreters auskitzeln Bis zu welchem X Wert wird der Interpreter unseres Z 1013 wohl mitspielen An trigonometrischen Funktionen bietet unser BASIC Interpreter
61. gramme miteinander zu verkn pfen wird sich fter ergeben Es ist jedoch nicht ohne weiteres m glich zwei Programme gleichzeitig von der Kassette in den Arbeitsspeicher des Computers zu laden Auch hier hilft ein Griff in die Werkzeugkiste Vorbereitung des ersten Programmes Das Prograrnm soll aus den Zeilen 10 bis 100 bestehen Wir f gen zwei weitere zun chst scheinbar bedeutungslose Zeilen hinzu Dieses Programm wird mit CSAVE Name 1 auf Kassette gespeichert Vorbereitung des zweiten Programmes Das Programm soll aus den Zeilen 1000 bis 2000 bestehen Ein Hilfsprogramm aus 4 Zeilen wird hinzugef gt Dieses Programm wird mit LIST 1 Name 2 1000 extern auf der Kassette ausge lagert Verbinden der Programme 1 und 2 Das erste Programm wird mit CLOAD Name 1 in den Computer eingelesen Das zweite Programm wird mit LOAD 1 Name 2 von der Kassette in den Arbeits speicher des Computers gerufen Die nicht mehr ben tigten Hilfszeilen 110 120 und 2010 werden gel scht Die Identit t der Anweisung GOSUB 1000 in beiden Programmen wurde genutzt um das zweite Programm als Quellprogramm zu speichern und dann in das Arbeitsprogramm einzuordnen Schutz eines Programms Manchmal w nscht sich der Programmierer da seine erarbeitete Software gegen unerlaubtes Kopieren gesch tzt sein soll Das ist m glich wenn man die Adresse von Speicherpl tzen kennt die solchen Schutz organisieren k nnen Ein Programm f r den Z 1013 l
62. gt Die Arbeit mit dem BASIC Interpreter des Z 1013 Von dem was der BASIC Interpreter unseres Computers zu leisten vermag besitzen wir jetzt eine Vorstellung Wenden wir uns der Arbeit damit zu Starten des BASIC Interpreters Der BASIC Interpreter befindet sich auf einer Magnetbandkassette von der er in den Ar beitsspeicher des Z 1013 geladen werden mu Nach der Inbetriebnahme von Computer und Fernsehger t meldet sich der Z 1013 im Grundzustand Auf dem Bildschirm wird sicht bar Das ist die Aufforderung zur Eingabe eines Maschinenprogrammes Der BASIC Interpreter stellt ein solches Maschinenprogramm dar Z 1013 und Recorder werden mit einem Dioden kabel verbunden Dann ist die Interpreterkassette auf die Anfangsmarkierung zu positio nieren Auf der Flachfolientastatur mu die Anweisung zum Einlesen des Interpreters in Monitorkommandos geschrieben werden Sie lautet Der Recorder wird durch Dr cken der Wiedergabetaste gestartet Bei Ert nen des Pilot tones ist die ENTER Taste bezeichnet mit ENT des Z 1013 zu bet tigen Damit beginnt der Ladevorgang der etwa 40 Sekunden andauert Der Kursor bewegt sich dabei nicht Erst nach fehlerfreiem Einlesen des Interpreters springt der Kursor eine Zeile weiter Eine neue Eingabe wird erwartet Mit der Eingabe und Bet tigung der ENTER Taste ist der Interpreter zu starten Er gibt folgende Meldung aus Soll kein Speicherplatz f r ein weiteres Maschinenprogramm reservi
63. h der Befragung extern auf einer Kassette zu speichern Das Einlesen von Daten wird unter Nutzung der Anweisung CLOAD DATEN A organi siert Der Dateiname kann anders gew hlt werden In diesen Zeilen wird der eigentliche Fragebogen untergebracht Jeder gestellten Frage k nnen beliebig viele Antwortm glichkeiten zugeordnet werden Die H chstgrenze daf r legt der Nutzer durch die Eingabe des Wertes in den Zeilen 100 bis 180 selbst fest Der gew hlten Antwort folgt durch ON N GOTO die Erh hung des zugeordneten Feldelementes A I J um den Wert 1 Das Computerprogramm wird gegen ein Abst rzen bei falscher Eingabe gesichert Ein Unterbrechen des Programmablaufes w rde zum Verlust aller im Speicher befindlichen Werte f hren Deshalb werden mit Hilfe der Zeilen 1160 bis 1190 u a nur solche Werte zugelassen die im Feld vereinbart wurden Die im Beispiel vorgesehenen zwei Frage Antwort Komplexe lassen sich auf eine gr ere Anzahl erweitern Der vorgesehene Programmablauf ist ab Zeile 1150 analog zu den Zeilen ab 1100 und 1300 aufzustocken Die aktuellen Werte der Feldelemente A 1 J werden den Fragen und ihren Antwortm g lichkeiten zugeordnet und in tabellarischer Anordnung ausgedruckt Wert 1 Gleichzeitig erfolgt die Berechnung aller zugeh rigen Prozentwerte auf der Grundlage der Gesamtzahl der Probanden Da das Feldelement A 0 0 f r die Frage Antwort Kombinationen nicht verwendet wird dient es als Z hler f r die Menge d
64. hat damit er nach Beendigung seiner Arbeit im Unterprogramm auch mit der nach der GOSUB Anweisung stehenden Anweisung im Hauptprogramm fortsetzen kann Der BASIC Interpreter unterscheidet im Gegensatz zu anderen Programmiersprachen nicht zwischen Variablennamen im Haupt und im Unterprogramm Einmal verwendete Variablennamen bleiben also alle im Haupt und im Unterprogramm gleicherma en aktiv Hier gilt es aufzupassen damit kein Variablensalat entsteht Des weiteren sieht der BASIC Interpreter neben der sowieso vorhandenen Zeilennummer keine besondere Kenn zeichnung der Stelle vor an der ein Unterprogramm beginnt Wir empfehlen deshalb ein Unterprogramm mit REM UP Name des Unterprogramms beginnen zu lassen Damit findet sich der Programmhersteller auch noch nach Monaten in seinem eigenen Programm zurecht Au erdem ist es sinnvoll Unterprogramme auf runden Zeilennummern beginnen zu lassen z B 1000 2000 oder 10000 Jedes Unterprogramm ist mit der Anweisung RETURN abzuschlie en Dies ist f r den Interpreter die Aufforderung in das Hauptprogramm zur ckzukehren und zwar zu der Anweisung die auf die zuletzt ausgef hrte GOSUB Anweisung folgt Damit ist alles wieder im Lot und das Unterprogramm kann erneut von beliebiger Stelle vom Hauptprogramm aus aufgerufen werden brigens sind auch mehrfach ineinandergeschachtelte Unterprogramm aufrufe m glich aber das ist schon wieder etwas f r K nner Wir schlie en damit die unvollst ndi
65. iert Dazu sind auf der Flachfolientastatur die Tasten S4 und R zu dr cken F r die Kursorbewegung nach oben gilt die Kodezahl 11 Das entspricht den Tasten S4 und S Bei ausschlie licher Verwendung der Flachfolientastatur kann nat rlich auch eine andere Tastenbelegung im Programm vereinbar werden F r jede der vier m glichen Verschiebungsrichtungen existiert ein Unterprogramm Jedes Unterprogramm aktualisiert das Spielfeld GF 6 6 gem der erfolgten Eingabe Die Darstellung auf dem Bildschirm wird aber nicht hier sondern im Hauptprogramm vorgenommen Programm CAD Spiel 4537 Bytes Ingenieure Technologen und technische Zeichner nutzen heute in gro em Umfang die F higkeiten von Computern zum effektiven Konstruieren und Projektieren CAD Computer aided design hilft dem Konstrukteur schneller pr ziser und kosteng nstiger zu optimalen Arbeitsergebnissen zu gelangen Das gelingt vor allem deshalb weil dem Computer ingenieurtechnische Routineaufgaben bertragen werden die er mit hoher Zuverl ssigkeit erf llt Wesentlicher Bestandteil einer CAD Konstruktion ist die M glichkeit genormte Konstruktionselemente aus dem Computerspeicher abzurufen und in das zu bearbeitende Projekt einzuf gen Die Idee unseres CAD Spieles besteht darin im Programm f r den Z 1013 wesentliche Bauelemente zu speichern die wahlweise zum Bau eines Hauses zusammengef gt werden k nnen Bild 221 Dieses kleine Spiel erm glicht dem Hobbykonstrukteur be
66. ilung vorgenommen werden soll Schlie lich brauchen wir Platz f r die Landkarte und das Fragenprogramm Den gesamten Text bringen wir in ein Fenster am unteren Bildschirmrand Das ist deshalb gut m glich weil der Z 1013 eben ber 32 Zeilen verf gt F r die Umri karte steht dann noch ein Raster von 24 Zeilen und 32 Spalten zur Verf gung Die Umrisse der DDR ben tigen davon zwar 24 Zeilen aber nur etwa 18 Spalten Wir grenzen das 32X32 Raster des Bildspeichers auf ein 24X 18 Raster ein Darin wird stilisiert der Umri der Republik eingezeichnet Bildschirmplatz f r Bildschirmplatz sind Zeile Spalte und m gliches Grafikzeichen f r den jeweiligen Grenzverlauf zu bestimmen F r das Programm waren f r den Umri allein 74 solcher Zahlentripel zu bestimmen die sp ter in DATA Zeilen abgelegt werden Analog ist f r die Aufbereitung von Fl ssen Gebirgen und St dten zu verfahren Wenn man diese Arbeit hinter sich gebracht hat geht es an das eigentliche Programmieren Wir stellen die Anforderung die Umri karte der DDR und geografische Hauptfakten durch Erfragen Schritt f r Schritt zu vervollst ndigen Richtige Antworten und Fehler sollen getrennt gez hlt und zum Schlu ausgewertet werden Ist alles richtig stellt sich das Computerbild wie auf dem Foto dar Bild 16 Im folgenden nun zum Listing 19 HISSEN ANZAHL DER FRAGEN RICHTIGE AHTWORTEN FALSCHE AHTHORTEN OK Bild 16 DDR Karte aus Pseudografikzeichen 70 71
67. inem Sternatlas Sternbilder heraussuchen und auf das 32X32 Raster unter Beachtung der exakten Abstandsverh ltnisse und winkel bertragen Durch die Auswahl eines geeigneten Grafikzeichens beispielsweise das Zeichen mit dem Code 201 macht man jeden einzelnen Stern ber eine POKE Anweisung auf der ermittelten Bildschirmposition sichtbar Die Anzahl der Sternbilder f r unseren Z 1013 Sternbildatlas wird lediglich durch die Speicherkapazit t begrenzt Diese Grenze 74 k nnte f r die Computergrundvariante je nach Anzahl der einzelnen Sterne im Sternbild bei etwa 20 bis 30 Sternbilddarstellungen liegen e DEUTSCHER NANE SCHHAN LAT HAME CYGHUS JEHTER lt Bild 17 Beispiel einer Sternbilddarstellung Variationsm glichkeiten f r den Computerastronomen sind im vorliegenden Programm enthalten So k nnen durch eine geeignete Auswahl von Grafikzeichen unterschiedliche Sterngr Ben Ber cksichtigung finden Durch das Einzeichnen von Verbindungslinien zwischen den Sternen kann man die Deutung der Sternbildfiguren hervorheben Es ist auch m glich die Hauptsterne eines Sternbildes grafisch besonders zu gestalten und gesondert abzufragen In diesem Sinn soll das vorliegende Programmbeispiel zur Weiterentwicklung anregen Listing 20 75 76 Listing 20 Sternbilder Der Programmtitel wird mit einer entsprechenden Umrahmung dargestellt Um ein eventuelles Drucken des Programms mit einer Schreibmaschine zu erleichtern we
68. ionen In Zeile 190 ist die Anzeigezeit mit 3 10 Sekunden festgelegt Diese Anzeigezeit kann beliebig erh ht oder verk rzt werden Es ist auch m glich das Programm so umzubauen da ber die Anzeigezeit zum Programmbeginn eine w hlbare Schwierigkeitsstufe eingegeben werden kann Die von der Testperson eingegebene Zeichenfolge wird der Variablen AN zugeordnet Diese Zeichenfolge wird in Zeile 250 mit der vom Computer erzeugten Folge verglichen Stimmen beide Folgen berein dann wird der Zeichenz hler um Eins erh ht und der Programmablauf ab Zeile 150 wiederholt Diese Programmzeilen werden dann ausgef hrt wenn eine falsche Buchstabenkombination eingegeben wurde Mit der Anzeige der richtigen Folge und der insgesamt richtig gemerkten Zeichen wird der Programmablauf beendet 95 Der Spielmeister Z 1013 Programm Schiebepuzzle 1811 Bytes Der ungarische Architekt E Rubik hatte vor einigen Jahren die Idee ein flachiges Schiebepuzzle durch ein raumliches zu ersetzen Von diesem Zauberw rfel wurden in f nf Jahren rund 100 Millionen St ck gefertigt Es gibt auch Computerprogramme die einen Zauberw rfel auf dem Bildschirm darstellen und sogar seine korrekte Ordnung vornehmen Da dies aber ziemlich kompliziert ist gehen wir mit unserem Z 1013 wieder auf die Fl che zur ck und stellen ein Schiebepuzzle vor das aus f nf mal f nf Feldern besteht Auf diese Felder werden bei Spielbeginn in Ermangelung von Farbe f nf verschiedene
69. kann Programm Kalenderdaten 2695 Bytes Das Programm verarbeitet Kalenderdaten vom 1 1 1583 an Es basiert auf dem heute noch g ltigen Gregorianischen Kalender den Papst Gregor im Oktober 1582 eingef hrt hat Das Programm berechnet den Wochentag zu beliebigen Daten womit sich alle Sonntagskinder dies nun auch vom Z 1013 best tigen lassen k nnen Das Programm berechnet aber auch die Anzahl der Tage zwischen zwei Daten Die Berechnung unter Einbeziehung der Schalt jahrregeln ist gar nicht so einfach Schlie lich wollen wir das Programm noch gegen Fehl eingaben sicher machen Es soll also z B keinen 29 2 annehmen den es nicht gegeben hat oder nicht geben wird Das macht unser BASIC Programm schon recht umfangreich wie Listing 11 zeigt 42 Listing 11 Kalenderdaten Nach der Dimensionierung erforderlicher Felder wird im Unterprogramm ab Zeile 1000 das 43 Feld WO mit den Wochentagen gef llt Die folgenden Zeilen bringen das Men auf den Bildschirm und die Auswahl wird Uber eine INPUT Anweisung realisieren Dabei werden falsche Eingaben weder 1 noch 2 zur ckgewiesen Das Programm arbeitet mit einem Eingabe und einem Anzeigefenster Das erh ht den Programmieraufwand liefert aber eine gute Bildschirmgestaltung Da in diesem Programm teil zwei Daten zur Berechnung der Tage zwischen ihnen eingegeben werden m ssen ist die Eingabe in den Zeilen 140 bis 210 als Laufanweisung programmieren Allerdings mu hier
70. kt beim Anprall stoppt Dazu mu allerdings ein Zeichen gew hlt werden das sich vom gesteuerten Zeichen eindeutig unterscheidet Wir zwingen den gesteuerten Punkt vor jedem Positionswechsel ber die PEEK Anweisung zu der Frage ob der neue Platz noch frei ist Liegt keine Besetztantwort vor wird die gew nschte neue Position eingenommen Wird ber PEEK eine Besetztmeldung gegeben verbleibt das gesteuerte Zeichen auf seinem alten Platz Damit wird das Verlassen des Bildschirmes unm glich Die Zeilennumerierung des Programms wurde so vorgenommen da es sich nahtlos in das vorangegangene Programm einkoppeln l t Listing 2 Listing 2 Herstellung eines Begrenzungsrahmens Der Rahmen wird gesetzt Dazu werden die Bildspeicherpl tze der Randpositionen durch Schleifenanweisungen ber POKE belegt Diese Zeile stellt ein eigenes Unterprogramm dar Sie erforscht ob die gew nschte neue 31 Steuerposition frei oder besetzt ist Im Besetztfall weist sie die alte Position als neue Position Zu Diese Zeile geh rt in das Steuerprogramm Sie wird hier nur der Vollst ndigkeit halber ausgewiesen Diese Zeile bewirkt nach der INKEY Abfrage die Einleitung des Pr fvor ganges im Unterprogramm der Zeile 1100 Unterprogramm Alphabetisches Ordnen von Begriffen 390 Bytes Dieses Programm kann durch eine entsprechende Gestaltung zum selbst ndigen Pro gramm ausgebaut oder als Hilfsprogramm in eine entsprechende Datei eingebaut werden In d
71. ld 4 angegebenen Ausgabeanweisungen sind die Gegenst cke zu den schon genannten Eingabeanweisungen Bild 5 Programmierbeispiel in BASIC Es mag unwahrscheinlich klingen aber mit den Anweisungen INPUT LET und PRINT k nnen wir schon ein kleines Programm schreiben Ein solch einfaches Programm zeigt Bild 5 Es macht deutlich wie in die INPUT Anweisung auf einfache Weise Text eingebaut werden kann der dann auf dem Bildschirm erscheint Es zeigt weiter da bei der PRINT Anweisung mehrere Ausgaben hintereinander jeweils durch ein Semikolon getrennt ausge f hrt werden k nnen Drei Anweisungen aus diesem Programm haben wir noch nicht erkl rt was hier schnell geschehen soll REM Der auf REM remark Bemerkung in derselben BASIC Zeile folgende Text wird vom Interpreter nicht als Anweisung verarbeitet REM Zeilen dienen also nur zur Erkl rung des Programms oder bestimmter Programmbl cke GOTO X Mit dieser Steueranweisung wird der Interpreter veranla t zur Programmzeile X zu springen und dort mit der Programmbearbeitung fortzusetzen Gut durchdachte BASIC Programme enthalten wenig GOTO Anweisungen ihre Struktur bleibt erkennbar END Damit wird der Interpreter veranlaBt die Programmbearbeitung zu unterbrechen Die END Anweisung ist im Bild 5 nicht erforderlich wir sollten uns ihre Nutzung aber angew hnen Folgen im Programm auf h heren Zeilennummern z B Unterprogramme dann wird mit END ein unerlaubter Hineinsprung verhi
72. lerdings auch da bei der Potenzfunktion Zeichen auf der Tastatur unerwartete Rechenungenauigkeiten auftreten k nnen Bild 11 zeigt das Rechenergebnis f r die ersten 27 Felder wobei im Feld Nr 14 eine Ungenauigkeit von 1 100 auftritt denn 2 8192 Das Bild macht auch das automatische Umschalten des Interpreters auf das Gleitkommaformat mit Angabe eines Exponenten deutlich Weiterhin zeigt das Bild da die Gesamtsumme der K rner bei der Betrachtung von n Feldern gleich der Summe aus der Anzahl der K rner auf Feld n und der Gesamtsumme der K rner bei n 1 Feldern ist Unter diesem Gesichtspunkt h tte die Spalte mit der Anzahl der K rner pro Feld weggelassen werden k nnen Aber beim Vergleich beider Spalten kann man sehen wie dem Interpreter die gro en Zahlen zu schaffen machen Bei 64 Feldern ergibt sich eine Gesamtsumme von rund 10 K rnern Wieviel LKW Ladungen m gen das wohl sein Wir wollen das hier nicht ausrechnen sondern das Programm in Listing 9 betrachten Listing 9 K rner auf dem Schachbrett Der Summenz hler S wird zur Sicherheit in Zeile 30 auf Null gesetzt Der Programmstart mit dem Kommando RUN l scht zwar alle Variablen aber sicher ist sicher denn bei einem unvorhergesehenen Start mit GOTO bleibt der Inhalt der Variablen erhalten Die selbst definierte Funktion P X organisiert die Rechtsb ndigkeit der Ausgabe Eine hnliche Funktion zur kommab ndigen Darstellung werden wir auch in anderen Programmen
73. llung gebracht und die korrekte Ausf hrung berpr ft Anschlie end erh lt der gro e Kreisabschnitt Strom so da sich diese Lok in Bewegung setzt Beim Passieren der Durchfahrtkontrolle im gro en Kreisabschnitt wird dieser mit Zeitverz gerung abgeschaltet Das Spiel wiederholt sich nun von neuem mit der Lok im kleinen Kreisabschnitt F r solch eine einfache Schaltung braucht man nat rlich nicht unbedingt einen Computer und wir reizen damit unseren Z 1013 als Steuermann l ngst nicht aus Vielleicht vermittelt unser Beispiel aber den Modelleisenbahnern einige Anregungen vor allem was die Sicherheit zur Vermeidung von Ungl cken angeht Sollte eine Weiche mechanisch versagen risikofreudige Modellbahner k nnen eine der Weichen auch gewaltsam festhalten dann gibt das Programm eine Fehlermeldung aus und unterbricht den Gesamtablauf Die Hardwarel sung zum Stellen der Fahrstr me und Weichen und zur R ckmeldung der Weichenstellungen und Durchfahrtkontrollen k nnen wir hier aus Platzgr nden nicht vorstellen Wir haben dazu Schaltungen benutzt die an der P d Hochschule N K Krupskaja Halle Sektion Polytechnik Wissenschaftsbereich Methodik erarbeitet worden sind Nach Kl rung der Hardwarebedingungen gilt es nun ber die Softwarebedingungen nachzudenken Das 8 Bit breite Datenwort des PIO Bausteines werden wir so program mieren wie es Bild 15 zeigt Zur Ausgabe also zum Stellen von Weichen und zur 66 Schaltung von Fahrstr
74. llunterscheidung wird in Programmzeile 100 mit der ON GOTO Anweisung realisiert Im Fall 1 werden durch die geradzahligen Potenzen von 2 die einzelnen Bits von 2 bis 2 angesprochenen und ber die OUT Anweisung auf das Datenwort mit der Portadresse 0 gebracht Die Zeile 215 steuert das Tempo ber eine FOR NEXT Schleife Die Verwendung der PAUSE Anweisung ist hier nicht sinnvoll dan Bild kleinste Zeiteinheit mit rund einer zehntel Sekunde leider zu grob ist Mit dieser Tempozeile kann noch vielf ltig experimentiert werden bis hin zu zuf llig ausgew hlten Zeiten f r jedes Bit also jede LED 7 64 In Zeile 220 wird Uber die INKEY Anweisung die Tastatur abgefragt Falls durch Dr cken der Taste G ein Abbruch gew nscht wird erfolgt mit OUT 0 0 ein Ausschalten aller LEDs und ein R cksprung in das Eingabefenster Der Programmaufbau basiert auf dem Fall 1 Hier wurde durch zus tzliche R ckw rtsz h lung ein Lauf der Lichtpunkte in beiden Richtungen programmiert Der Fall 3 liefert durch die zuf llige Ansteuerung einer bestimmten Anzahl von LEDs ein Lichtchaos Wer es nicht so chaotisch mag kann sich an dieser Stelle nat rlich auch einen 8er oder 6er W rfel bauen der die erw rfelte Augenzahl f r eine gewisse Zeit anzeigt An die vom Jahrmarkt her bekannten Lichterketten erinnert auch der Fall 4 Es wird eine Lichterkette aus zunehmender Anzahl von wandernden Lichtpunkten erzeugt Die Lichter kette ist durch die Zahlenwerte i
75. lverlauf ist es alle drei Regeln gleichzeitig f r alle lebenden und toten Zellen anzuwenden Bei einem handbetriebenen Lebensspiel sind zun chst alle Zellen auf Tod oder berleben zu untersuchen Die sterbenden Zellen d rfen aber zun chst nur durchgestrichen werden denn alle Zellen m ssen anschlie end auf eine m gliche Geburt hin untersucht werden Zum Schlu wird die entstandene Generation dann auf ein neues Blatt bertragen Das ist m hsam zum Gl ck haben wir unseren Z1013 in dem wir aber neben dem Spielfeld SF noch ein Zwischenfeld ZF aufbauen m ssen Listing 23 Bild 19 zeigt ein Beispiel der Entwicklung mehrerer Generationen aus einer Grundfigur 83 Bild 19 Einige Generationen aus dem Spiel Leben 84 85 Listing 23 Simulation des Spiels Leben Beim Z 1013 ohne 1260 IF NOT ist die Simulation des Lebensspiels auf Darstellungen von 17 Zeilen und 17 Spalten eingeschr nkt Zeile 30 Hier mu sogar noch der Textspeicher bereich auf 56 Zeichen reduziert werden Zeile 20 um keine Probleme mit dem Speicherplatz zu bekommen Bei vorhandenen Speichererweiterungsmodulen w re eine Erweiterung auf 32 Spalten und unter Ber cksichtigung des erkl renden Textes auf etwa 25 Zeilen sinnvoll Hierzu m ten die Programmzeilen 30 100 300 1040 1190 und 1200 entsprechend ge ndert werden Vielleicht findet der Leser aber generell eine sparsamere Programmversion denn bei der Dimensionierung in Zeile 30 gehen wir
76. men mit Strings wird nur das Pluszeichen zum Aneinanderf gen von Zeichenketten akzeptiert Zahlen werden im Interpreter des Z 1013 mit einer Genauigkeit von sieben Stellen verarbeitet wobei sechs Stellen angezeigt werden Der Computer ben tigt intern f r solch eine Zahl 4 Bytes Damit kann er Zahlen im Bereich von etwa 10 38 bis 10 39 verarbeiten Wenn zur Darstellung auf dem Bildschirm die sechs Stellen nicht ausreichen wird wie das auch von Taschenrechnern her bekannt ist auf die Gleitkomma darstellung mit Angabe des Exponenten umgeschaltet brigens arbeitet der Interpreter des Z 1013 generell mit Gleitkommazahlen ebenso wie die Kleincomputer der KC Serie eine gesonderte Vereinbarung zur Arbeit mit ganzen Zahlen ist also nicht m glich Zur komfor tablen Darstellung auf dem Bildschirm fehlt leider auch die PRINT USING Anweisung aber hier werden in den Programmen einige Tricks helfen Bild 2 weist neben Zahlenkonstanten noch Variablen und Terme aus Variablen sind Platzhalter oder Schubfacher deren Inhalt beliebig geandert werden kann Jede Variable hat einen Namen also eine Bezeichnung des Schubfaches Dieser Name beginnt stets wie es Bild 2 zeigt mit einem Buchstaben Es k nnen ein zweiter Buchstabe oder eine Ziffer folgen Diese zwei Zeichen interpretiert unser Z 1013 als Namen der Variablen Eventuell vor handene weitere Zeichen werden zwar mitgeschleppt aber nicht ausgewertet So sind f r den Computer die Namen AB ABBA und
77. mer das Dezimalsystem Die Basiszahl ist 10 und darauf bezieht sich alles Die Basiszahl des Hexadezimalsystems ist 16 Beim Umwandeln m ssen wir also genau berechnen welche Zahl in einem Zahlensystem der im anderen entspricht Die folgende Routine hilft dabei Zu beachten ist da im Hexadezimalzahlbereich die Ziffern O bis 9 nicht ausreichen und deshalb die Buchstaben A bis F hinzugezogen werden m ssen Listing 6 35 Listing 6 Umwandlung Dezimalzahl in Hexadezimalzahl Die Hexadezimalkette wird fur den Anfang auf eine inhaltslose Kette gesetzt Es erfolgt die Eingabe der zu berechnenden Zahl Die Bildung einer Hilfszahl R ist n tig um nachfolgend mit dem ASCII Code die Bildung einer Zeichenkette aus Ziffern und Buchstaben bewirken zu k nnen Durch die Kombination von Bedingungen in bezug auf die Hilfszahl R wird ber die CHR Funktion aus dem ASCIlI Code der entsprechende Hexadezimalwert zwischen O und 9 bzw zwischen A und F ausgew hlt Falls die eingegebene Dezimalzahl gr er als 15 ist wiederholt sich dieser Vorgang unter Verringerung des Wertes von D solange bis D einen Wert angenommen hat der kleiner als 15 ist Damit ist der Berechnungsvorgang beendet und die Hexadezimalzahl wird gedruckt Unterprogramm Umwandlung einer Hexadezimalzahl in eine Dezimalzahl 204 Bytes Dieses Programm liefert die Umkehrung der vorangegangenen Beschreibung Jetzt wird aus der Zeichenkette einer Hexadezimalzahl ber die Werte des ASCII
78. mm werden erl utert Es ermittelt den CHI Quadrat Wert f r zwei unabh ngige Stichproben mit maximal 30 Merkmalsauspr gungen Motivgruppen addiert die Stichprobenumf nge und bestimmt das Signifikanzniveau unter Zugrundelegung von 95 statistischer Sicherheit Der Z 1013 kann die gestellte Aufgabe nur dann zuverl ssig l sen wenn die erfa ten Zahlenwerte zuvor nach einem vorgegebenen Schema geordnet werden Dieses Schema wird dargestellt 46 Die ermittelten Werte m ssen zur statistischen Bearbeitung in einer exakten Reihenfolge in einer DATA Anweisung abgelegt werden Diese Eingabeanweisung wird erl utert die Aufforderung zum Schreiben der Zeile 510 DATA stellt also die Aufforderung zu einem Eingriff in das Programm selbst dar Deshalb wird der Programmdurchlauf in Zeile 495 zun chst beendet und sp ter durch die Eingabe von RUN 500 fortgesetzt Den Abschlu eintrag in die DATA Anweisung bilden zweimal die Werte 1 Das CHI Quadrat Verfahren wird nach der Formel von BRANDT SNEDECOR durchgef hrt Wenn die READ Anweisung in Zeile 530 einen Wert liest der kleiner als Null ist 1 beendet Zeile 540 das Einlesen und erteilt den Auftrag zum Beginn des Rechenvorganges Die Anzahl der Merkmalsauspr gungen Motivgruppen des auszuwertenden Experiments ist mittels einer INPUT Anweisung einzugeben Aus einer Standardtabelle f r CHI Quadrat Werte sucht der Computer den Vergleichswert f r die entsprechende Anzahl von Motivgruppen un
79. mmando wird die gesamte BASIC Zeile mit der auf DELETE folgen den Zeilennummer gel scht deshalb Vorsicht Mit der Angabe DELETE erste Zeilen nummer letzte Zeilennummer kann auch ein ganzer Bereich gel scht werden deshalb erh hte Vorsicht EDIT Das Wort edit bedeutet herausgeben Das Kommando EDIT X gibt die BASIC Zeile mit der Zeilennummer X auf den Bildschirm aus damit darin Ver nderungen vorgenommen werden k nnen So kann mit den Kursortasten jede Position in der Zeile erreicht werden 11 Das L schen von Zeichen erfolgt mit dem Kommando DEL Tasten S4 und Platz f r Einf gungen wird mit dem Kommando INS Tasten S4 und B geschaffen delete l schen insert einf gen Ist die Korrektur abgeschlossen dann wird durch Dr cken der ENTER Taste die Ubergabe der korrigierten Zeile in den BASIC Programmspeicher bewirkt Zugleich erscheint die n chste BASIC Zeile auf dem Bildschirm Jetzt gilt es aufzupassen da der Z 1013 immer noch im EDIT Modus ist Soll in dieser Folgezeile keine Korrektur vorgenommen werden dann ist dieser Modus mit dem Kommando STOP auf schnellstem Wege zu verlassen Es ist zu beachten da die Benutzung des EDIT Modus das L schen aller vorher definierten Felder und Variablen mit sich bringt RENUMBER AZ EZ NAZ SW BASIC Programme werden ja deshalb in 5er oder 10er Schritten der Zeilennummern geschrieben damit bei Programmkorrekturen noch einige Programmzeilen eingef gt werden k nnen Das ordnungsg
80. mpfohlen werden Mit geringem Aufwand l t sich der Bausatz in einen funktionst chtigen Computer verwandeln Das Verbinden der Leiterplatte mit der Flachfolientastatur durch ein anzu l tendes Flachbandkabel und der Aufbau eines Netzteiles mit 12 V Wechselspannung und 20 VA abzugebender Leistung sind die Anforderungen an den polytechnisch vorgebildeten Nutzer des Z 1013 Nach sorgf ltiger Ausf hrung dieser Arbeiten ist der Mikrorechner bereits arbeitsf hig Er versteht die Maschinensprache und auf dieser Grundlage aufgebaute Interpreter Dazu geh ren einer f r Tiny BASIC etwa 3 KBytes und einer f r komfortables BASIC von etwa 10 KBytes Speicherumfang das mit dem BASIC der anderen Kleincomputer der DDR weitgehend bereinstimmt Unser Z 1013 dankt uns den Schutz vor Staub und mechanischer Besch digung durch zuverl ssiges Arbeiten Der beste Schutz ist ein ent sprechendes Geh use aus Holz Plast oder Metall Dem Einfalls und Gestaltungsreichtum des Hobbybastlers sind daf r keine Grenzen gesetzt wenn er einige Hinweise beachtet Alle Steckverbindungen m ssen gut zug nglich sein Eine W rmeableitungsm glichkeit ber dem Festspannungsregler ist unbedingt anzuraten Die Flachfolientastatur sollte in einer ergonomisch etwa 20 Grad g nstigeren Schr glage angeordnet werden Durchsichtiges Material f r die Deckplatte erh lt den reizvollen Blick auf die schaltkreisbest ckte Leiter platine Bild 1 F r die Bodenplatte ist unbedingt
81. multipliziert Die Addition von 0 5 organisiert das Auf bzw Abrunden nach den blichen Regeln Durch die Anwendung der INTEGER Funktion wird dann alles abgetrennt was hinter den gew nschten Kommastellen noch an Ziffern steht Die Anzahl der Elemente der Zeichenkette Z wird ermittelt Mit Hilfe von Stringfunktionen bilden wir aus der Zeichenkette Z die Zeichenkette des Er gebnisses E Wir trennen die Zeichenkette indem wir den Wert KS rechts von der L nge L der Zeichenkette abtrennen und ein Komma dazwischen setzen Mit der Zeichenkette E haben wir scheinbar schon das gew nschte Ergebnis Die Zeichenkette k nnten wir jedoch nicht verwenden wenn weiter damit gerechnet werden soll Deshalb wird die Zeichenkette E zum Schlu wieder in eine numerische Konstante E verwandelt Dazu wird die VAL Funktion genutzt Unterprogramm Formatierte Ausgabe von Zahlen 238 Bytes Der BASIC Interpreter bewirkt mit der PRINT Anweisung immer eine linksb ndige Ausgabe auf dem Bildschirm Der Computer kann nicht so ohne weiteres erkennen da wir Zahlen lieber nach Dezimalstellen geordnet untereinander stehen haben wollen Bei der Wiedergabe von drei Zahlen entsteht z B folgendes Bild F r eine bessere berschaubarkeit und Weiterverarbeitung w nschten wir jedoch die Zahlen so Dazu verhilft uns das folgende Unterprogramm das sich einzeln aber auch kombiniert mit dem UP Runden einer Zahl gebrauchen l t Listing 5 34 Li
82. n denn der Dolmetscher Interpreter ist ja immer anwesend Diese sofortigen Programmkorrekturm glichkeiten sind ein riesiger Vorteil f r den praktischen Umgang mit Mikrocomputern Deshalb wird hier auch mit Vorliebe ein BASIC Interpreter genutzt obwohl es z B f r den Personalcomputer PC 1715 auch einen BASIC Compiler gibt Als Markierung einzelner oder mehrerer durch einen Doppelpunkt getrennte Anweisungen werden in BASIC Zeilennummern verwendet Mit einer GOTO Anweisung kann jede vorhan dene Zeilennummer angesprungen werden Dies schw rt bei ungen gendem Durchdenken des Gesamiproblems einen Programmsalat herauf der keinerlei Programmstruktur mehr erkennen l t Genauso wie ein vern nftiger Lieferwagenfahrer nicht wild drauflosfahrt sondern zuvor den Tourenplan durchdenkt sollte auch der BASIC Programmierer nicht sofort Tastatur und Computer qu len sondern sich des manchmal beschwerlichen Weges vom Problem zum Programm erinnern der stets in folgenden Schritten zu absolvieren ist Problemstellung Problemanalyse Algorithmus mit Programmablaufplan oder Struktogramm Programmierung Programmtest und Programmdokumentation Die wichtigsten Handwerkszeuge sind also zun chst nicht der Computer sondern Bleistift Papier und ein Radiergummi f r den Anf nger nat rlich noch entsprechende Literatur Wir k nnen hier aus Platzgr nden keinen BASIC Lehrgang vermitteln Dazu ist mittlerweile eine Vielzahl guter BASIC B cher erschienen a
83. n Anf nger Damals arbeiteten die meisten Computer noch mit Bedienschreibmaschinen anstelle des Bildschirmes Der Nutzer mu te seine Eingaben ber diese Schreibmaschine t tigen ebenso gab der Computer seine Ergebnisse auf dieser Schreibmaschine aus deshalb des PRINT f r die Ausgabe Die heutige Arbeit am Computer mit Tastatur und Bildschirm ist nat rlich angenehmer vor allem leise und papiersparend Sie setzt aber heute wie damals entsprechendes Wissen ber die verwendete Hard und Software voraus Als Hardware steht uns der Z 1013 zur Verf gung als Software ein leistungsf higer BASIC Interpreter der mit dem Interpreter des KC 87 weitgehend bereinstimmt Zum Thema Software sollten wir aber noch ein paar Worte vorausschicken Die Programmiersprache BASIC ist eine von rund 30 Programmiersprachen auf der Welt Verleiht man den Dialekten der einzelnen Sprachen allein BASIC kann mit etwa 50 Dialekten aufwarten eine Eigenst ndigkeit dann erreicht man die Zahl 1000 Trotz dieser gro en Anzahl von Programmiersprachen nimmt BASIC insbesondere f r den Klein und Personalcomputer in der Hand des Nichtinformatikers nach wie vor eine Favoritenrolle ein Das hat u a folgende Ursachen 1 Die Bildschirmausgabe l t sich mit den verf gbaren Anweisungen auf einfache Weise sehr ansprechend gestalten 2 BASIC bietet leistungsf hige Funktionen zum Umgang mit Texten 3 BASIC enth lt vielf ltige Grafik Farb und Tonausgabeanweisungen di
84. n den DATA Zeilen festgelegt Rechnet man diese Dezimalzahlen in Dualzahlen um So wird deren Bedeutung Sofort klar Damit sind auch beliebige Anderungen m glich Im Fall 5 laufen Lichtpunkte vom u eren Rand zur Mitte Auch dies wird ber Zahlenwerte in einer DATA Zeile realisiert Ein Sch nheitsfehler im Gesamtprogramm u ert sich im Zeitfaktor Trotz gleichen Faktors werden die F lle 1 bis 5 unterschiedlich schnell durch laufen Das liegt am unterschiedlichen Zeitbedarf unseres BASIC Interpreters bei der Abarbeitung der einzelnen Programmteile Hier k nnte man sich mit einem Korrekturfaktor f r Q aus der Aff re ziehen Programm Modelleisenbahn 1263 Bytes Bei dieser kleinen Modelleisenbahnsteuerung gehen wir einen Schrie weiter indem ber den PIO Baustein nicht nur Informationen ausgegeben sondern auch im Datenwort anliegende Informationen z B ber eine erfolgreich gestellte Weiche abgefragt und ausgewertet werden Dazu mu der PIO Baustein entsprechend programmiert werden Vorher sind aber noch einige berlegungen ber die Hardwarevoraussetzungen anzustellen Bild 14 zeigt den Aufbau der Modelleisenbahn Durch zwei Weichen werden ein gro er und ein kleiner Kreis gebildet Die Weichen sind mit R ckmeldekontakten ausgestattet Der kleine und der gro e Kreisabschnitt sind mit Unterbrechungsgleisen versehen Jeder Abschnitt kann ber ein Relais Fahrstrom erhalten Die Einfahrt einer Lok in einen der beiden Gleisabschnitte
85. n genannt PIO parallel input output Dieser Baustein hat zwei Datenkan le auch Tore oder Ports genannt mit einer Breite von je 8 Bit Das Port B ben tigt der Z 1013 f r sich selbst mit dem Port A k nnen wir experimentieren Dazu sind aber einige Hard und Softwarevoraussetzungen zu erf llen Die Belegung der PIO Buchse kann dem Handbuch Teil Il B f r den Z 1013 entnommen werden Diese Buchse liefert uns die Anschl sse f r Masse 5 V und die Datenleitungen f r Bit O bis Bit 7 Die brigen Anschl sse werden f r das Lauflicht nicht ben tigt Als Lauflicht Hardware ben tigen wir folgende Bauelemente 8 LED vom Typ VQA 10 oder hnlich LED lichtemittierende Diode 8 Widerst nde 470 Ohm 2 Schalkreise D 100 1 Steckverbinder dreireihig zu je 5 Anschl ssen Bit 1 i ebenso wie f r Bit O Bit 7 Bild 13 Schaltung f r ein Lauflicht mit 8 LED Die daraus aufgebaute Schaltung zeigt Bild 13 Beim Aufbau der Schaltung sind die LEDs in der richtigen Reihenfolge von Bit 0 bis Bit 7 anzuordnen anderenfalls entsteht mit dem hier vorgestellten Programm nur Lichtsalat Nat rlich sind auch andere Schaltungsvarianten m glich allerdings sollte der Hobby Elektroniker die geringe Belastbarkeit der PIO Aus g nge beachten 62 Die Softwarevoraussetzungen sind Bestandteil des folgenden Programms Listing 17 das ebenfalls nur einen Vorschlag mit verschiedenen Lauflichtvarianten darf stellt 63 Listing
86. ndert brigens bewegt sich unser Miniprogramm im Bild 5 in einer ewigen Schleife Wie kommen wir aus dieser Schleife heraus Grundstruktur Struktogramm BASIC Anweisungen unvollst ndige Alternative vollst ndige BG gt 600 IF THEN ELSE Alternative SV BG 5 Fallauswahl Was soll bearbeitet werden is 2 Biz ON GOSUB Bild 6 Alternativen und Fallauswahl in BASIC Bild 6 pr sentiert das Salz in der Suppe der Programmierung Diese W rze liegt in den Verzweigungen Dazu geh ren zun chst die unvollst ndige und vollst ndige Alternative die unser Z 1013 mit den entsprechenden BASIC Anweisungen versteht IF wenn THEN dann ELSE sonst Der Computer entscheidet hier stets zwischen ja oder nein wahr oder falsch Diese Anweisungen haben wir auch in unseren Programmen h ufig benutzt Bei dem Gedanken da auch pfiffige Schachprogramme im Grunde nur mit solchen Alternativen funktionieren wird vielleicht der Geistesaufwand bei der Programm herstellung ann hernd deutlich Daran ndert auch die Tatsache nichts da Schachpro gramme aus Gr nden der Rechenzeit in Assembler geschrieben werden da Assemblerpro gramme 50 bis 100mal schneller als BASIC Programme sind Soll einer aus mehr als zwei Programmpfaden ausgew hlt werden dann ist die Fallaus wahl Bild 6 anzuwenden Vor allem zum Programmbeginn wenn der Nutzer in einem Men w hlen kann was er bearbeiten m chte wird dieses Auswahlp
87. ne Tastatureingabe vor verbleibt das Fahrzeug bei fortgesetzter Bewegung in seiner urspr nglichen Position obwohl sich der Fahrbahnrand ver ndert Durch die Tastatureingaben P bzw W wird das Fahrzeug gesteuert An dieser Stelle sei auf das Programm Punktsteuerung Werkzeugkiste f r Software des Z 1013 verwiesen Der vorher bereitgestellte Wert GE wird jetzt f r die geschwindigkeitsregulierende Schleife ben tigt ber den Zufallsgenerator wird die nderung des Stra enverlaufes bewirkt Durch die zuf llige Bestimmung der Werte 0 1 oder 2 von denen dann der Wert 1 subtrahiert wird erh lt man die Stra enf hrung nach links geradeaus oder nach rechts Das Verlassen des Bildschirms wird verhindert indem m gliche Werte L lt 1 bzw L B gt 30 in konstante Werte 1 bzw 30 umgewandelt werden Im Falle einer Karambolage mit der Stra enleitplanke wird die Ber hrungsstelle optisch angezeigt und das Spiel beendet Dieses Unterprogramm liefert die aktuelle Kilometeranzeige Das Prinzip entspricht dem Programm der Digitaluhr 111 Mit der vorliegenden Brosch re wurden Anregungen zur unmittelbaren Nutzung des Z 1013 gegeben F r alle interessierten Leser gibt es eine F lle von Literatur zur weiteren Besch ftigung mit der Programmiersprache BASIC und dem Mikrocomputer Eine kleine Auswahl der Literatur die in der DDR vertrieben wurde und in den Bibliotheken zur Verf gung steht soll empfohlen werden Boon K L BASIC f r Tischcom
88. ng S4 S4 A S4 B 4 C S4 D S4 E S4 F S4 G S4 J S4 K S4 P S4 Q S4 R S4 S S4 T S4 U S4 V S4 W DEL Alpha INS ESC LIST RUN CONT Grafik CL LN STOP Nutzung der Grafiksymbole Codierung 31 17 26 Bedeutung Zeichen l schen Alphaumschaltung Einf gen eines Leerzeichens auf die Stelle vor der aktuel len Kursorposition Escape listet BASIC Programm startet BASIC Programm Programmfortsetzung Umschaltung auf Grafik Eingabezeile l schen Programmabbruch Kursor nach links Kursor nach rechts Kursor nach unten Kursor nach oben Bildschirm l schen Enter Kursor an den Zeilenanfang Kursor an das Zeilenende Die Umschaltung S4 G macht es m glich 119 verschiedene Grafiksymbole vgl Anlage 7 des Handbuches Teil II B zum Z 1013 direkt ber die Bet tigung der zugeordneten Tasten auf den Bildschirm bzw in ein BASIC Programm zu bringen Mit Hilfe dieser Symbole die sich nat rlich auch ber die CHR Funktion mit Angabe des entsprechenden Zahlenwertes der ASCII Tabelle aufrufen lassen ist es m glich Zeichnungen Bilder und Spielfiguren in gro er Vielfalt zu konstruieren 22 Der Z 1013 konkret Die Fahigkeiten eines Computers Fur den optimistischen Zeitungs und Zeitschriftenleser kann ein Computer fast alles Da wird von Computern berichtet die das Wetter vorhersagen Musikst cke analysieren Autos Flugzeuge Triebfahrzeuge und Schiffe rentabel steuern Weinf lschungen nachweisen 80
89. ng wird klar da die B cher in DATA Zeilen abgelegt sind Dies ist eine M glichkeit zur Arbeit mit Datenbest nden Hier ist zu beachten da die in DATA Zeilen abgespeicherten Daten Bestandteil des BASIC Programms sind und nicht ohne weiteres ge ndert werden k nnen Aus diesem Grund ist 48 49 Listing 13 Hausbibliothek solch eine Vorgehensweise f r die F hrung eines sich st ndig ndernden Datenbestandes z B Lagerwirtschaft nicht sinnvoll In diesen F llen wird mit eigenst ndigen Dateien gearbeitet die nicht zum BASIC Programm geh ren aber ber das Programm eingelesen werden k nnen Diesen Fall untersuchen wir beim folgenden Programm bei dem es um Vokabeln geht Hier werden einige Vorarbeiten getroffen In Zeile 10 vermindern wir den Textspeicher bereich auf 26 Byte und gewinnen damit noch kostbare 230 Byte f r das Programm Hier gilt es zu beachten da der Textspeicherbereich im Programm nicht wieder auf 256 Byte entspricht dem Standard nach Einschalten des Interpreters heraufgesetzt wird Auch das NEW Kommando stellt den Bereich nicht zur ck In den Programmzeilen 20 bis 50 werden die Sachgebiete der Textvariablen A 1 ber eine READ DATA Anweisung zugeordnet Das ist allerdings nicht speicherplatzsparend denn die Sachgebiete stehen nun sowohl im Programm als auch im Datenfeld A 1 In Zeile 60 wird von DATA Zeile 1000 die Anzahl der B cher im vorliegenden Fall 60 St ck gelesen Mit RESTORE 10
90. nktionen Z X und S X organisieren das korrekte Setzen der Buchstaben B G R und V mit Hilfe der PRINT AT Anweisung auf dem Bildschirm Mit Hilfe der durch TAB und AT erweiterten PRINT Anweisungen wird der gesamte Bildschirm aufgebaut Als Umrahmung wird das Pseudografikzeichen mit dem Code 199 benutzt Die Zufallsverteilung der vier Buchstaben auf jeweils neun Felder erfolgt mit Hilfe des Unterprogramms ab Zeile 1000 In Zeile 1020 wird gefragt ob das ausgew hlte Feld schon belegt ist Falls ja wird die Zufallsauswahl wiederholt Hier wird das Feld erw rfelt dessen Buchstabe zur Vernichtung vorgesehen ist In diesen Programmzeilen erfolgt sowohl die Aktualisierung des Spielfeldes FF im Computer als auch die Spielfelddarstellung ber PRINT AT Anweisungen auf dem Bildschirm Die Zeile 290 nimmt Bezug auf die Eingabe in Zeile 90 wo nach einem gew nschten Eiltempo gefragt wird Der Anf nger sollte sich erst einmal in Zeitlupe das Vorgehen ansehen deshalb die Pause zu 5 Sekunden In Zeile 280 wird das ausgew hlte Feld durch ein danebengesetztes Sternchen kenntlich gemacht Eine blinkende Darstellung des Feldes w re sch ner gewesen aber das kann der Interpreter des Z 1013 nicht 82 Hier werden Auswahl und Anzeige des Feldes organisiert dessen Buchstabe in das Leer feld kopiert werden soll Auch hier erm glicht die Zeitlupe eine ausgiebige Beobachtung Die Endbedingung vergleicht den Inhalt des ersten Feldelementes von FF mit allen
91. nn beide enthalten ja jetzt das BASIC Programm F r diese berpr fung ist das Magnetband zur ckzuspulen und mit der Wiedergabetaste zu starten Der 1013 vergleicht nun Magnetband und Speicherinhalt Eine OK Meldung gibt an da die berpr fung erfolgreich verlaufen ist der Z 1013 kann also getrost ausgeschaltet werden Einen guten Kassetten recorder und m glichst neue Magnetbandkassetten sollte man schon haben Bejahrte Kassetten gen gen zwar f r Hits nicht aber f r Bits BASIC Anweisungen Wer selbst Programme schreiben will mu die Anweisungen und Funktionen kennen die der benutzte BASIC Interpreter bereith lt Wir k nnen hier nicht alle Anweisungen des BASIC Interpreters unseres Z 1013 nennen oder gar erkl ren und verweisen deshalb nochmals auf das Programmierhandbuch zum KC 85 1 und KC 87 Bei der Betrachtung wichtiger Anweisungen gehen wir von allgemeing ltigen Grundstrukturen der Programmierung aus Das ffnet zugleich den Blick f r andere Programmiersprachen denn sie alle arbeiten mit diesen Grundstrukturen Lediglich die Anweisungen tragen andere Bezeichnungen W hrend z B in BASIC die Bildschirmausgabe mit der PRINT Anweisung erfolgt wird in FORTH je nach Version z B ein Dezimalpunkt geschrieben Alle Programmiersprachen realisieren mit mehr oder weniger Variantenvielfalt folgende Grundstrukturen Eingabesequenz Zuweisungssequenz Ausgabesequenz Alternative Fallauswahl Schleife Unte
92. nseres Z 1013 auch weggelassen werden In unseren Programmen sind beide Varianten zu finden Der Anf nger sollte das LET besser schreiben um sich den Sinn dieser Zuweisung vor Augen zu halten So stellt in der BASIC Anweisung LETA 3 W1 4 7 das Gleichheitszeichen eben kein Gleichheitszeichen im mathematischen Sinne dar brigens ein Sch nheitsfehler von BASIC Das Zeichen besagt vielmehr da der rechts vom Gleichheitszeichen stehende Ausdruck berechnet und der links vom Gleichheitszeichen stehenden Variablen zugewiesen wird In dieser Weise funktionieren auch Durchlaufz hler z B LETN N 1 Die Ausgabesequenz Bild 4 wird in BASIC durch folgende Anweisungen realisiert PRINT CSAVE OUT POKE DOKE Die PRINT Anweisung bietet viele sch ne M glichkei ten der Bildschirmgestaltung die hier nicht alle genannt werden k nnen Auch in unseren Programmen haben wir z B die PRINT AT Anweisung mit der Zeichen auf beliebige Zeilen und Spaltenpositionen des Bildschirms gesetzt werden k nnen benutzt Allerdings ist dabei zu beachten da unser Z 1013 seine urspr ngliche Kursorposition beibeh lt Weitere Gestaltungsm glichkeiten in der aktuellen Ausgabezeile bieten die Anweisungen PRINT TAB X und PRINT SPC X brigens kann beim Eintippen eines Programms f r das Wort PRINT ein eingegeben werden Das spart Tipparbeit und der Interpreter ist so freundlich diese Fragezeichen im Listing dann durch das Wort PRINT zu ersetzen Die weiteren in Bi
93. nterbrechungsgleis bis zum Stillstand in Gleismitte realisiert Bei etwas Mu e kann das Programm auch in Gedanken durchfahren werden So zieht z B die Lok aus dem kleinen Kreisabschnitt ihre Bahn solange in der Anweisungsfolge eine wahre Aussage vorliegt F r viele industrielle Steuerungsaufgaben reicht die Abarbeitungsgeschwindigkeit eines BASIC Interpreters nicht mehr aus Solche Steuerprogramme werden dann in der Assemblersprache des jeweiligen Prozessors geschrieben da diese Programme bis zu 50 ja sogar 100mal schneller abgearbeitet werden k nnen Bei der Assemblerprogrammierung kann man auch direkt mit den einzelnen Bits umgehen siehe Handbuch Teil 1 Der Vorteil unseres BASIC Programms ist aber dessen bersichtlichkeit und leichte nderbarkeit und darauf kommt es dem Einsteiger ja an 69 Z 1013 als Partner fur Lernen und Forschen Programm Meine Heimat DDR Wissenstest 4347 Bytes Der Nachweis geografischen Wissens erfreut sich bei jung und alt groBer Beliebtheit Kein Kreuzwortr tsel will darauf verzichten Mit unserem Z 1013 m chten wir geografische Fakten bildhaft darstellen und durch erl uternde Texte bzw Fragen systematisieren Vom Heimatkreis bis zur Weltkarte k nnen entsprechende Ideen entwickelt und umgesetzt werden Im vorliegenden Beispiel wollen wir Kenntnisse ber unser Heimatland erarbeiten Der Vorbereitungsaufwand ist allerdings nicht gering Zun chst ist zu berlegen wie die Bildschirmaufte
94. o er Anzahl der Kugeln wird in den Auffangbeh ltern eine Binomialverteilung erkennbar Das vorliegende Programm simuliert den Kugeldurchlauf durch ein GALTON Brett Die auf dem Bildschirm m gliche aber tats chlich zu geringe Zahl der rollenden Kugeln macht die Binomialverteilung zwar in der Tendenz immer sichtbar im Einzelfall aber manchmal nicht so eindeutig beweiskr ftig wie auf Bild 18 Nun zum Listing 21 78 Ok EE MULATION GALTOM BRETT 50009000000 Bild 18 Darstellung eines Galton Brettes 79 Listing 21 Galton Brett J Die Durchlaufgeschwindigkeit der Kugeln ist vor Versuchsbeginn ver nderbar Die Geschwindigkeit hat Einflu auf die Dauer des Gesamtexperimentes Ihre Beeinflussung erfolgt durch eine PAUSE Anweisung in Zeile 370 Durch die individuelle Wahl einer Geschwindigkeitsstufe von 1 schnell bis 8 langsam bestimmt der Nutzer den zeitlichen Verlauf des Experimentes Der Auffangbeh lter wird ber einzelne POKE Anweisungen aus entsprechend positionier ten Grafikzeichen zusammengesetzt Seine Konstruktion wird sinnvollerweise zuvor auf dem 32X32 Raster erprobt Das Nagelbrett wird analog zum Auffangbeh lter errichtet Es ist zu ber cksichtigen da die N gel so gesetzt werden da sie den gleichen Abstand in der Reihe aufweisen die Nagelzahl in jeder weiteren Reihe nach unten um zwei erh hen und jeweils links und rechts neben dem Nagel Ausweichm glichkeiten f r die Kugel bieten In
95. os verteilt Da der Z 1013 keine Farben verarbeiten kann nehmen wir dazu die Buchstaben B G R und V Im ersten Schritt werden die Koordinaten eines Spielfeldes mit dem Computer erw rfelt Die auf diesem Spielfeld befindliche Farbe wird entfernt und vernichtet Im zweiten Schritt werden die Koordinaten eines weiteren Spielfeldes zuf llig ermittelt Falls sich das soeben entstandene Leerfeld ergibt mu der Wurf wiederholt werden Auf dem im zweiten Schritt erw rfelten Spielfeld befindet sich also eine bestimmte Farbe Sie wird auf dem Spielfeld belassen diese Farbe aber zugleich auf das Leerfeld gesetzt das nach dem ersten Wurf erzeugt wurde Dieses Vorgehen wird solange wiederholt bis sich auf dem Spielbrett nur noch eine Farbe befindet Man mag zun chst kaum glauben da es mit diesen einfachen Spielregeln hier wirklich ein Ende gibt Listing 22 81 Listing 22 Simulation einer Auslese Zunachst werden erforderliche Vereinbarungen vorgenommen Zur Auswahl von Zufalls zahlen wird die W rfelfunktion ZU X definiert Hier ist zu beachten da in Ermangelung der RANDOMIZE Anweisung der Computer nach Neustart des Interpreters stets mit der gleichen Anfangszahl beginnt und damit auch die gleiche Zufallszahlenreihe erzeugt Das l t sich z B durch eine Eingabe von RND neg Zahl vor dem Programmstart verhindern siehe Bedienhandbuch Eine elegantere Methode wird im Programm Schiebepuzzle vorgeschlagen Die selbst definierten Fu
96. platz 4951 Die negativen Zahlen r hren daher da der Bildwiederholspeicher im hexadezimalen Adressenbereich E000 bis EFFF oder im dezimalen Bereich 60416 bis 61439 liegt Dieser Adressenbereich kann durch negative ganze Zahlen adressiert werden die die Differenz zwischen der Speicherplatzadresse und 2 65536 darstellen 24 10 11 12 138 29 30 31 0 1 5120 we 5088 Ma 5056 ami 5024 4992 4960 4928 4896 4864 4832 4800 4768 4736 4704 4672 4640 4608 4576 4544 4512 4480 4448 4416 4384 4352 4320 4288 4256 4224 4192 4160 4128 Bild 9 Raster zum Bildwiederholspeicher des Z 1013 M glichkeiten mit PRINT Mit den unterschiedlichen Formen der PRINT Anweisung wird immer ein Bildschirmplatz angesprochen PRINT Ausdruck beginnt die Darstellung auf dem Bildschirm am linken Zeilenrand auf der Spaltenposition 0 Die Anweisung nutzt maximal alle 32 Pl tze der Zeile zum Schreiben Dann erfolgt automatisch der Sprung an den linken Rand der n chsten Zeile Auch eine neue PRINT Anweisung bewirkt immer den Sprung an den Anfang der folgenden Zeile PRINT TAB Y Ausdruck schafft die M glichkeit zum tabellarischen Darstellen In der Zeile wird das erste Zeichen des Ausdruckes in die Spaltenposition Y geschrieben Der Zeilenwechsel erfolgt genauso automatisch wie bei PRINT Ausdruck Durch die fortgesetzte Verwendung von PRINT TAB entsteht die Tabellenform 25 PRINT AT X Y Ausd
97. puter Pflaum Verlag KG M nchen 1983 B ckner U Kleincomputer leicht verst ndlich VEB Fachbuchverlag Leipzig 1986 Cla en L Oefler U Wissensspeicher Mikrorechnerprogrammierung VEB Verlag Technik Berlin 1986 Franke K Einf hrung in die Mikrorechentechnik VEB Verlag Technik Berlin 1986 Groh J Kleincomputerfibel Akademie Verlag Berlin 1986 Gutzer H Das kann der Mikrocomputer Urania Verlag Leipzig Jena Berlin 1985 Heblik P Wissensspeicher BASIC Volk und Wissen Volkseigener Verlag Berlin 1986 Hopfer R Mikrorechentechnik allgemeinverst ndlich VEB Fachbuchverlag Leipzig 1985 Hopfer R M ller R BASIC Einf hrung in das Programmieren VEB Fachbuchverlag Leipzig 1986 M ller S Programmieren mit BASIC VEB Verlag Technik Berlin 1986 Strelocke K Hoffmann D Die Dialogprogrammiersprache BASIC Verlag Die Wirtschaft Berlin 1981 Werner D BASIC f r Mikrorechner VEB Verlag Technik Berlin 1986 Periodika und Zeitschriften edv aspekte Verlag Die Wirtschaft Berlin Jugend und Technik Serie ABC der Mikroprozessortechnik Hefte 1 84 bis 9 86 Verlag Junge Welt Berlin Kleinstrechner Tips VEB Fachbuchverlag Leipzig MEGA BIT Verlag Junge Welt Berlin MP Mikroprozessortechnik VEB Verlag Technik Berlin Rechentechnik Datenverarbeitung Verlag Die Wirtschaft Berlin 112
98. r und den K nstler Nun kann nat rlich nicht jeder Computer alles K nnen sie aber das gleiche tun dann meist nicht in gleicher Qualit t So haben z 8 die Hersteller von Mikrorechnerbaus tzen und von Kleincomputern vor allem aus konomischen Erw gungen heraus an ausgew hlte 23 Einsatzfalle vorrangig gedacht Folglich fehlt unserem Z 1013 der Umgang mit Pixeln Vollgrafik und mit Farbe aber alle anderen genannten Fahigkeiten lassen sich nutzen DaB dies schon mit wenig Aufwand eine Masse Computerwissen und Computerspaf zu vermitteln vermag sollen die folgenden Programme zeigen Jetzt nutzen wir den Z 1013 Werkzeugkiste fur Software des Z 1013 Das Vertrautsein mit der technischen Bedienung des Z 1013 und den Grundlagen der h heren Programmiersprache BASIC sind unerl liche Voraussetzungen um den Computer erfolgreich nutzen zu k nnen Bei der praktischen Arbeit merkt man allerdings schnell da dies allein noch nicht ausreicht Die Erfahrung im Umgang mit dem Mikrorechner bringt jedem Nutzer t glich neue Erkenntnisse wie etwas so oder besser zu machen ist Probleme einer optimalen und dennoch gut berschaubaren Bildschirmgestaltung Arbeit mit POKE und PEEK immer wieder ben tigte Progammroutinen und vieles andere m chte jeder Anwender f r das eigene Programmieren effektiv beherrschen Einige dieser Kniffe packen wir in unsere Werkzeugkiste Bildschirmgestaltung Der Bildschirm den unser Z 1013 anspricht teil
99. r zweigeschossigen Haus zu w hlen Nach der Wahl ordnet das Programm jeder Etage eine entsprechende Zeilen nummer ZE f r die obere Begrenzung des Hausgeschosses zu Diese Zeilennummer bestimmt im Unterprogramm die Position auf der mit dem Zeichnen der Seitenw nde begonnen wird Bei zweigeschossiger Bauweise wird das Unterprogramm doppelt aufs gerufen Der Aus und R cktausch des Wertes f r ZE macht sich erforderlich weil auf diese Werte beim Bau des Daches noch einmal zur ckgegriffen wird Analog zur Vorgehensweise der Zeilen 200 bis 260 erfolgt sukzessive die Fortf hrung des Baugeschehens durch entsprechende Auswahl der Dachform der Haust r des Fensters in der Haust r der Fenster der ersten Etage der Fenster der zweiten Etage sowie eines Anbaues neben dem Haus F r die Fenster ist jeweils die Angabe eines Punktes P x y erforderlich Dieser Punkt bestimmt die Lage von Zeile und Spalte der linken oberen Ecke des zu zeichnenden Fensterelementes Immer ein Bauelement wird bersichtlich in einem Unterprogramm abgelagert In jedem Fall beginnt ein neues Unterprogramm mit einer Tausender Zeilennummer Der Aufbau der Konstruktionselemente erfolgt durch die Kombination von Bildschirmpl tzen und Grafikzeichen die mittels entsprechender Programmschleifen aneinandergereiht werden Bei umfangreicheren Konstruktionen werden Zeile Spalte und Grafikcode in DATA Anweisungen abgelegt und durch READ eingelesen Programm Fl chengestaltung 10
100. rden hier wie auch in anderen Programmbeispielen Grafikzeichen im ASCIl Code angegeben und ber die CHR Anweisung dargestellt Die Zeichenketten f r die Namen von 1 Sternbildern und f r h ufig wiederkehrende Begriffe werden als Strings vereinbart Das spart Schreibarbeit und erh ht die bersichtlichkeit im Programm Die Namen der Sternbilder werden sinnvollerweise sowohl mit der deutschen als auch der lateinischen Bezeichnung angegeben Das angebotene Men organisiert zwei Arbeitsweisen Sternbilder k nnen wahlweise mit ihrem Namen vorgestellt oder im Quizverfahren auf den Bildschirm gerufen werden Exaktheit der Bezeichnungen und g nstiger Bildaufbau sind f r ein bungsprogramm wesentlich Innerhalb des Men s erfolgt der Aufruf der Unterprogramme ab Zeile 1000 die die Sterne zeichnen Die Zeilen 560 bis 600 dienen lediglich der Herstellung eines gro en Fragezeichens auf dem Bildschirm ber den Zufallsgenerator wird die Auswahl der m glichen Sternbilder im Quizverfahren 77 organisiert Bei der Erweiterung des vorliegenden Programms im Sinne einer gr eren Anzahl von Sternbildern ist zu beachten da die m gliche Anzahl der zahlen und die ONN GOSUB Anweisung der tats chlichen Zahl der Sternbilder angepa t wird Nach Aufruf des Sternbildes und Eingabe des entsprechenden Namens durch den Nutzer bewertet der Computer die Richtigkeit Deutsche und lateinische Bezeichnungen werden parallel als Antwort akzeptiert Die S
101. reits 320 Varianten f r die Gestaltung der Bauzeichnung Mit geringem Aufwand k nnen weitere Erg nzungen oder Ab nderungen vorgenommen werden Knobellustige Z 1013 Fans k nnen sich ein hnliches CAD Spiel zum Bau eines Schiffes eines Autos oder einer Werkzeugmaschine ausdenken Auch Entw rfe von elektronischen Schaltungen oder Planentw rfe f r die Kleingartengestaltung w ren m glich Zun chst sind wesentliche variierbare Elemente des Projektes zu bestimmen Bei un serem Haus sind das Etagenzahl Dach Fenster und T rformen sowie m gliches Neben gela Mit Hilfe unserer 32 x 32 Rasterfolie und der verf gbaren Grafikzeichen bauen wir jedes Teil f r sich zusammen und legen es in einem Unterprogramm ab Zur besseren Erkenn barkeit wird dabei durchg ngig mit der PRINT AT Anweisung gearbeitet und auf das speicherplatzsparende POKE verzichtet Die Konstruktion wird ber die Men m glichkeiten des Hauptprogramms so gef hrt da ber entsprechende Aufrufe der Unterprogramme Schritt f r Schritt eine Komplettierung des Bauwerkes vorgenommen wird Listing 28 99 DAS HAUS IST FERTIG gt EMTER lt Bild 22 Beispiel zum CAD Spiel 100 101 102 Listing 28 CAD Spiel Zur Nutzerf hrung wird eine knappe Darstellung der M glichkeiten des Spielprogrammes gegeben Die Grundmauer wird ber das Unterprogramm ab Zeile 1000 fest vorgegeben Der Baumeister hat die Gelegenheit zwischen einem ein ode
102. rinzip benutzt Die zugeh rige BASIC Anweisung lautet ON K GOTO Z1 Z2 ZN Ist der Wert der Variablen K 1 dann wird zur ersten angegebenen Zeilenummer Z1 gesprungen bei K 2 zur Zeilennummer Z2 usw Diese Fallauswahl kann auch zum Sprung in ausgew hlte Unterprogramme ON K GOSUB Z1 Z2 ZN benutzt wert den Unterprogramm siehe Bild 7 Eine weitere gro e Gruppe von Grundstrukturen sind die Schleifen oder Zyklen Die erste Art ist die sogenannte Abweisschleife in PASCAL mit WHILE DO BEGIN END die im BASIC Interpreter des Z 1013 ebenso wie bei den meisten anderen Kleincomputern nicht enthalten ist Hier l t sich mit IF THEN eine Ersatzkonstruktion schaffen Auch die Nichtabweisschleife in PASCAL mit REPEAT UNTIL ist nicht verf gbar kann aber ber IF THEN realisiert werden Die dritte Art von Schleifen ist die Z hlschleife ber die auch der Interpreter unseres Z 1013 verf gt Bild 7 zeigt das Struktogramm und die zugeh rige BASIC Anweisung Betr gt die gew nschte Schrittweite 1 dann kann der Zusatz STEP 1 Grundstruktur Struktogramm BASIC Anweisung Z hlschleife F r v 10 bis 60 mit Schrittweite 5 2 a Bremsweg s gt N chstes v Unterprogramm fi Kursorbewegung i GOSUB REM UP KURSORBEWEGUNG RETURN Bild 7 Z hlschleife und Unterprogrammtechnik in BASIC 16 auch weggelassen werden In der Anweisung FOR V 10 TO 60 wird V als Laufvariable bezeichnet Die Anweisung NEXT
103. rm 636 Bytes Dieses Unterprogramm ist notwendiger Bestandteil vieler Spielprogramme bei denen Bewegungsabl ufe durch den Nutzer selbst gesteuert oder Figuren auf dem Bildschirm gezeichnet werden sollen Die neun Tasten des rechten oberen Teils der Folientastatur stellen das Steuerpult dar Bild 10 Die Lage eines Buchstabens zum Buchstaben N bestimmt die Bewegungsrichtung F It v Bild 10 Steuerpult f r Spiel und Zeichenprogramme e le im Zz llo le Unter Ausnutzung der Aufteilung des Bildspeichers in Speicherpl tze ist jede Ver nde rung eines Bildpunktes durch entsprechende Addition bzw Subtraktion zum urspr nglichen Speicherplatz so zu organisieren da acht verschiedene Wechsel m glich werden Das Setzen von Z 0 in Zeile 1310 gew hrleistet da zuf llige andere Tastaturber hrungen im Steuerablauf unber cksichtigt bleiben Das Programm startet grunds tzlich mit der Funktion Steuern d h nach vollzogenem Platzwechsel des Zeichens wird der vorhergehende Bildschirmplatz gel scht Die Umschaltung auf die Funktion Zeichnen erfolgt durch 29 Tastatureingabe P Nach dieser Anweisung wird ein L schen des fr heren Bildschirm platzes nicht wirksam die fr heren Bildschirmpositionen des Zeichens verbleiben auf dem Terminal und die fortgesetzte Zeichenposition stellt sich als Zeichnung dar Eine Tastatureingabe H schaltet auf Steuern zur ck Mit der Tastatureingabe wird das Programm beendet Listing 1
104. rprogramm Grundstruktur Eingabesequenz gt Massem m INPUT INKEY DATA READ RESTORE CLOAD INP PEEK DEEK Zuweisungssequenz Kraft F m a Ausgabesequenz Kraft F gt PRINT CSAVE OUT POKE DOKE Bild 4 Eingaben Zuweisungs und Ausgabesequenzen in BASIC Die ersten drei Grundstrukturen sind im Bild 4 zusammengefa t Das Bild enth lt die entsprechende Darstellungsform in einem Struktogramm Auf die Darstellung als Programm ablaufplan wurde verzichtet da bei der strukturierten Programmierung ohnehin dem Strukto gramm die Zukunft geh rt F r die Eingabesequenz in der Programmmiersprache BASIC gibt es folgende Anweisungen INPUT INKEY READ CLOAD INP PEEK DEEK Der Anf nger beginnt in den meisten F llen mit der INPUT Anweisung zu arbeiten Die INKEY Anweisung fragt die Tastatur ab und ist deshalb f r Aktionsspiele von gro er Bedeutung Wir haben sie auch in unseren Spielprogrammen verwendet Die READ Anweisung wurde im Bibliotheksprogramm benutzt w hrend das Einlesen einer Datei mit CLOAD im Vokabelprogramm zur Anwendung kommt Immer dann wenn es um Steuerungsaufgaben geht wird mit der INP Anweisung der Inhalt eines Eingabeports eingelesen Das Lesen des Inhalts spezieller Speicherzellen von uns z B f r die Kursorzeilen und spaltenposition genutzt erledigen die Anweisungen PEEK und DEEK Die Zuweisungssequenz wird in BASIC mit der Anweisung LET realisiert Das Wort LET kann beim Interpreter u
105. ruck verwirklicht den Beginn der Darstellung des Ausdruckes genau auf Bildschirmplatz der X ten Zeile und der Y ten Spalte PRINT CHR N ist in allen vorgenannten Versionen einsetzbar Statt eines konstanten Ausdruckes bewirkt die CHR Funktion die Darstellung des Zeichens das im ASCIIl Code den Wert N besitzt Die Anwendung der CHR Funktion ist besonders f r die Verwendung der Pseudografiksymbole zu empfehlen PRINT SPC Z Ausdruck erm glicht es vor den Ausdruck oder auch zwischen zwei Ausdr cke genau Z Leerzeichen zu setzen M glichkeiten mit WINDOW WINDOW X1 X2 Y1 Y2 legt innerhalb des 32 X 32 Rasters ein aktuelles Ausgabefen ster fest Das Fenster wird durch die Bildschirmpl tze der Punktpaare P1 x1 y1 P2 x1 y2 P3 x2 y1 und P4 x2 y2 begrenzt Nachfolgende PRINT und INPUT Anweisungen beziehen sich ausschlie lich auf das aktuelle Fenster Lediglich die PRINT AT Anweisung machte eine Ausnahme Mit ihrer Hilfe kann man auch nach der Festlegung des Fensters den gesamten Bildschirmbereich ansprechen Die Anweisung WINDOW ohne Angabe von Zeilen und Spaltenpositionen erkl rt den gesamten Bildschirm zum aktuellen Fenster und hebt damit die Einschr nkung auf die von WINDOW XI X2 Y1 Y2 vorgenommen wurde Moglichkeiten mit POKE Durch die POKE Anweisung wird der einzelne Bildspeicherplatz direkt und sehr schnell angesprochen POKE 4951 N setzt auf den Speicherplatz mit der Adresse 4951 das Zeichen des ASCII Codes mit dem
106. s Programm in der Grundvariante des Z 1013 weiter bearbeitet werden Folgende Anweisungen im Listing sind zu berpr fen und gegebenenfalls zu ver ndern WINDOW PRINTAT PRINT TAB Zeilenl nge der PRINT Anweisung Silbentrennung in PRINT Anweisungen POKE f r Bildspeicher Der Z 1013 ignoriert Farbanweisungen Um Speicher platz zu sparen k nnen sie gel scht werden 4 POKE Anweisungen au erhalb Hier mu probiert werden Da die Betriebssysteme des Bildspeichers 5 BEEP und SOUND 6 Vollgrafik des KC 85 2 3 unterschiedlich organisiert sind ist meist keine Abhilfe m glich Die Anweisungen zur Tonerzeugung sind grunds tz lich anders aufgebaut Eine entsprechende Anderung des Programms ist nicht ohne weiteres m glich Der Z 1013 verf gt nicht ber Vollgrafik Prinzipiell l t sich nat rlich auch aus dem Zeichensatz der Pseudografik fast alles zusammenf gen Das ist f r einen Programmumbau jedoch zu aufwendig Hier sollte das Programm lieber gleich f r den Z 1013 neu geschrieben werden 28 Vielseitig verwendbare Unterprogramme Beim Programmieren stellt man fest daB viele Bestandteile eines Programms auch in anderen Programmen erneut vorkommen oder genutzt werden k nnten Das sind meistens recht kurze Unterprogramme oder Programmroutinen Einige davon sollten den Inhalt unserer Werkzeugkiste bereichern Unterprogramm Steuern bzw Zeichnen eines definieren Zeichens auf dem Bildschi
107. s und Personalcomputer A 5110 20 30 PC 1715 A 7100 Ihr folgt die Klasse der Kleinrechnersysteme die sich zu CAD CAM Arbeitsstationen ausbauen lassen z B AKT 6454 Dabei ist zu beachten da beim bergang zur n chsth heren Leistungsklasse die Preise um den Faktor 10 bis 20 und mehr steigen k nnen Eben diese Leistungsklasse bestimmt die Genauigkeit Schnelligkeit Zuverl ssigkeit und Eleganz der Verarbeitung von Informationen Dennoch bieten Computer prinzipiell folgende spezifische M glichkeiten Ein Computer kann Prozesse steuern Anschlu ber Sensoren und Stelleinrichtungen schnell und genau rechnen Umgang mit Zahlen Buchstaben und Buchstabenketten speichern sortieren und darin suchen Umgang mit Text Pseudografikzeichen und Bildpunkte Pixel auf den Bildschirm setzen Punkte Linien Fl chen erzeugen Farben auf den Bildschirm bringen Zufallszahlen erzeugen w rfeln und damit Zahlen Texte Pseudografikzeichen Pixel und Farben zuf llig manipulieren Die kombinierte Nutzung dieser M glichkeiten ergibt das komplexe Werkzeug Computer Eine kleine Auswahl von Einsatzf llen sind die berwachung oder Steuerung bestimmter Abl ufe die Durchf hrung zeitaufwendiger Berechnungen die Herstellung und das Redigieren von Texten das Suchen in Dateien die Nutzung als Wissensspeicher beim Probleml sen die F rderung von Lehren Lernen und Spiel und die Nutzung als kreatives Werkzeug f r den Konstrukteu
108. sieren ein korrektes Setzen des Kursors Bei Eingabe einer Null wird die W rfelvariante gew hlt Die dazu erforderlichen Zufallszahlen werden im Unterprogramm ab Zeile 1000 erw rfelt 105 Die Zeile 210 berpr ft die Eingabe f r jede der vier Reihen auf Vollst ndigkeit Wurden die vier Ziffern als Zeichenkette 14 f r eine Reihe eingegeben erfolgt in Zeile 230 deren Umwandlung in vier einzelne Zahlen IN In Zeile 240 wird die zweite Eingabekontrolle durchgef hrt Anschlie end werden aus den Eingaben die zugeh rigen Codezahlen f r die Pseudografikzeichen ermittelt und dem Feld FE 1 j zugewiesen Hier mu der Programmieranf nger etwas nachdenken denn es stehen immerhin sechs ineinandergeschachtelte Laufanweisungen zur Debatte Damit wird das vollst ndige Fl chenmuster in der eingangs beschriebenen Weise auf den Bildschirm gebracht Hierzu dient die PRINT AT Anweisung mit der die Kursorposition beim Z 1013 nicht beeinflu t wird Aus diesem Grund Kann auch in Zeile 390 problemlos wieder Text in das Men fenster geschrieben werden Programm Jagd 1264 Bytes Bei unserer Entenjagd fliegt eine Ente in verschiedenen H hen ber den Bildschirm von rechts nach links Der J ger hat die Aufgabe durch Bet tigung der Schu taste G auf der Tastatur die Ente zu erlegen Der im 1013 festgelegte Grafiksatz bietet nat rlich weder eine Flugente noch einen J ger mit Flinte Auch hier w re es sch n wenn wir uns die Figuren aus eigenen
109. st halt auch nicht zuf llig sondern mu von uns vorgegeben werden F r die Erzeugung von Zufallszahlen in einem beliebigen Bereich z B W rfel von 1 bis 6 Tele Lotto von 1 bis 35 usw kann folgende Normierungsgleichung Verwendung finden LET Z INT N RND 1 NI NI Niedrigste ganze Zahl des Bereiches N Anzahl der m glichen ganzen Zahlen im Bereich Abschlie end noch die Vorstellung der Zeichenkettenfunktionen ASC X liefert den Zahlenwert des ASCII Kodes des ersten Zeichens der Zeichen kette X Der ASCII Kode ist in jedem BASIC Handbuch abgedruckt so hat z B der Buchstabe A den Kode 65 CHR X Umkehrung zu ASC X liefert das Zeichen das zur Kodezahl X im ASCII Kode geh rt VAL X wandelt den als Text vorliegenden Zahlenwert in eine Zahl um mit der dann auch gerechnet werden kann STR X Umkehrung zu VAL X wandelt die Zahl X in eine Zeichenkette um LEN X liefert die Anzahl der Zeichen in der Zeichenkette X Damit kann man z B auf einfache Weise berpr fen ob eine Personen kennzahl tats chlich mit 12 Stellen eingegeben wurde liefert die ersten K Zeichen der Zeichenkette X Mit LEFT PK 6 kann z B das Geburtsdatum aus der Personenkennzahl heraus gefiltert werden RIGHT X K liefert die letzten K Zeichen der Zeichenkette X LEFT X K MID X K I STRING K X INSTR X Y liefert Zeichen der Zeichenkette X wobei mit dem K ten Zeichen begonnen wird
110. sting 5 Formatierte Ausgabe von Zahlen Ein Speicherbereich f r 100 Zeichenketten wird reserviert Dieser Wert l t sich beliebig ver ndern und wird nur durch die Anzahl der formatiert auszugebenden Zahlen bestimmt Den Z hler Z f r die Anzahl der einzugebenden Zahlen setzt das Programm auf Null Die Eingabe der jeweiligen Zahl wird gleich als String aufgefa t Das spart nachtr gliches Umwandeln Mit dem Sternchenzeichen ist die Eingabe abzuschlie en F r jede eingegebene Zeichenkette wird die L nge L bestimmt Danach erfolgt die Umwandlung in einen numerischen Wert Die PRINT TAB Anweisung organisiert die rechts b ndige Wiedergabe jeder Zahl indem vom Tabulatorstellenwert die L nge der Zeichen kette subtrahiert wird Um das Unterprogramm zu komplettieren werden die eingegebenen Werte addiert und das Ergebnis ebenfalls formatiert ausgedruckt Statt der Addition kann man nach Bedarf auch andere mathematische Operationen vornehmen Unterprogramm Umwandlung einer Dezimalzahl in eine Hexadezimalzahl 186 Bytes F r viele Anwendungen interner Funktionen eines Computers werden Zahlenwerte nicht im Dezimalsystem sondern im Hexadezimalsystem ben tigt Das versetzt den Nutzer in die Verlegenheit Zahlen in ein anderes System umwandeln zu m ssen Beispielsweise sind die Startadressen eines Maschinenprogramms im Hexadezimalsystem angegeben Zum Einladen des BASIC Interpreters schreiben wir stets L 100 2AFF Im Alltagsgebrauch nutzen wir im
111. t sich in ein Quadrat von 32 Zeilen und 32 Spalten auf Dies bedeutet da wir beim Programmieren maximal 1024 Bildspeicherpl tze gleichzeitig belegen k nnen Der BASIC Interpreter bietet daf r zahlreiche M glichkeiten an die es sinnvoll zu nutzen gilt Jeder Bildspeicherplatz besitzt seine eigene Adresse die wir kennen und ansprechen m ssen wenn etwas auf dem Bildschirm an einer ganz bestimmten Stelle sichtbar werden soll F r die praktische Arbeit schaffen wir uns zun chst ein Hilfsmittel Aus kleinkariertem Papier schneiden wir ein Raster von 32 X 32 Karos aus und kleben es auf starken Kanon Darauf werden die Speicherpl tze so aufgetragen wie es die Zeichnung Bild 9 darstellt ber dem Karton befestigen wir eine stabile farblose abwisch bare Folie die an den R ndern verklebt wird Mit Foliestiften oder wasserl slicher Auszieh tusche kann letzt jede gew nschte Bildschirmaufteilung vor dem Programmieren aus probiert werden Die dann anzusprechenden Speicherpl tze sind aus dem Raster ablesbar Daf r gibt es immer zwei m gliche Werte Jeder Speicherplatz l t sich als Punktepaar x y oder als Einzelwert mit negativem Vorzeichen darstellen Der x Wert gibt die Zeilenposition der y Wert die Spaltenposition an Den Einzelwert ermittelt man indem zum negativen Wert der auf der Zeichnung am jeweiligen Zeilenanfang links sichtbar ist der Spaltenwert addiert wird So entspricht zum Beispiel dem Bildschirmplatz P 5 9 der Speicher
112. t unsere Trennung in Kommandos und Anweisungen nicht zu streng zu sehen So kann z B das Kommando CLS zum L schen des Bildschirmes vom Nutzer eingegeben werden es kann aber ebenso als Anweisung in einem BASIC Programm vorkommen Das L schen kann auch ber die Folientastatur durch Dr cken und Festhalten der Taste S4 und dabei gleichzeitiges Bet tigen der Taste T ausgel st werden BASIC Kommandos Wir werden hier nur die wichtigsten Kommandos nennen die vor allem den Anf nger m glichst schnell an die Nutzung der hier vorgestellten Programme heranf hren sollen Nachdem der BASIC Interpreter in den Schreib Lese Speicher RAM des Z 1013 eingelesen wurde gelangt man mit dem Monitor Kommando J 300 J steht f r JUMP Sprung dies ist aber kein BASIC Kommando zum BASIC Interpreter Mit dem BASIC Kommando BYE kann der BASIC Intertpreter verlassen und zum Betriebssystem zur ckgekehrt werden Ein wiederholter Neustart Kaltstart mit J 300 l scht eventuell noch vorhandene BASIC Programme und Daten Vorsicht Ein Restart Warmstart mit J 302 l t BASIC Programm und Daten unversehrt Liegen fertige Programme auf einer Magnetbandkassette vor so ist zur Nutzung dieser Programme lediglich die Kenntnis folgender drei Kommandos erforderlich NEW Dieses Kommando l scht eventuell vorhandene BASIC Programme und Daten Ein un berlegtes NEW kann deshalb stundenlange Eintipparbeit zunichte machen sofern nicht vorher die eingegebenen Daten oder d
113. terne des ersten Sternbildes Drache werden gezeichnet Die RESTORE N Anwei sung sichert da nur die jeweils zugeh rige DATA Zeile angesprochen wird Mit der Schleifenanweisung erfolgt die Festlegung der Anzahl der Einzelsterne Die entsprechenden Bildspeicherpl tze f r die POKE Anweisungen werden ber DATA bereitgestellt Ihre Organisation erfolgt durch die Addition der Anfangsadresse des Bild Speichers 5120 und des entsprechenden Wertes des 32X 32 Rasters Alle weiteren Sternbilder werden nach dem gleichen Prinzip auf den nachfolgenden Zeilen 2000 3000 4000 programmiert Programm Simulation eines GALTON Brettes 1137 Bytes Computersimulationen werden genutzt um m glichst reale Vorstellungen von Vorg ngen und Prozessen durch k nstliche Nachahmung zu gewinnen Simulationsprogramme sind ein verbreitetes Anwendungsgebiet der Rechentechnik Viele Simulationsmodelle lassen sich auch mit dem Z 1013 verwirklichen obwohl nat rlich fehlende Farbt chtigkeit und Vollgrafik Grenzen setzen Mit einem GALTON Brett wird experimentell eine Demonstration der Binomialverteilung Newtonsche Verteilung vorgenommen Auf ein Brett sind N gel so nebeneinander in Reihen eingeschlagen da eine rollende Stahlkugel auf dem geneigten Brett gezwungen wird beim Auftreffen auf einen Nagel den Ausweg links oder rechts zu suchen Nach dem Durchlaufen von Nagelreihen werden die Kugeln in n 1 F chern aufgefangen und bereinander gestapelt Bei gen gend gr
114. tes durch die Eingabe der zugeh rigen Ordnungszahl N leitet das Programm den Suchvorgang ein Eine neue Schleifenanweisung kann maximal 200 Durchl ufe aufweisen Diese Gr e ist willk rlich gew hlt Sp testens nach dem 200 Durchlauf wird die Abbruchbedingung in Kraft gesetzt in der Schleife liest die READ Anweisung alle gespeicherten Quellen Die Quellen werden ab Zeile 1000 abgelegt Vor jeder Quelle sind ein oder zwei Ordnungsnummern als Bestandteil des Strings notiert Diese Ordnungsnummern beziehen sich auf die Ordnungsnummer des Stichwortes Jeder Quelle k nnen aber m ssen nicht zwei Stichworte zugeordnet sein Die Stringfunktionen trennen die Suchnummern ab und bilden ihre numerischen Werte Stimmt der gebildete numerische Wert mit dem Ordnungswert N des Stichwortes berein wird die Quelle gedruckt In der letzten DATA Zeile 2000 ist ein bedeutungsloser String XXX untergebracht Wenn er gelesen wird ist der Suchvorgang beendet weil keine weiteren Quelleneintragungen vorliegen 57 Nach Abschlu des Suchvorganges wird der R cksprung zum Men bzw die Beendigung des Programms bewirkt Hier werden die Stichworte gespeichert Die Quellen sollten so aufbereitet werden da sie m glichst nicht mehr als 32 Zeichen auf weisen Zeilenl nge Ab Zeile 1280 k nnen beliebige weitere Eintragungen vorgenommen werden Der Steuermann Z 1013 Programm Digitaluhr 2200 Bytes Versuche die Zeit zu bestimmen und zu messen geh
115. uf die Darstellung fliegender Federn und einer herabst rzenden Ente haben wir verzichtet und auf die vier Zeichenpositionen nur einfache Sternchen gesetzt Mit etwas Phantasie und Programmieraufwand k nnte nat rlich auch der Hund des J gers die 108 herabst rzende Ente ergreifen und seinem Herrn vor die F e legen Leider bietet unser Z 1013 keine Tonausgabe Sonst h tte in Zeile 540 auch ein Siegessignal programmiert werden k nnen In unserem Programm werden nach etwa einer Sekunde die Sternchen wieder vom Bildschirm entfernt Nach R ckkehr in das Hauptprogramm wird mit der Pro grammzeile 330 fortgesetzt Programm Rallye 1699 Bytes Rallyesport verlangt vom Fahrzeugf hrer h chste Aufmerksamkeit und die F higkeit im richtigen Augenblick in der erforderlichen Weise zu reagieren Vom Auto wird w hrend der Rallye hohe Zuverl ssigkeit erwartet Diese Zuverl ssigkeit bietet f r unser Spiel der Z 1013 Rallye ist einfach zu programmieren Durch die Kombination verschiedener F higkeiten des Computers verwandeln wir den Bildschirm in eine sich bewegende Stra e die mit zahl reichen Windungen dem Rallyefahrer Aufmerksamkeit und Reaktionsschnelligkeit abver langt um Karambolagen mit den Seitenplanken zu vermeiden Bild 25 Wir nutzen die Tasten P nach links und W nach rechts um das Fahrzeug zu steuern gt U i KILOMETERSTAND Bild 25 Situation im Spiel Ihre Lage auf der Flachfolientastatur biet
116. uf die am Schlu dieser Brosch re hingewiesen wird Wir k nnen hier noch nicht einmal das erw hnen was der BASIC Interpreter des Z1013 kann Einige seiner Leistungen werden aber in den Programmen die ja den Hauptteil dieser Brosch re ausmachen Verwendung finden Hierzu sei als Literatur das Programmierhandbuch zum KC 85 1 und KC 87 des VEB ROBOTRON MeBelektronik Otto Sch n Dresden empfohlen poll Konstante Variable Term Zahl 33 1234 V oder VS oder V1 VS 2 2 A Zeichenkette String OTTO N oder NA oder N5 NA KAR Bild 2 Verarbeitung von Zahlen und Zeichenketten in BASIC Ein BASIC Interpreter kann nicht nur mit Zahlen sondern auch vortrefflich mit Text um gehen Bild 2 zeigt die entsprechenden Verarbeitungsm glichkeiten Da es sich bei der Darstellung und Verarbeitung von Text um die Aneinanderreihung von Zeichen Achtung das k nnen auch Ziffern oder Grafiksymbole sein spricht man von Zeichenketten oder ver wendet den aus dem Englischen stammenden Fachbegriff String Zwischen Zahlen und Zeichenketten wird streng unterschieden Den Versuch einer Vermischung ahndet der Interpreter mit der Fehlerausschrift TM ERROR wobei das TM f r Type mismatch steht Allerdings bietet BASIC Sonderfunktionen die sofern dies vern nftig ist eine Umwandlung von Zahlen in Zeichenketten STR X und umgekehrt VAL X erm glichen BASIC arbeitet sowohl bei Zahlen als auch bei Strings mit Konstanten Variablen und Termen bei Ter
117. und der andere besser die Ziffernfolgen merken k nnen Das Merken von Buchstaben erscheint zun chst schwieriger da immerhin aus 26 Buchstaben zuf llig ausgew hlt wird im Gegensatz zu den Ziffern O bis 9 Andererseits ergeben mit etwas Gl ck einige Buchstabenkombinationen auch leicht zu merkende Eselsbr cken Listing 26 Listing 26 Training des Kurzzeitged chtnisses 94 Die Programm berschrift und das Men werden auf dem Bildschirm dargestellt Die Unterstreichung der berschrift erfolgt mit der Anweisung STRING In Zeile 80 wird mit Hilfe der INKEY Anweisung die Eingabe des Buchstaben B f r die Arbeit mit Buchstaben oder des Buchstaben N f r die Arbeit mit Ziffern realisiert Der Buchstabe Z ist ber die Flachfolientastatur nur durch zus tzliches Dr cken der Taste S1 eingebbar Zun chst wird mit Hilfe des Pseudografikzeichens mit dem Code 199 ein kleiner Bildrahmen gesetzt in dem dann die Anzeige der Zeichen erfolgen soll In diesem Rahmen erscheint zun chst das Wort ACHTUNG etwa eine halbe Sekunde lang Die Variable mit dem Namen B enth lt den Anfangswert der ASCll Zeichencodetabelle bei der die Auswahl von Zeichen beginnen soll A Code 65 0 Code 48 Die Variable mit dem Namen A enth lt die Anzahl der in Frage kommenden Zeichen Die Variable Z repr sentiert den Zeichenz hler der bei eins beginnend schrittweise erh ht wird Hier erfolgen zuf llige Auswahl und Anzeige der Buchstaben oder Ziffernkombinat
118. und der Trefferz hler P mit O belegt werden Der aus Pseudografikzeichen zusammengesetzte Jager wird in den Zeilen 100 bis 130 auf den Bildschirm gebracht Er bleibt w hrend des gesamten Programm ablaufes an dieser Stelle Nur beim Schu erhebt er einen Arm Zeilen 240 und 250 Nat rlich mu auch das R cksetzen des Armes f r einen neuen Spieldurchlauf ordnungsgem programmiert werden 107 Der Variablen Y wird die zuf llig ausgew hlte Flugh he der Ente zugewiesen Die Variable Z beinhaltet die Zeilenposition des Geschosses und die Variable F fungiert als Flag das zun chst nicht gesetzt ist F 0 Die Zeile 160 besorgt bei den sp teren Programm durchl ufen die Armkorrektur und die Zeile 170 enth lt die aus insgesamt vier Pseudografikzeichen zusammengesetzte Ente Soll die Ente aus anderen Zeichen erzeugt werden so sind die Zeilen 170 200 und 210 gleicherma en zu ndern Die Laufvariable kennzeichnet den Entenflug von rechts nach links ber den Bildschirm Die Darstellung des Fluges erfolgt durch L schung der beiden rechten Positionen der Ente in Zeile 190 und deren erneutes Setzen auf den Bildschirm in den Zeilen 200 und 210 Damit t uscht der Z 1013 eine Bewegung vor Die Bedingung in Zeile 230 sorgt daf r da die Schu taste G bei einem Durchlauf nur ein einziges Mal gedr ckt werden kann Unser J ger verf gt also nicht ber eine Zwillings oder Drillingsflinte Sobald n mlich das Gescho abgefeuert wurd
119. verwenden Das geschieht in Ermangelung der PRINT USING Anweisung ber die auch die Computer der KC Serie nicht verf gen Mit den Zeilen 40 bis 50 wird der Tabellenkopf auf den Bildschirm gebracht Mit der WINDOW Anweisung in Zeile 60 wird daf r gesorgt da beim Weiterrollen des Bildschirmes der Tabellenkopf unversehrt bleibt In der Laufanweisung von Zeile 70 bis 110 erfolgt die Berechnung der Anzahl der K rner pro Feld Variable KF und der aktuellen 39 Gesamtzahl der K rner Variable S Da der Z 1013 ebenso wie die Computer der KC Serie bei vollgeschriebenem Bildschirm nicht anhalt sondern den Bildschirm nach oben abrollt m ssen wir bei vollem Bildschirm f r einen Computerstop sorgen Das geschieht durch Abfrage der aktuellen Kursorposition genauer der Zeile in der der Kursor sich befindet Hierzu bietet z B der KC 85 3 die Anweisung CSRLIN n Der KC 87 und der Z 1013 haben diese Anweisung nicht Beim Z 1013 ist die aktuelle Kursorzeile in der Adresse 113 gespeichert die mit der PEEK Anweisung abgefragt wird Wenn diese Zahl gr er als 30 ist dann erscheint auf dem Bildschirm das Wort ENTER und der Computer h lt an Programmzeile 90 Dieses Anhalten wird durch die INPUT Anweisung erzwungen Nach Dr cken der ENTER Taste wird der Bildschirm gel scht und anschlie end neu beschrieben Das erfolgt in der Zeile 100 wobei durch den Aufruf der selbst definierten Funktion P X f r eine rechtsb ndige Darstellung gesorgt wird
120. wenn man fragt warum Mikrocomputer von vielen Arbeitspl tzen gar nicht mehr wegzudenken sind Den Computer nutzen um mehr leisten zu k nnen das ist ein vielgenanntes Motiv f r das Erlernen des Umgangs mit der Rechentechnik und den Programmiersprachen Dieser Trend wird auch an der Tatsache deutlich da sich viele Interessenten w nschen einen kleinen leistungsf higen Mikrorechner f rs Lernen und Forschen f r Arbeit und Freizeit f r Spiel und Spa nutzen zu k nnen Der Mikrorechnerbausatz Z 1013 des VEB Robotron Elektronik Riesa wird diesen W nschen gerecht Auf der Basis des Mikroprozessors U 880 D erf llt er viele Anforde rungen die vor allem jugendliche Computerfreunde an ihren Mikrocomputer stellen Dazu geh ren eine Speicherkapazit t von 16 KBytes in der Grundvariante die Erweiterungs m glichkeit durch eine Steckverbindung die Ein und Ausgabe von Steuersignalen ber einen PIO Baustein mehrere m gliche Programmiersprachen und ein Satz von 128 Pseudografikzeichen Die Bedienungsanleitung die zum Lieferumfang des Mikrorechnerbausatzes Z 1013 ge h rt informiert umfassend Uber alle wesentlichen technischen Eigenschaften die Arbeit mit dem Maschinencode dem Tiny BASIC und ber die Anforderungen an die peripheren Ger te Die vorliegende Brosch re will dem Leser vor allem bei der Nutzung der Programmiersprache BASIC auf seinem Z 1013 hilfreich zur Seite stehen Zuvor sollen jedoch noch einige technische Arbeiten e
121. zw lf Felder fest Dieses eine Feld wiederum umfa t vier mal vier w hlbare Grundmuster Die gew nschte Anordnung wird ber die Kennzahlen 1 bis 8 in den Z 1013 eingegeben Mit etwas berlegung lassen sich so recht h bsche Fl chen gestalten M chte sich jemand einer optischen T uschung hingeben dann sollte er folgende Anordnung probieren 1 Reihe 1111 2 Reihe 2222 3 Reihe 3333 und 4 Reihe 8888 Wer die Unregelm igkeit liebt kann dem Z 1013 das Erw rfeln von Mustern bertragen Mit Hilfe des Zufallszahlengenerators entstehen zuf llig und manchmal auch ansprechende Fl chenmuster Doch nun zum Listing 29 104 Listing 29 Flachengestaltung Das Feld FE 4 4 das in Zeile 30 dimensioniert wird nimmt die Codezahlen der 16 durch den Nutzer zu wahlenden Pseudografikzeichen auf Nach Festlegung des Men fensters werden in den Zeilen 90 bis 140 die acht m glichen Grundmuster angeboten Da es hier etwas eng zugeht mu te mit der RIGHT Funktion in Zeile 130 eine Vorzeichenstelle beseitigt werden Soll das Programm mit anderen Pseudografikzeichen benutzt werden dann m ssen in den Zeilen 80 100 250 und 1030 entsprechende Anderungen vorgenommen werden eine sch ne Ubung f r den Anf nger Hier werden die Eingaben f r das 4 mal 4 Feld realisiert Wegen der Kleinheit des Men fensters mu te mit der RIGHT Funktion in Zeile 190 wieder eine Vorzeichenstelle eliminiert werden Die Anweisungen POKE und PEEK organi

Download Pdf Manuals

image

Related Search

Related Contents

Kingston Brass HDR314245 Installation Guide  Nissan 2008 Armada Automobile User Manual    SS-V853  (M)SDS - 純正化学株式会社 製品検索・MSDS検索  C-10 取扱説明書ダウンロード(1.18MB  Ficha de Datos de Seguridad  Philips iColor Accent Powercore User's Manual  Graco 3A2096D User's Manual  Powermate PMC497000 Parts list  

Copyright © All rights reserved.
Failed to retrieve file