![]()
Einsteigen ins Programmieren mit QBasic
In diesem Tutorial erhaltet ihr eine kurze Einführung in die Welt der Programmierung. Ich werde die Programmiersprache QBasic von Microsoft vorstellen und versuchen,euch die grundlegendsten Sprachmittel und Befehle der Sprache vorzustellen.
Was brauche ich dazu?
Nun zuerst brauchst du den QBasic Interpreter (QBasic.exe).Er übersetzt Programm und wandelt die Befehle in,für den Computer ausführbare,Kommandos um.Du findest die QBasic.exe entweder auf deiner Windows 98 CD-Rom im Verzeichnis "oldmsdostools".Außerdem sollte man sich etwas mit Mathematik auskennen,da beim Programmieren nunmal viel gerechnet wird ;)
Was ist Programmieren?
Programmieren ist (einfach umschrieben) das eingeben bestimmter Befehle die der Computer dann ausführt.
Die ersten Befehle
Nachdem du die QBasic.exe gestartet hast findest du einen leeren blauen Bildschirm vor.Hier musst du nun die Anweisungen eingeben die der Computer für dich ausführt.Nachdem du dein Programm,oder einfach einen Befehl,den du testen willst,eingegeben hast kannst du F5 drücken,um den Code ausführen,bzw auf Fehler überprüfen zu lassen.Wenn du nachdem du F5 gedrückt hast,wieder im Code Bildschirm landest,heißt es dass du wahrscheinlich irgendwas falsch gemacht hast.Netterweise werden die meisten Fehler,und die Zeile in der du etwas falsch gemacht hast,direkt von QBasic angezeigt,so dass du es gleich korrigieren kannst.
Tippe jetzt einmal folgenden Code ein und drücke F5:
PRINT "Hallo Welt"
Auf dem Bildschirm wurde "Hallo Welt" ausgegeben..
Mit dem Befehl PRINT Ausdruck kannst du Text auf
dem Bildschirm anzeigen lassen.
Schreibe nun folgendes und führe es mit F5 aus:
COLOR 2
PRINT "Diesmal ist der Text"
PRINT "in Farbe!"
Jetzt wurde auf zwei Zeilen farbiger Text ausgegeben.
Mit
dem Befehl COLOR Zahl kannst du eine Ausgabefarbe
setzen.In QBasic gibt es verschiedene Grafikmodi,die jeweils entweder 16 oder
256 Farbe haben.der Standard Grafikmodus hat 16 Farbe also kannst du nur Zahlen
von 0-15 einsetzen!
Jetzt versuch das:
PRINT "Jetzt kommt ein Ton!"
SOUND 1500,2
Es wird ein Ton aus den Systemlautsprechern kommen (wenn du welche hast).
Mit
dem Befehl SOUND Frequenz,Dauer kannst du einen
Ton abspielen.Umso größer die Frequenz,desto höher ist auch
der Ton.
Variablen
Variablen sind eines der wichtigsten Sprachmittel alles Programmiersprachen.Man kann sich darunter vorstellen,dass jede Variable eine Art Schublade ist,in die Man alle möglichen Daten wie Wörter,Zeichen oder Zahlen packen kann.
Nun führe folgenden Code aus:
MeinName$="Neo"
Hobby$="Mit QBasic programmieren"
Programme=10
PRINT "Name: ",MeinName$
PRINT "Hobby: ",Hobby$
PRINT "Fertige Programme: ",Programme
Wie du siehst werden statt der Variablen Namen selber die Daten ausgegeben,die du in die Variablen "geschrieben" hast.Wenn du einer Variable einen Wert zuweisen willst musst du Links den Variablen Namen,dann ein "=" und dann den Inhalt der Variable schreiben.Variablennamen dürfen auch aus Zahlen bestehen,jedoch muss das erste Zeichen ein Buchstabe sein!
Bei Text-Variablen muss immer ein "$" Zeichen nach dem Variablennamen folgen.Außerdem muss der Text in QBasic immer von zwei " Zeichen eingeschlossen werden,Zahlen hingegen nicht.Ein Beispiel:
V123$="Ich bin der Inhalt der Variable V123!"
Das Gegenteil zum PRINT Befehl,der Daten ausgibt ist der INPUT Befehl,der Daten aufnimmt,die man per Tastatur eingibt.
Führe folgenden Code aus:
PRINT "Gib deinen Namen ein!"
INPUT MeinName$
PRINT "Du hast eingegeben: ",MeinName$
Man muss nach INPUT immer eine Variable schreiben,in der die eingegebenen Daten gespeichert werden sollen.Diese Variable kann man dann bequem per PRINT ausgeben.Natürlich kann man auch zuerst mit INPUT die Eingabe beschreiben,man erspart sich so ein PRINT ;)
INPUT "Gib deinen Namen ein!" ; MeinName$
Natürlich kann man mit Variablen auch mathematische Operationen durchführen,d.h. 2 Variablen addieren usw.Versuche folgendes:
Zahl1=2
Zahl2=3
PRINT Zahl1+Zahl2
Das Programm gibt 5 aus,da dies die Summe beider Variablen ist.
Natürlich kannst du den addierten Wert auch einer anderen Variable zuweisen.Das geht so:
Zahl1=2
Zahl2=3
ZahlErgebnis=Zahl1+Zahl2
PRINT ZahlErgebnis
Es wird wieder 5 ausgegeben,da die Variable ZahlErgebnis nun den Inhalt der beiden addierten Variablen hat.Du kannst statt + auch alle anderen Operationen nehmen ;)
Bedingungen
Bedingungen sind ebenfalls ein wichtiges Sprachmittel.Damit lassen sich einfach Abfragen realisieren,z.B. ob der User ein bestimmtes Wort eingegeben hat,oder ob ein Schalter geöffnet ist usw.
Tippe nun folgendes ein und führe es per F5 aus:
INPUT "Wie alt bist du? ";Alter
IF Alter=16 THEN PRINT "Du darfst schon Rauchen ;o)"
Du wirst sehen dass der Text "Du darfst schon Rauchen" nur ausgegeben wird,wenn man als Alter 16 eingibt,also der Inhalt der Variable "Alter" 16 ist.
Natürlich kann man auch Code ausführen lassen,wenn diese Bedingung nicht erfüllt ist.Ein Beispiel:
INPUT "Wie alt bist du?",Alter
IF Alter=16 THEN PRINT "Du darfst schon rauchen ;o)" ELSE PRINT "Du bist keine 16 ;)"
Das macht das selbe wie der vorherige Code,mit der Ausnahme,dass er nun "Du bist keine 16" ausgibt,wenn man nicht 16 eingibt
Allerdings ist unser kleines Programm noch fehlerhaft.Auch wenn man 22 eingibt,darf man laut dem Programm nicht rauchen ;) ...außer "=" kann man auch anders den Inhalt einer Variable abfragen.
IF Alter>=16 THEN PRINT "Du darfst schon rauchen ;o)" ELSE PRINT "Du bist keine 16 ;)"
Nun steht auch "Du darfst rauchen" da,wenn man irgendeine Zahl die größer ist als 16 eingibt.Ich habe einfach den Operator "=" durch ">=" (Größer oder Gleich) ersetzt.
Die allgemeine Form einer einfachen Bedingungsabfrage ist: IF
Ausdruck THEN Anweisung [ELSE Anweisung]
Die "[" Klammern geben an dass das ELSE Optional ist,man muss es nicht schreiben.Unter "Ausdruck" versteht man eine Variable die mit einer Zahl oder mit Text verglichen wird.Das sind ein paar Ausdrücke:
IF Name="Neo" THEN ...
IF Anzahl<15 THEN ...
IF Passwort<>"Geheim" THEN ... (Das <> bedeutet ungleich)
Nun probieren wir folgendes aus:
Anfang:
INPUT "Passwort: ";Pass$
IF Pass$<>"Richtiges Passwort" THEN GOTO Anfang
Hier wird das Programm immer wieder zurück zur Marke "Anfang" springen,bis man das richtige Passwort eingibt,also bis die Variable Pass$ den Inhalt "Richtiges Passwort" hat.Marken können per GOTO Marke angesprungen werden.Für die Markennamen gelten selbe Gesetze wie für die Variablen.Alleine haben die Marken keinerlei Bedeutung im Code.
Nun wollen wir mal die Befehle in einem kleinen Programm nutzen
Und zwar in einem kleinen Passwort Programm:
PassRight$="Neo"
COLOR 14
PRINT "----PASSWORT SCHUTZ 2000----"
Anfang:
INPUT "Gib das Passwort ein! ";Pass$
IF Pass$<>PassRight$ THEN GOTO Anfang
SOUND 500,1
SOUND 1000,1
SOUND 1500,1
COLOR 2
PRINT "Das Passwort "+Pass$+" war richtig!"
END
(Man sollte sich angewöhnen nach jedem Programm END zu schreiben.Auch wenn man das Programm mitten im Code beenden will kann man END verwenden!)
Nun solltet ihr in der Lage sein einfache Programme in QBasic zu schreiben.Wenn euch das Tutorial gefallen hat oder ihr noch Fragen habt postet es ins Neochat Forum.Auf wenn ihr Fehler entdeckt habt oder Verbesserungsvorschläge habt könnt ihr ins Forum posten oder mich im Neochat ansprechen.