Microsoft Small Basic

aus ZUM-Wiki, dem Wiki für Lehr- und Lerninhalte auf ZUM.de
Wechseln zu: Navigation, Suche
Logo von Small Basic

Inhaltsverzeichnis

Was ist Microsoft Small Basic?

Viele Entwickler der Microsoft Corporation arbeiten auch abseits von ihrem „daily business“ an Programmierprojekten und entwickeln innovative und praktische Anwendungen, die interessierten Benutzern/-innen auf der ganzen Welt, meist kostenlos, über die Microsoft-Homepage herunterladen können. Small Basic ist eine dieser Anwendungen. Sie wurde von einem ehemaligen Microsoft-Entwickler namens Vijaye Raji entwickelt. Der Grundgedanke hinter Small Basic ist die Einfachheit dieser simpel gehaltenen und recht spartanisch ausgestatteten Entwicklungsumgebung. Wie sich aus den didaktischen Grundsätzen für den Einstieg ins Programmieren ableiten lässt, sollen der Spaß und das Interesse am Erlernen und der praktischen Verwendung einer Programmiersprache im Vordergrund stehen. Small Basic besteht daher aus einer übersichtlichen Bedienoberfläche, einer aus nur dreizehn Schlüsselwörtern und zwanzig Klassen bestehenden Programmiersprache und Programmbibliotheken. Die Syntax ist für Programmierneulinge so einfach gehalten wie man es von BASIC kennt, ist dennoch stark an Visual Basic angelehnt, was den Export von Small Basic Anwendungen in das Microsoft Visual Studio ermöglicht. Fortgeschrittene Anwender/-innen haben auch mit Small Basic die Möglichkeit komplexe Anwendungen zu erstellen – auf objektorientiertes Programmieren wird dabei aber bewusst verzichtet – zumal es ihnen in weiterer Hinsicht den Umstieg auf die Sprache Visual Basic erleichtert.

Der Artikel "Why Johnny can't code", der Vijaye Raji zur Entwicklung von Small Basic bewegte: [1]

Ein Interview mit Vijaye Raji: [2]

Download und Installation

Microsoft stellt Small Basic auf der Webseite http://smallbasic.com kostenlos zum Download zur Verfügung. Aktuell ist die Version 1.0 verfügbar. Man erhält ein .msi-Installationsfile, das einerseits direkt auf dem lokalen Rechner installiert, andererseits auch problemlos vom Server aus über das Netzwerk an die Clientrechner verteilt werden kann. Was die Systemanforderungen angeht, muss Windows XP, Windows Vista oder Windows 7, sowie Microsoft .NET Framework 3.5 vorhanden sein, um Small Basic verwenden zu können.

Standardmäßig wird Small Basic in der englischen Sprachversion installiert. Will man der Installation ein weiteres Sprachpaket hinzufügen, muss dies im Setup Wizard als benutzerdefinierte Einstellung angeben werden.


Die Benutzeroberfläche

Die sehr übersichtliche Benutzeroberfläche beinhaltet grundlegend vier Elemente:

Msboberfläche.jpg


1. Die Symbolleiste, die folgende Symbole beinhaltet:

  • Erstellen eines neuen Programmes
  • Öffnen eines gespeicherten Programmes
  • Speichern und Speichern unter des im Editor angezeigten Programmes
  • Importieren und Veröffentlichen von Programmen aus dem, bezie-hungsweise in das Internet
  • Ausschneiden, Kopieren und Einfügen von Codesegmenten
  • Schrittweises Rückgängig machen und Wiederholen von Änderungen
  • Ausführen des im Editor stehenden Programmes
  • Konvertieren des im Editor stehenden Programmes von Small Basic ins Visual Studio (sofern diese Entwicklerumgebung installiert ist)

2. Das Editorfenster, in dem der Programmcode geschrieben und verändert wird

3. Die Programmoberfläche, auf der die Editorfenster erscheinen

4. Die Informationsleiste, in der während der Erstellung eines Programmes Infor-mationen zu den aktuell verwendeten Klassen und Objekten, sowie deren Eigenschaften angezeigt werden

Small Basic hält ein weiteres nützliches Werkzeug parat, die sogenannte „IntelliSense“. Diese schlägt bei der Eingabe in den Editor zum Geschriebenen passende Codeteile vor und unterstützt so die Benutzer/-innen beim Programmieren.


Schlüsselwörter und Klassen

Auf dieser Seite finden Sie eine Übersicht über die Schlüsselwörter und Klassen, die in Small Basic verwendet werden können: [3]


Programme veröffentlichen/herunterladen

Ein weiteres interessantes Feature von Small Basic ist die Möglichkeit, die eigenen Programme im Internet zu veröffentlichen, beziehungsweise auf fertige Programme, deren Programm-ID man kennt, über das Internet zuzugreifen. Beim Veröffentlichen wird dem Programm automatisch eine ID zugewiesen. Zusätzlich kann man einen Programmtitel, eine kurze Beschreibung des Programmes erstellen und eine Kategorie wählen, die dem Sinn des Programmes entspricht.


Vor- und Nachteile von Small Basic

Aus meiner persönliche Erfahrung mit dem Programm, kann ich folgendes berichten. Neben den zuvor schon erwähnten, sind weitere Vorteile von Small Basic die simple Installation, da es als msi-Paket einfach in einem bestehenden Microsoft-Netzwerk verbreitet und installiert werden kann, der geringe Kostenaufwand, da für die Anschaffung keine Kosten entstehen und die einfache Umgebung, in der die Schüler/-innen mit wenigen Befehlen den Umgang mit einer „richtigen“ Programmiersprache erlernen können. Intelli Sense vereinfacht die Eingabe dieser Befehle noch zusätzlich. Leider fehlt eine, aus anderen Entwicklungsumgebungen bekannte, Fehlerkorrektur während der Eingabe. Tritt während der Laufzeit eines Programmes ein Fehler auf, weist Small Basic zwar darauf hin, wo im Programm sich ein Fehler befindet, dies wäre aber schon während des Schreibens des Programmcodes hilfreich. Außerdem sollte ein Programm in regelmäßigen Abständen gespeichert werden, da Small Basic gelegentlich unerwartet abstürzt.


Beispiele für die Verwendung von Small Basic

Um ein grundlegendes Verständnis für das Programmieren zu entwickeln, ist es unumgänglich ein paar Basics kennenzulernen. Dazu gehören auf jeden Fall Variablen, Schleifen und Verzweigungen.


Variablen:

'Variablen in Small Basic
'Bernhard Wolf, 22.2.2012
'
'Programme verarbeiten verschiedenste Informationen.
'Das sind normalerweise Zahlen, Texte, Datumsangaben, Dateien, ...
'Für diese Informationen müssen wir im Programm Platzhalter schaffen.
'Diese Platzhalter bezeichnet man als Variablen, da die zugewiesenen Werte
'variabel sind und sich wärend des Programmablaufs ändern können.
'Jede Variable erhält von uns einen eindeutigen Namen.
'Es gibt verschiedene Typen von Variablen. Die Verwendung hängt davon ab, 
'welche Werte man ihnen zuweisen will.
'
'In diesem Beispiel geht es um Bananen. Wir werden vom Programm gefragt,
'wieviele Bananen wir gekauft haben, was eine gekostet hat, ob faule dabei waren
'und welche Informationen wir über die Bananen haben.
'Wir benötigen folgende Variablen:
'
'Anzahl der gekauften Bananen -> AnzahlBananen
'Kosten einer Banane -> KostenBananen
'Summe der Kosten -> SummeBananen
'Waren faule Bananen dabei? -> FauleBananen
'Informationen zu den Bananen -> InfoBananen
'
'Da man Bananen meist im Ganzen kauft, ist der zugewiesene Wert eine ganze Zahl.
'Der entsprechende Variablentyp heißt integer.

TextWindow.Write("Wieviele Bananen wurden gekauft? ")
AnzahlBananen = TextWindow.Read()

'Der Betrag, den eine Banane kostet, ist keine ganze Zahl, sie enthält ein Komma.
'Der entsprechende Variablentyp heißt float.

TextWindow .Write("Wieviel hat eine Banane gekostet? (Punkt als Komma verwenden!) ")
KostenBananen = TextWindow.Read()

'Die Summe der Banane wird nach der Eingabe von Anzahl und Einzelpreis 
'automatisch errechnet.

SummeBananen = AnzahlBananen * KostenBananen

'Jetzt fragt uns das Programm, ob auch faule Bananen dabei waren. Die Antwort
'soll wahr oder falsch sein, also true oder false. Der hier benötigte Variablentyp ist 
'boolean.

TextWindow.Write("Waren faule Bananen dabei? (true/false) ")
FauleBananen = TextWindow.Read() 

'Schlussendlich fragt uns das Programm, ob wir zusätzliche Informationen über die 
'Banane hinzufügen wollen. Hierbei handelt es sich um einen Text, der Variablentyp
'heitßt string.

TextWindow.WriteLine("Bitte geben Sie Informationen über die Bananen ein! ")
InfoBananen = TextWindow.Read()

'Am Ende des Programmes wollen wir eine Übersicht über den Einkauf erhalten.


TextWindow.WriteLine("--------------------------------------------------")
TextWindow.WriteLine("Sie haben " + AnzahlBananen + " Bananen zu je " + KostenBananen + " Euro gekauft.")
TextWindow.WriteLine("Die Summe baträgt " + SummeBananen + " Euro")
TextWindow.WriteLine("Waren faule Bananen dabei? " + FauleBananen)
TextWindow.WriteLine("Informationen über die Bananen: " + InfoBananen)
TextWindow.WriteLine("--------------------------------------------------")

Bedingungen und Verzweigungen:

'Bedingungen und Verzweigungen in Small Basic
'Bernhard Wolf, 22.2.2012

'Wie im richtigen Leben, stehen auch Programme oft vor einer Entscheidung, von der abhängt, 
'wie der weitere Programmverlauf aussehen wird. Diese Entscheidungen nennt man Verzweigungen. 
'
'Abhängig von einem gezählten, errechnete oder eingegebenen Wert, führt das Programm die für
'den jeweiligen Fall vorgesehenen Befehle aus.
'
'Eine Verzweigung wird mit einem If eingeleitet. Danach  folgen die Bedingung und ein Then. Als nächstes
'legen wir fest, was geschehen soll, falls die Bedingung zutrifft. Um eine Alternative anzubieten, falls die 
'Bedingung nicht zutrifft, setzen wir ein Else (bei mehreren Möglichkeiten ein ElseIf) und legen die Alternativ-
'Variante fest. Beendet wird die Verzeigung mit einem EndIf.

'Erweitern wir also unser Bananen-Beispiel um zwei Verzweigungen:

TextWindow.Write("Wieviele Bananen wurden gekauft? ")
AnzahlBananen = TextWindow.Read()
TextWindow .Write("Wieviel hat eine Banane gekostet? (Punkt als Komma verwenden!) ")
KostenBananen = TextWindow.Read()
SummeBananen = AnzahlBananen * KostenBananen
TextWindow.Write("Waren faule Bananen dabei? (ja/nein) ")
FauleBananen = TextWindow.Read() 

'In unserer ersten Verzweigung machen wir die Eingabe etwas benutzerfreundlichen. Statt true oder false
'soll ja oder nein eingegeben werden können. Die Verzweigung setzt die FauleBananen-Variable auf den 
'boolschen Wert.

If FauleBananen = ("ja") Then
FauleBananen = ("true")
ElseIf FauleBananen = ("nein") Then
FauleBananen = ("false")
Else
TextWindow.WriteLine("Bitte antworten Sie nur mit ja oder nein!")
EndIf

'Weiter geht es mit der zweiten Verzweigung. In der Zusammenfassung am Ende des Programmes soll
'nicht der boolsche Wert, sondern ein ganzer Satz ausgegeben werden.

If FauleBananen = ("true") Then
FauleBananenText = ("Leider waren auch faule Bananen dabei! :(")
Else
FauleBananenText = ("Zum Glück waren keine faulen Bananen dabei! :)")
EndIf

TextWindow.WriteLine("Bitte geben Sie Informationen über die Bananen ein! ")
InfoBananen = TextWindow.Read()

'Zusammenfassung

TextWindow.WriteLine("--------------------------------------------------")
TextWindow.WriteLine("Sie haben " + AnzahlBananen + " Bananen zu je " + KostenBananen + " Euro gekauft.")
TextWindow.WriteLine("Die Summe baträgt " + SummeBananen + " Euro")
TextWindow.WriteLine(FauleBananenText)
TextWindow.WriteLine("Informationen über die Bananen: " + InfoBananen)
TextWindow.WriteLine("--------------------------------------------------")

Schleifen:

'Schleifen in Small Basic 'Bernhard Wolf, 22.2.2012

'In Small Basic gibt es zwei Arten von Schleifen: 'Erstens die For-Schleife (auch Zählschleife genannt). Wir benötigen sie um Befehle so oft 'ausführen zu lassen, bis ein bestimmter Endwert erreicht ist. Dazu legen wir den Start-, ' 'den Endwert und die Schrittweite fest. Bei jedem Durchgang wird der Startwert um die 'Schrittweite verändert, bis der Endwert erreicht ist. 'Zweitens gibtes die While-Schleife. Diese verwenden wir vor allem dann, wenn nicht 'bekannt ist, wie oft die Schleife durchlaufen werden muss, bis das Ziel erreicht ist. 'In folgendem Beispiel üben wir die Verwendung der beiden Schleifenarten: 'Als erstes lassen wir das Programm in Zehnerschritten von 0 bis 100 zählen. 'Dazu verwenden wir eine For-Schleife. Als Zähler verwenden wir die Variable i. 'Nach jedem Schritt wird der aktuelle Wert von i ausgegeben.

TextWindow.Write("Zum Starten der For-Schleife die Enter-Taste drücken!") TextWindow.Read()

For i = 0 To 100 Step 10 TextWindow.WriteLine(i) EndFor

'Nun schauen wir uns an, wie oft Small Basic die die Zahl 100 durch 2 teilen kann, bis 'annähernd Null erreicht ist. Da wir die Anzahl der benötigten Schritte nicht kennen, 'verwenden wir eine While-Schleife. Als Variable dient uns hier das j.

TextWindow.Write("Zum Starten der While-Schleife die Enter-Taste drücken!") TextWindow.Read() j = 100 While (j > 0) TextWindow.WriteLine(j) j = j / 2 EndWhile


Weitere Codebeispiele:

Microsoft stellt im Download Center der Homepage ein umfangreiches Dokument mit dem Namen „Microsoft Small Basic – Eine Einführung ins Programmieren“ zum Download bereit. Darin sind unter anderem viele Codebeispiele enthalten, die ein gutes Grundwissen vermitteln und den Funktionsumfang von Small Basic demonstrieren. Ebenso bietet das eBook „Beginning Microsoft Small Basic Programming Tutorial“ viele Erklärungen, sowie weitere Code- und Programmbeispiele.

Ein weiteres Beispiel für die Verwendung von Small Basic: [4]