Startseite
Amiforce 2.1     Amiforce-News Amiforce-News Amiforce-Forum Amiforce-Forum Amiforce-Chat/IRC-Chat Amiforce-Chat/IRC-Chat Gästebuch Gästebuch Kontakt mit dem Webmaster aufnehmen Kontakt mit dem Webmaster aufnehmen

Amiblitz3
Amiblitz2(alt)
Storm Wizard
Abakus-Design
Helpguide
Toolsguide
Tipps&Tricks
Gamesfun
Links
Download
Musik

Bugfixes am Forum
Subdomains aktiviert
Counterscript entfernt
  Navigation:   Index /  Amiblitz /  Amiblitz Lesematerial /  Blitz2 Benutzerhandbuch (Index) /  Blitz2 Benutzerhandbuch (Kapitel 2) / 

Benutzerhandbuch


Kapitel 2




Grundlegendes über Blitz2

·Mein erstes Programm
·Der Print-Befehl
·Formatiertes Drucken
·Einfache Variablen
·Einfache Schleifen
·Verschachtelte Schleifen
·Die Benutzung von String-Variablen
·Der Programmablauf
·Sprungbefehle
·Benutzereingaben
·Felder





Das folgende Kapitel wendet sich an diejenigen Benutzer, die noch keine Programmiererfahrung in BASIC haben. Es liefert eine schrittweise Einführung in die grundlegenden Elemente von Blitz2.

Sobald Blitz2 betriebsbereit ist (s. vorhergehendes Kapitel), betätigen Sie den "OKEE DOKEE"-Knopf und Sie können Ihr erstes Programm schreiben.

Wenn Sie Schwierigkeiten mit dem Blitz2-Editor haben sollten, sehen Sie im Anhang 1 nach. Dort ist der Editor Ted ausführlich erklärt.



Index Mein erstes Programm


Geben Sie die folgenden zwei Befehle ein:

PRINT "Dies ist mein erstes Blitz2 Programm!"
MouseWait


Dann wählen Sie "COMPILE&RUN" im oberen rechten Menü. Wenn Sie das Programm korrekt eingegeben haben, erhalten Sie ein CLI-Fenster mit Ihrer Mitteilung. Betätigen Sie den Mausknopf und Sie sind wieder im Editor.

Das ist schon alles.



Index Der Print-Befehl


Positionieren Sie den Cursor auf das Wort "Print" in Ihrem Program und drücken Sie die Help-Taste. Die Syntax für den Print-Befehl erscheint dann oben auf dem Bildschirm. Dort steht jezt:

Print Expression[,Expression...]

Die eckigen Klammern sagen aus, daß der Print-Befehl mit beliebig vielen Ausdrücken versorgt werden kann. Die Ausdrücke müssen durch Kommata getrennt werden. Ein Ausdruck kann eine beliebige Zahl, eine Zeichenkette (ein Text in "Anführungszeichen"), eine Variable oder eine BASIC-Formel sein. Das folgende Beispiel enthält alle diese Möglichkeiten.

Vergessen Sie den MouseWait-Befehl nicht wenn Sie dieses Programm testen, denn sonst druckt Blitz2 die Meldung und kehrt sofort zum Editor zurück, bevor Sie Zeit hatten, sie zu lesen.

Print 3,"Autos",a,a*7+3


Die folgende Zeile sollte in dem CLI-Fenster erscheinen.

3Autos03

Wenn Sie Zwischenräume zwischen die verschiedenen Ausdrucke einfügen, wie z.B. so:

Print 3," Autos",a," ",a*7+3


dann erhalten Sie folgende Zeile

3 Autos 0 3



Index Formatiertes Drucken


Der Format-Befehl ermöglicht es, Zahlen in unterschiedlichen Formaten auszudrucken. Dies ist z.B sinnvoll wenn Sie Zahlen in Spalten ausgeben wollen.

Der NPrint-Befehl dient dazu, den Cursor nach der Ausgabe automatisch in die nächste Zeile zu bewegen.

Format "###.00"
Nprint 23,5
Nprint 10
Nprint ,5
Nprint 0
MouseWait



Index Einfache Variablen


