Referat: BASIC
1.) Was ist BASIC?
BASIC ist eine Abkürzung mit folgender Bedeutung:
B - steht für Beginners
A - steht für All-purpose
S - steht für Symbolic
I - steht für Instruction
C - steht für Code
BASIC bedeutet also Beginners All-purpose Symbolic Instruction Code, was soviel heißt wie Allzweck-Programmiersprache für Anfänger. Mit BASIC sollen also auch Anfänger in die Lage versetzt werden, Programme zu schreiben.
Die Programmiersprache BASIC sollte folgende Ansprüche erfüllen:
sie ist leicht zu erlernen und einfach anzuwenden
sie ist benutzerfreundlich
sie liefert die gewünschten Ergebnisse ganz schnell
sie ist von jedermann anzuwenden
für diese Programmiersprache ist die vom Anwender benötigte Zeit wichtiger als Rechenzeit.
Was ist eigentlich ein Programm
Unter einem Programm versteht man eine endliche und eindeutige Folge ausführbarer Anweisungen an einen Prozessor in einer bestimmten Programmiersprache. Endlich bedeutet, daß das Programm irgendwann endet. Eindeutigkeit ist notwendig, weil ein Computer nicht selbständig einen Zweifelsfall entscheiden kann. Der Programmierer muß schon genau formulieren, was der Computer tun soll. Da es sinnlos ist, einem Prozessor Befehle zu geben, die er nicht versteht, müssen die Anweisungen auch ausführbar sein.
Die Entwicklung eines Programmes erfolgt meist in mehreren Schritten: Problemanalyse, Programmplanung, Programmcodierung, Programmkorrektur, Programmtest und Dokumentation.
Woher stammt es und welche Entwicklungen folgten?
BASIC wurde Anfang der 60er Jahre in den USA (am Dartmouth College in den USA von J. G. Kemeny und T. E. Kurtz) als stark vereinfachtes FORTRAN (FORmula TRANslator, älteste höhere Programmiersprache) für Schüler und Programmier-anfänger entwickelt. Dieses erste BASIC war sehr, sehr einfach. Es gab nur vierzehn Befehle und einen einzigen Datentyp, nämlich 'number' - es wurde kein Unterschied zwischen Ganz- und Gleitpunktzahlen gemacht. Dieses UrBASIC war auch nicht interaktiv, sondern die Programme mußten erfaßt und dann compiliert werden. Erst dann konnten sie gestartet werden. Dieses BASIC hatte zwar nur einen geringen Leistungsumfang, aber es setzte sich sehr schnell durch, weil es einfach zu erlernen war.
Wenn wir uns den BASIC-Stammbaum ansehen (s.u.), dann erkennen wir, daß BASIC wie gesagt am meisten von FORTRAN übernommen hat. Aber auch einige Eigenschaften von ALGOL und Assembler flossen ein. In den 70-ern gab es bald viele, viele BASIC-Dialekte, die sich alle voneinander unterschieden. Da wurde dann der erste Versuch einer Standardisierung gemacht: American National Standard Programming Language Minimal BASIC. ANSI X3.60-1978. American National Standards Institue, New York.
Es blieb bei diesem einzigen Normierungsversuch - der BASIC-Sprachen-Dschungel blieb weiter bestehen. In den 70-ern eroberte BASIC sogar die Bereiche der Systemprogrammierung: Für das Betriebssystem RSTS auf den Minicomputern der Serie PDP-11 entwickelte Digital Equipment Corporation wichtige Funktionen mit ihrer ziemlich ausgefuchsten Version BASIC-PLUS.
In den späten 70-ern und dann erst in den 80-ern konnte so ziemlich jeder Personal Computer ein BASIC aufweisen, so dass diese Sprache für viele EinsteigerInnen die erste Programmiersprache war, mit der sie sich anfreundeten und dann - vielleicht aus Bequemlichkeit - dabei blieben.
In den späten 80-ern bekam dann BASIC noch einmal erneut Aufwind, als der Marktführer Microsoft seine Version von QuickBASIC freigab (J. C. Bradley, QuickBASIC and Q- BASIC Using Modular Structures. W.C. Brown, 1989, Dubuque, IA). 1990 erschien dann noch Visual BASIC von Microsoft, das speziell auf die Windows-basierten Applikationen ausgerichtet ist.
Auch wenn auf der Joyce diese neuesten BASIC-Varianten nicht zur Verfügung stehen, so können wir doch zwischen diversen Dialekten wählen:
Bereits 1977 wurde von Gordon Eubanks das CBASIC (= Commercial BASIC) ent- wickelt. Eine (frühe) Variante fand dann den Weg in die Public Domain: E-BASIC (= Easy BASIC)..
1982 veröffentlichte DR (= Digital Research) die Version 2.0 von CBASIC. Anders als die ersten CBASIC-Versionen, erzeugt dieser Compiler richtige Objektmodule, die sich mit anderen Modulen zu größeren Programmen zusammenbinden lassen. Für die Joyce ist diese Variante besonders interessant, weil Befehle enthalten sind, mit der sich die GSX- Grafik-Routinen direkt aufrufen lassen. Außerdem verfügt CBASIC 2.0 über eine hochgenaue BCD-Arithmetik mit vierzehn signifikanten Stellen. Anfangs wurde dieses CBASIC auch von Markt & Technik angeboten. Wie meine Recherchen ergeben haben, machte Microsoft Ende 1986 dem M&T-Chef Carl- Franz von Quandt ein 'unsittliches Angebot' der Art: 'Ihr bekommt das MBASIC nur dann, wenn ihr CBASIC aus dem Angebot nehmt!' Kein Kommentar!.
1977 erschien von Microsoft die erste BASIC-Version für CP/M. Diese Version wurde dann immer wieder erweitert. Von Markt & Technik wurde Mitte der 80-er ein Paket angeboten, das das Microsoft-BASIC aus dem Jahr 1981 enthielt. Viele haben sich damals dieses Paket weniger wegen des BASIC, sondern wegen des mitgelieferten Makro-Assemblers M80 gekauft..
Den 1985 erstmals angebotenen Joycies hatte Amstrad ein Super-BASIC mitgegeben: Mallard-BASIC. Amstrad hatte das Softwarehaus Locomotive beauftragt, dieses Mallard-BASIC auf die Joyce zu übertragen. In Großbritannien hatte nämlich der Name Mallard einen guten Klang. Es gab dieses BASIC schon für die BBC-Computer von Acorn.
Während frühere BASIC-Dialekte für ihre unzureichenden Struckturierungsmöglichkeiten berüchtigt waren und zu unleserlichem "Spaghetticode" verleiteten (was wohl der Grund dafür ist, daß BASIC in Schulen nicht so beliebt ist wie
z.B. Turbo Pascal), existieren inzwischen struckturierte Varianten, die viele Elemente von Pascal enthalten.
Die Urversion von BASIC hat heutzutage sogut wie keine Bedeutung mehr, da sie als prähistorisch bezeichnet werden kann, aber die Sprache existiert wenn auch in einer leicht abgewandelten und stark erweiterten Form noch immer. Beispiele hierfür finden sich v.a. in den visuellen BASIC-Dialekten (z.B. MS Visual BASIC, 1991) die in den letzten Jahren unzählige
Funktionserweiterungen
erfahren haben, die sich aber mehr an professionelle Programmierer richten (Was
ja eigentlich nicht
im Sinne der Erfinder ist).
3.) Funktion
Da BASIC mehr oder weniger auf jeden Windows-Rechner standardmäßig installiert ist, kann sich jedermann selbst ein Bild über dessen Funktionsweise machen. Die Ur-Version von BASIC gibt es freilich schon lange nicht mehr, da es nicht mehr den heutigen Ansprüchen gerecht wird und auch die weiterentwickelte, standardmäßig von Microsoft mitgeliefete Version namens QBASIC ist veraltet, doch gerade für Anfänger sind die Programmierschritte, aufgrund der logischen Abfolge und relativen leichten Sprache recht verständlich.
Wahrscheinlich ist dies der Grund, warum Microsoft BASIC noch immer zu seinen Softwarepaketen "dabeipackt", damit sich der Einsteiger ein Bild von dieser Programmiersprache machen und letzlich die neueren und teueren BASIC-Nachfolger wie Visual BASIC kaufen soll.
Jede Programmiersprache verfügt über einen festgelegten Wortschatz aus sogenannten Schlüsselwörtern. Dieser Wortschatz ermöglicht es dem Programmierer in Verbindung mit Konstanten, Variablen und Operatoren, Befehle an einen Computer bzw. seinen Prozessor zu übermitteln. Zu den wichtigsten Schlüssenwörtern in BASIC gehören z. Bsp.:
- cls (löscht den Bildschirm),
- input (nimmt eine Eingabe entgegen),
- print (gibt etwas auf dem Bildschirm aus) und
- end (beendet ein BASIC-Programm).
Der Prozessor versteht die in BASIC formulierten Anweisungen allerdings nicht direkt. Jedes BASIC-Programm muß deshalb erst in die Maschinensprache übersetzt werden. In BASIC geschriebene Programme werden in der Regel für den Prozessor erst dann übersetzt, wenn das Programm 'läuft'. Solche Programmiersprachen nennen wir Interpreter. BASIC interpretiert die im Programm formulierten Befehle so, daß sie vom Prozessor verstanden werden.
Neben den Interpretersprachen gibt es auch Compilersprachen. Eine Compilersprache übersetzt ein Programm schon vor der Ausführung in die Sprache des Prozessors. Compilierte Programme für PC's sind direkt ausführbar, ihre Dateinamenergänzung ist COM oder EXE. Pascal oder C sind solche Compilersprachen. Es gibt allerdings auch BASIC-Compiler!
4.) Erklärung anhand eines Beispielprogrammes:
Probieren Sie doch einmal QBASIC zu starten. Wenn Sie sich unter Windows befinden müssen Sie erst in den MS-DOS-Modus wechseln oder die MS-DOS-Eingabeaufforderung starten. Geben Sie hier einfach 'QBASIC' ein und drücken Sie Enter. Nun sollte der Willkommens-Bildschirm erscheinen (siehe Deckblatt)
Geben Sie bitte einmal folgenden Text ein:
PRINT 'Hallo Welt'
Um dieses 'Programm' zu starten können Sie entweder einfach auf F5 drücken, oder in dem Menü 'Ausführen' auf 'Starten' klicken. Nun sollte folgendes (oder so ähnlich ) auf dem Bildschirm zu sehen sein:
Der Verzeichnisinhalt meiner Festplatte ist hier wohl weniger interessant als vielmehr die unterste Zeile und die Zeile darüber. Offensichtlich hat das Programm also den Text 'Hallo Welt' ausgegeben. Das ist zwar noch nichts weltbewegendes und wird auch wohl nie ein Shareware-Hit, jedoch ist es ein Anfang. Nach der Ausführung eines Programms wartet QBASIC automatisch darauf, daß Sie eine Taste drücken, um wieder in den QBASIC-Editor zu gelangen. Nachdem Sie also eine Taste gedrückt haben können Sie sich diesen Bildschirm mit 'Ansicht' und 'Ausgabebildschirm' wieder ansehen (oder einfach F4 drücken!).So, das war also Ihr (wahrscheinlich) erstes QBASIC-Programm. Nun, diese unglaubliche Funktionalität ist zwar nicht sehr beeindruckend aber es ist die Grundlage.
Wenn Sie sich das Programm (sprich die eine Zeile :-) ) ansehen, kann man sie grob unterteilen:
1. PRINT
2. 'Hallo Welt!'
Wie Sie ja gesehen haben wurde auf dem Bildschirm 'Hallo Welt!' ausgegeben. Diese Ausgabe kam natürlich nicht von Geisterhand und ist auch ausnahmsweise kein Bug von Microsoft sondern sie war gewollt. Woher wußte der Computer also, daß er 'Hallo Welt!' ausgeben sollte? Die Frage sollte nicht allzu schwer zu beantworten sein, denn außer dem Text 'Hallo Welt!' bleibt nur 'PRINT' über
Also war PRINT dafür verantwortlich, daß der Text ausgegeben wurde. Und wie Sie (hoffentlich) wissen ist PRINT englisch und heißt soviel wie 'drucken'. Wir haben es also mit einer Art Sprache zu tun. Der Computer nimmt von uns Anweisungen entgegen und führt Sie aus. Diese Anweisungen müssen natürlich für den Rechner verständlich sein. Daher hat jede Programmiersprache auch eine Festlegung dieser Befehle.
Wir können also Festhalten: Ein Programm besteht aus Anweisungen für den Computer, den sogenannten Befehlen. Diese Befehle müssen in einer für den Computer verständlichen Sprache verfaßt sein, daher kommt auch der Name Programmiersprache.
Eine Sprache besteht natürlich nicht aus einem Wort (oder Befehl) sondern aus vielen Wörtern. PRINT ist also auch nur ein Befehl. Nun wollen wir uns mit diesem Befehl etwas näher beschäftigen. Andern Sie dazu einmal den Text der in Anführungszeichen steht. Diese müssen erhalten bleiben:
PRINT 'Guten Tag, lieber Benutzer!'
In den Anführungszeichen kann also ein beliebiger Text stehen. Somit sind wir also in der Lage, Texte auf dem Bildschirm auszugeben:
PRINT 'Guten Tag!'
PRINT ''
PRINT 'Hier spricht Ihr Computer!'
Ich habe mir überlegt, daß ich Ihnen die Funktion von weiteren BASIC-Befehlen am besten an einem kleinen (!) Projekt verdeutlichen kann. Ziel
ist die Erstellung eines Programms, daß es ermöglicht, den Flächeninhalt eines Quadrates auszurechnen. Das klingt sehr banal, jedoch ist ein
kleines Programm zum Lernen besser geeignet als ein riesiges Softwarepaket.
Vorüberlegungen:
Jedes Programm (zumindest die großen) sollten geplant werden. Hier also einige Überlegungen zu dem Programm.
Der Benutzer soll dazu aufgefordert werden, die Breite des Quadrates einzugeben
Der Benutzer soll die Breite eingeben
Der Benutzer soll dazu aufgefordert werden, die Höhe des Quadrates einzugeben
Der Benutzer soll die Höhe eingeben
Der Flächeninhalt soll errechnet werden (Breite * Höhe)
Der Flächeninhalt soll ausgegeben werden
Wie Sie sehen kann man selbst ein kleines Programm genauestens planen!
Die Realisierung:
Ich werde Ihnen jetzt erst mal das fertige Programm vorgeben. Auf den nächsten Seiten werden wir es dann Stück für Stück besprechen.
CLS
PRINT 'Geben Sie die Breite des Quadrates ein'
INPUT Breite
PRINT 'Geben Sie die Höhe des Quadrates ein'
INPUT Hoehe
Inhalt = Breite * Hoehe
PRINT ''
PRINT 'Der Flächeninhalt beträgt: '
PRINT Inhalt
Geben Sie dieses Programm einmal ein und drücken Sie F5. Nun können Sie beliebige Werte eingeben und das Programm errechnet den Flächeninhalt. Das könnte dann so aussehen:
Die erste Zeile lautet:
CLS
CLS ist sowohl unter BASIC als auch unter DOS ein Befehl. CLS steht für ClearScreen und dient dazu, den Bildschirm zu löschen / zu leeren.Sie brauchen übrigens nicht probieren, sich jeden Befehl krampfhaft zu merken, denn am Ende dieses Teils finden Sie noch eine Übersicht dererlernten Befehle.CLS ist hier sehr sinnvoll, damit der Bildschirm freigeräumt wird. Dadurch wird das Programm für den Benutzer übersichtlicher.
Die zweite Zeile lautet:
PRINT 'Geben Sie die Breite des Quadrat
Der Zweck dieser Zeile sollte Ihnen kein Kopfzerbrechen mehr bereiten. PRINT wird hier nur benutzt um einen Text auszugeben.
Die dritte Zeile lautet:
INPUT Breite
Hier kommt wieder ein neuer Befehl vor. Er lautet INPUT. INPUT wird hier verwendet, um den Benutzer eine Zahl eingeben zu lassen. Die Frage ist nur wie kommen wir nun an die eingegebene Zahl und was können wir damit machen?!
Um das zu beantworten will ich jetzt erst auf eine andere Seite von Befehlen hinweisen:
Die meisten Befehle benötigen sogenannte Parameter.
Hinter dem Befehl PRINT kann man zum Beispiel einen Text eingeben:
PRINT 'Hallo Welt!'
Der Text 'Hallo Welt!' ist also ein Parameter des Befehls PRINT. Jeder Befehl braucht unterschiedliche Parameter oder teilweise gar keine. Der Befehl CLS benötigt zum Beispiel keinen Parameter. So hätte die Zeile
CLS 'Hallo Welt!'
keinen Sinn und QBASIC würde einen Fehler melden.
Also halten wir fest: Die meisten Befehle benötigen Parameter um zu funktionieren. Diese Parameter stehen hinter dem Befehl.
Und nun wieder zu unserem Befehl INPUT:
Hinter INPUT steht offensichtlich ein Parameter. In diesem Fall 'Breite'. Wenn diese Zeile ausgeführt wird erscheint auf dem Bildschirm zunächst ein Fragezeichen und der Benutzer soll eine Zahl eingeben. Nachdem der Benutzer ENTER gedrückt hat wird diese Zahl in der Variablen 'Breite' gespeichert
C2 = A2 + B2
A, B und C sind hier Variablen. Jeder Variable ist ein Wert zugeordnet. Zum Beispiel:
A=5
B=10
C2 = 52 + 102
Jetzt könnten wir C ausrechnen Bei der Programmierung haben Variablen den gleichen Zweck und werden zum größten Teil auch so benutzt wie in der Mathematik:
Breite = 5
Hoehe = 10
Inhalt = Breite * Hoehe
Unter QBASIC können wir einfach mit Variablen Gleichungen wie in der Mathematik aufstellen (zumindest bis zu einem gewissen Grad). Wir können den Wert einer Variable vorgeben (Breite=5) oder ihn vom Benutzer eingeben lassen (INPUT Breite):
INPUT Breite
INPUT Hoehe
Inhalt = Breite * Hoehe
Der Benutzer muß nun erst den Wert eingeben, der der Variable 'Breite' zugeordnet wird. Danach muß er dann den Wert eingeben, der der Variable Hoehe zugeordnet wird.
Nun können wir bzw. QBASIC die Gleichung 'Inhalt = Breite * Hoehe' ausrechnen.
Wir können also festhalten: Eine Variable ist ein Platzhalter wie in der Mathematik. Ihr kann ein Wert zugeordnet werden. Dieser Wert kann vom Programmierer fesgelegt werden; der Wert kann vom Benutzer eingegeben werden oder der Wert kann ausgerechnet werden. Eine Variable hat einen festen Namen,. der aus einem Wort besteht. Mit diesem Namen kann die Variable benutzt werden.
Die Zeile:
INPUT Breite
läßt den Benutzer also einen Wert eingeben, der dann der Variablen Breite zugeordnet wird.
Die vierte Zeile lautet:
PRINT 'Geben Sie die Höhe des Quadrates ein'
Diese Zeile enthält für uns jetzt keine Überraschungen. Es wird wie in der zweiten Zeile ein Text ausgegeben.
Die fünfte Zeile lautet:
INPUT Hoehe
Auch hier muß der Benutzer wieder einen Wert eingeben, der diesmal der Variable 'Hoehe' zugeordnet wird.
Die sechste Zeile lautet:
Inhalt = Breite * Hoehe
In dieser Zeile kommen die Variablen 'Breite' und 'Hoehe' zum Einsatz: Der Variablen 'Inhalt' wird das Produkt der beiden anderen Variablen zugewiesen. Diese Zeile ist wie eine mathematische Gleichung aufgebaut. Auf der linken Seite des Gleichheitszeichens steht die Variable, der ein Wert zugeordnet werden soll, auf der rechten Seite steht der Wert selbst.
Die letzte Zeile lautet:
PRINT Inhalt
Hier kommt wieder einmal der PRINT-Befehl zum Einsatz. Doch diesmal haben wir keinen Text wie in Zeile 2 & 4, sondern der einzige Parameter hinter dem Befehl PRINT ist die Variable 'Inhalt'. Na, ahnen Sie schon etwas? Ich hoffe doch, daß Sie darauf gekommen sind:
PRINT gibt jetzt den Wert aus, der der Variable zugeordnet ist. Wenn der Variablen 'Inhalt' z.B. der Wert 50 zugeordnet ist, so wird auch '50' auf dem Bildschirm ausgegeben.
5. Übersicht der wichtigsten BASIC-Befehle
CLS
Dieser Befehl leert den Bildschirm wie unter DOS. Es sind keine Parameter erforderlich.
Durch INPUT wird der Benutzer dazu aufgefordert einen Wert einzugeben. Dieser Wert wird dann der Variable zugewiesen und kann später im Programm benutzt werden.
Beispiel:
INPUT X
X=X*2
PRINT X
Der Befehl PRINT dient dazu um allgemein Informationen auf dem Bildschirm auszugeben. Es kann sowohl ein Text ausgegeben werden, der in Anführungszeichen steht, als auch z.B. der Wert einer Variable. Ebenfalls kann auch einfach eine Zahl ausgegeben werden
Beispiel:
PRINT 'Hallo Welt!'
PRINT 6140
X=10
PRINT X
6.) Quellen:
-http://www.chemie.fu-berlin.de/lehre/edv/basic.html
-http://joyce.de/story/BASIC.htm
-http://olsnsrv.cs.uni-magdeburg.de/OLSN/Wissen/Informatik/Geschichte/Hist.Sprache.html
-http://www.fys.ruu.nl/~bergmann/history.html
-http://www.shuttle.de/fw1004/gesuin04.htm
-http://private.freepage.de/peter1/wwwlexikon/basic.htm
-H.R. Hansen, Wirtschaftsinformatik I, 7. Auflage, S. 846f
Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen