BASIC



Inhaltsverzeichnis:







1.) Was zum Geier ist BASIC ? Seite 3
2.) Woher stammt es und welche Entwicklungen folgten ? Seite 3
3.) Funktion Seite 5
4.) Erkl├Ąrung anhand eines Beispielprogrammes Seite 5
5.) ├ťbersicht der wichtigsten BASIC - Befehle Seite 9
6.) Quellen Seite 9

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, dass das Programm irgendwann endet. Eindeutigkeit ist notwendig, weil ein Computer nicht selbst├Ąndig einen Zweifelsfall entscheiden kann. Der Programmierer muss 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.


2.) 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 mussten 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, dass 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, dass 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 muss 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, dass 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, dass 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, dass 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, dass 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. ├ändern 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, dass ich Ihnen die Funktion von weiteren BASIC - Befehlen am besten an einem kleinen (!) Projekt verdeutlichen kann. Ziel
ist die Erstellung eines Programms, dass 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 muss nun erst den Wert eingeben, der der Variable "Breite" zugeordnet wird. Danach muss 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├Ąsst 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 muss 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, dass 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.

INPUT Variable

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

PRINT ["Text" / Variable ]

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

2826 Worte in "deutsch"  als "hilfreich"  bewertet