Was eine Programmiersprache mächtig macht, ist ihre Fähigkeit, Zahlen und Text zu verändern. Um diese Informationen zu speichern werden Variablen verwendet.

Der folgende Befehl weist der Variablen a den Wert 5 zu :

a=5


Jetzt besitzt die Variable a den Wert 5. Man kann den Computer jetzt anweisen, 1 zu dem Wert von a zu addieren, sodaß das Ergebnis 6 ist :

a=a+1


Ein Ausdruck kann auch mehrere Rechenoperationen enthalten. Um zu erreichen, daß eine bestimmte Operation vor der anderen ausgeführt wird, wird diese in Klammern eingeschlossen:

a=(a+3)*7


An dieser Stelle sei auf Anhang 5 verwiesen, der eine Liste aller Operatoren und deren Präzedenz (die Reihenfolge, in der die Operationen ausgeführt werden) enthält.

In dem folgenden Programm wird a zunächst der Wert 0 zugewiesen, dann viermal 12 addiert und der Wert ausgedruckt.

a=0
a=a+12:Nprint a
a=a+12:Nprint a
a=a+12:Nprint a
a=a+12:Nprint a
MouseWait


Wie Sie sehen, können zwei Befehle in der selben Zeile stehen wenn sie durch einen Doppelpunkt getrennt werden. Im Übrigen ist der erste Befehl a=0 nicht nötig, da allen Variablen in Blitz2 grundsätzlich zunächst der Wert 0 zugewiesen wird.



Index Einfache Schleifen


Das folgende Programm druckt das 1 mal 12. Anstatt 12 Zeilen einzugeben, wird eine For...Next-Schleife verwendet. Durch eine Schleife wird das Programm angewiesen, einen Programmabschnitt mehrmals zu wiederholen.

Durch For i=0 To 12..Next wird erreicht, daß die Befehle zwischen For und Next 12 mal ausgeführt werden. Dabei wird die Variable i als Zähler verwendet.

Der Stern "*" ist der Multiplikations-Operator; a=i*12 bedeutet, daß die variable a anschließend den 12-fachen Wert der Variablen i besitzt. Da i aber von 1 bis 12 hochgezählt wird, erhält a die Werte 12, 24, 36 usw.

For i=1 To 12
    a=i*12
    Nprint i, "*",12,"=",a
Next
MouseWait


Beachten Sie, daß die beiden Zeilen innerhalb der Schleife eingerückt sind. Dies dient dazu, das Programm übersichtlicher zu machen, sodaß man leichter erkennen kann, welche Abschnitte innerhalb von Schleifen sind und welche nicht.

Um Zeilen einzurücken wird die Tabulator-Taste verwendet.

Wenn Sie nun die erste Zeile abändern, sodaß dort jetzt For i=1 To 100 steht, werden Sie sehen, daß der Rechner auch kein Problem hat, dies zu berechnen.

Sie können auch die Zahl 12 in den ersten 3 Zeilen abändern um das Einmaleins für andere Zahlen zu erstellen.



Index Verschachtelte Schleifen


Das folgende Programm ist ein Beispiel für die Verschachtelung von Schleifen. Verschachtelte Schleifen sind Schleifen die innerhalb anderer Schleifen sind. Dabei werden die Anweisungen der inneren Schleife weiter eingerückt, sodaß sich leichter erkennen läßt, ob für jeden For-Befehl auch ein entsprechender Next-Befehl vorhanden ist.

For y=1 To 12
    For x=1 To 12 
        NPrint y,"*",x,"=",x*y
    Next
Next
MouseWait


Die Verschachtelung der For x=1 To 12 Schleife innerhalb der For y=1 To 12 Schleife hat zur Folge, daß die Zeile "NPrint..." 12*12mal ausgeführt und jedesmal eine neue Kombination von x und y berechnet wird.


While...Wend und Repeat...Until

Außer For...Next gibt es noch zwei weitere einfache Methoden in Blitz2, um Schleifen zu realisieren.

While...Wend und Repeat...Until Schleifen werden wie folgt geschrieben:

While a<20
    Nprint a
    a=a+1
Wend

Repeat
    Nprint a
    a=a+1
Until a>=20


Wie viele BASIC-Befehle sind auch diese einigermaßen selbsterklärend: das Innere der While...Wend-Schleife wird wiederholt, solange die Bedingung erfüllt ist, die Repeat...Until-Schleife wird durchlaufen, BIS die Bedingung erfüllt ist.

Die Bedingung die angegeben wird, kann ein beliebiger Ausdruck sein wie While a+10<50, While f=0, While b<>x*2, usw.

Der Unterschied zwischen diesen beiden Schleifen ist, daß bei einem Anfangswert von a größer als 20 die Repeat...Until-Schleife einmal durchlaufen wird, die While...Wend-Schleife jedoch gar nicht (die While-Schleife wird daher auch abweisende Schleife genannt).


Endlosschleifen

Wenn ein Programm in einen Zustand gerät, in dem eine Schleife nicht mehr verlassen wird, spricht man von einer Endlosschleife. In einer solchen Situation muß der Programmierer in der Lage sein, das Programm von außen zu beenden.

Ein Programm kann mit der Ctrl/Alt-C Kombination unterbrochen werden. Hierzu müssen die Ctrl-Taste und die linke Alt-Taste gleichzeitig gedrückt und gehalten werden und zusätzlich das C gedrückt werden. Das Programm wird dann angehalten und der Debugger erscheint auf dem Bildschirm. Um den Debugger zu verlassen und zum Editor zurückzukehren, drücken Sie die Esc-Taste (links oben auf der Tastatur). Der Debugger wird in Kapitel 6 behandelt.



Index Die Benutzung von String-Variablen


Variablen, die keine Zahlenwerte sondern Buchstaben (Text) enthalten werden Zeichenketten oder String-Variablen genannt. Um String-Variablen zu kennzeichnen, müssen sie ein $-Zeichen hinter dem Namen erhalten. Das folgende Beispiel zeigt eine einfache Anwendung von Strings:

a$="Simon"
Nprint a$
MouseWait


Wie bei den numerischen Variablen wird auch bei Strings das "="-Zeichen dazu verwendet, der Variablen einen Wert zuzuweisen. Das "+"-Zeichen dient dazu, String-Variablen zu 'addieren', also aneinander zu fügen:

a$="Simon":b$="Armstrong":c$=a$+b$


Die Variable c$ enthält anschließend die Zeichenkette "Simon Armstrong". Funktionen, die mit Strings arbeiten sind in Kapitel 6 des "Blitz Referenzhandbuchs" aufgeführt.



Index Der Programmablauf


Vielfach muß ein Programm bei der Ausführung entscheiden, ob der eine oder der andere Befehl auszuführen ist; dies nennt man den Programmablauf. Die If..Then-Anweisung dient dazu, den nachfolgenden Befehl nur dann ausführen zu lassen, wenn eine bestimmte Bedingung erfüllt ist. Im folgenden Beispiel wird nur dann das Wort "Hallo" ausgegeben, wenn die Variable a den Wert 5 hat:

If a=5 Then Print "Hallo"


Unter Verwendung des If...EndIf-Befehls kann das Beispiel so verändert werden, daß ein ganzer Programmabschnitt nur dann ausgeführt wird, wenn a gleich 5 ist:

If a=5
    Print "Hallo"
    a=a-1
EndIf


Mit dem Else-Befehl kann alternativ ein anderer Programmabschnitt ausgeführt werden, wenn die Bedingung nicht erfüllt ist:

If a=5
    Print "Hallo"
Else
    Print "Auf Wiedersehen"
EndIf


Der Programmcode wird wiederum innerhalb der Strukturblöcke eingerückt um die Lesbarkeit zu erhöhen, genau wie bei den Schleifen.

Die Bedingung, die in dem If-Befehl genannt ist, kann ein beliebig komplizierter Ausdruck sein, wie die folgenden Beispiele zeigen:

If a=1 or b=2
If a>b+5
If (a+10)*50<>b/7-3


Anhang 5, am Ende dieses Handbuchs, enthält eine vollständige Beschreibung des Gebrauchs von Operatoren und deren Präzedenz.



Index Sprungbefehle


Oftmals ist es nötig, innerhalb des Programms zu einem anderen Abschnitt zu 'springen'. Hierfür dienen die Befehle Goto und Gosub.

Die Stelle, zu der das Programm springen soll muß eine Sprungmarke (Label) besitzen, sodaß angegeben werden kann, zu welcher Stelle gesprungen werden soll.

Im folgenden wird die Sprungmarke 'start' verwendet:

Goto start
Nprint "Hallo"
start
MouseWait


Da durch den Goto-Befehl das Programm dazu veranlasst wird, zur Marke 'start' zu springen, wird der Text "Hallo" nie ausgegeben.

Der Befehl GoSub wird dazu benutzt, um zu einem Unterprogramm (Subroutine) zu springen. Ein Unterprogramm ist ein Programmabschnitt, der mit einem Return-Befehl abgeschlossen wird. Nachdem die Anweisungen des Unterprogramms ausgeführt wurden, wird durch den Return-Befehl wieder zu der Zeile mit dem GoSub-Kommando zurückgesprungen und dort fortgefahren.

.start:
GoSub message
GoSub message
GoSub message
MouseWait
End
.message
NPrint "Hallo"
Return


Beachten Sie, daß den Sprungmarken ein Punkt vorangestellten ist. Dadurch werden sie vom Editor als solche erkannt und erscheinen in einer Liste auf der rechten Bildschirmseite. Wenn Sie mit der Maus in diese Liste klicken, springt der Cursor automatisch zu der Marke im Programm. Beim Erstellen großer Programme ist dies sehr nützlich.



Index Benutzereingaben


Vielfach muß ein Programm auf Eingaben vom Benutzer warten, entweder durch die Tastatur oder durch die Maus. Der MouseWait-Befehl, zum Beispiel, hält das Programm an, bis der Benutzer den linken Mausknopf betätigt.

Die Befehle Edit und Edit$ erwarten Eingaben von der Tastatur, ähnlich wie der Input-Befehl in anderen Programmiersprachen auch.

Das folgende Beispiel fragt den Benutzer nach seinem Namen und speichert die Eingabe in einer String-Variablen:

Print "Ihr Name bitte ?"
a$=Edit$(80)
NPrint "Hallo",a$
MouseWait


Die Zahl 80 in dem Befehl Edit$(80) bezieht sich auf die Anzahl Zeichen, die der Benutzer eingeben kann.

Um Zahlen einzulesen, wird die Funktion Edit verwendet. Der Befehl a=Edit(80) erwartet die Eingabe einer maximal 80stelligen Zahl und speichert diese in der Variablen a.



Index Felder


Programme müssen häufig Gruppen von Zahlen oder Strings verarbeiten. Variablen, die solche Gruppen darstellen, werden Felder (Arrays) genannt. Wenn z.B. eine Gruppe von zehn Zahlen verarbeitet werden sollen, die alle in einer gewissen Beziehung zueinander stehen, so kann statt zehn einzelner Variablen auch ein Feld definiert werden.

Hierzu dient die Anweisung Dim:

Dim a(10)


Die Variable a kann nun 10 Zahlen aufnehmen (eigentlich 11, siehe Kapitel 3). Um auf die einzelnen Werte zuzugreifen, wird der Index des Feldelements in der Klammer hinter dem Variablennamen angegeben:

a(1)=5
a(2)=6
a(9)=22
NPrint a(9)
a(1)=a(1)+a(2)
Nprint a(1)


Das wichtige dabei ist, daß der Index, der das Feldelement angibt, wiederum eine Variable sein kann. Wenn i=2 ist, dann bezieht sich der Ausdruck a(i) auf die selbe Variable wie a(2).

Im folgenden werden 5 Strings in einer For...Next-Schleife vom Benutzer eingelesen. Da die Strings in einem Feld gespeichert werden, können sie wiederum in einer Schleife ausgedruckt werden:

Dim a$(20)
NPrint "Geben Sie 5 Namen ein"
For i=1 To 5
    a$(i)=Edit$(80)
Next
NPrint "Die eingegebenen Namen sind"
For i=1 To 5
    NPrint a$(i)
Next
MouseWait




Index



Impressum
Copyright © 2001-2007 by Cj-Stroker. Alle Rechte vorbehalten (Legal Info)
AMIGA und zugehörige Logos sind eingetragene Warenzeichen von Amiga, Inc.