Einführung
Malango eignet sich besonders um mit dem Programmieren ohne Vorkenntnisse zu beginnen, die Sprache enthält alle grundlegenden Funktionen die in anderen Programmiersprachen auch zur Grundausstattung gehören.

Fortgeschrittene schwierigere Konzepte die Anfänger oft überfordern werden zunächst ausgeklammert und im Verlauf des Kurses Schritt für Schritt eingeführt.
Malango ist eng verwandt mit Java, beide Sprachen haben grosse Ähnlichkeiten. Tatsächlich wird jedes erfolgreich geprüfte Malango Programm direkt in ein Java Programm übersetzt und dieses dann ausgeführt.
Das erzeugte Java Programm kann in der Entwicklungsumgebung eingesehen werden.

Malango Programmprüfung und Fehlerausgaben
Weil Malango besonders für Programmieranfänger geeignet sein soll, wurde höchsten Wert auf verständliche Fehlermeldungen gelegt.
Die Programmprüfung und Fehlerausgabe ist daher viel weitreichender und detaillierter als zum Beispiel bei reinem Java. Dies ist ein wesentlicher Vorteil der gerade Anfängern zugute kommt.

Ziel des Kurses
Das Ziel dieses Kurses ist es dich mit dem Programmieren vertraut zu machen. Malango stellt alle Funktionen bereit die Du dazu benötigst.
Es werden zunächst die Grundlagen der sogenannten prozeduralen Programmierung gelernt und in Übungen vertieft, darauf aufbauend werden dann objektorientierte Programmierkonzepte eingeführt.

Zum Schluss des Kurses werden wir die fehlenden Bausteine zur Programmiersprache Java erlernen, somit kannst Du nach Abschluss des kompletten Kurses sofort anfangen in Java Programme zu schreiben.
Alles was Du in diesem Kurs lernst kannst Du später ohne Mühe in Java verwenden, wir werden uns alle Themen ansehen um dies zu bewerkstelligen.
Ziel ist auch Anregungen für eigene Programmierideen zu geben und diese umzusetzen.

Themen des Kurses
Der Kurs beschäftigt sich mit grundlegenden Programmierkonzepten, die in den Übungen vertieft werden. In den Übungen werden Programme erstellt, manchmal reine Übungsprogramme aber so oft wie möglich auch nützliche Programme wie zum Beispiel einen Vokabeltrainer, einen Taschenrechner, ein Malprogramm usw.

Zum Aufbau des Kurses
Im Kurs werden nacheinander Konzepte eingeführt die teilweise aufeinander aufbauen. Du solltest also mit Lektion 1 beginnen und dich der Reihe nach den Übungen widmen.
Zu Beginn einer jeden Übungseinheit wird erklärt welche Kapitel des Kurses vorausgesetzt werden. Du kannst also nach Lesen dieser Einführung, sofort zur Übungsaufgabe 1 gehen und dir ansehen welche Kapitel Du zunächst lesen solltest.

Ein Hinweis zu den Lösungsvorschlägen:
Diese sind Musterlösungen, deine Lösung kann in manchen Fällen durchaus davon abweichen. Dein Programm sollte jedoch die gleichen Funktionen erfüllen.
Du wirst nach und nach erlernen wie Du neben dem reinen Lösungsweg deine Lösung auch effizient gestalten kannst, dies wird Bestandteil der Übungen sein.

Malango Assistent
Es kann Situationen geben in denen Du Hilfe brauchen könntest, weil Du dir zum Beispiel nicht erklären kannst warum dein geschriebenes Programm nicht erfolgreich geprüft werden kann.
Trotz aller eingebauten Hilfsfunktionen ist es in solchen Fällen ratsam einen persönlichen Assistenten
der dir Hilfestellung geben kann hinzuzuziehen.
Falls noch nicht getan, kannst Du auf der Mangologo Webseite ein Unterstützungspaket erwerben, Du erhälst Dann persönliche Unterstützung in allen Fragen rund ums Programmieren mit Malango.

Hinweis zur kostenlosen Version
In dieser Version sind alle Inhalte verfügbar die zur Lösung der ersten beiden Übungseinheiten benötigt werden. Möchtest Du mit dem Kurs fortfahren so kannst Du den Einführungskurs hier erwerben:
www.mangologo.de/download.html




Entwicklungsumgebung

Überblick Entwicklungsumgebung

Nachdem das Programm gestartet wurde, ist das IDE Programmfenster am Bildschirm zu sehen.
IDE ist englisch und heisst ausgeschrieben Integrated Development Environment, was auf deutsch integrierte Entwicklungsumgebung heisst.
Eine integrierte Entwicklungsumgebung hilft dir beim Erstellen eines Programmes, und bei Überprüfen des Programmes auf Schreibfehler oder sonstige prüfbare Fehler.
Nach erfolgreicher Prüfung, kannst du innerhalb der IDE das Programm auch starten und ausführen.

Möchtest Du ein Programm schreiben so beginnst Du den Programmtext in den Editor einzugeben.
(Falls nicht geöffnet klicke auf Lasche Editor)
Der Editor hilft dir bei der Eingabe von Programmtext indem er zum Beispiel alle Malango Sprachelemente fett markiert, das heisst die Buchstaben erscheinen hervorgehoben, Texte werden in Anführungszeichen farbig dargestellt usw.

Ansonsten sind viele Funktionen die Du vielleicht aus anderen Editoren wie Word schon kennst auch im Malango Editor vorhanden, zum Beispiel das Kopieren und Einfügen von Text,
wenn Du näheres zum Editor erfahren willst so schlage bitte im Kapitel über den Editor nach.

Nachdem Du den Programmtext eingegeben hast, hast Du die Wahl den Text erst zu überprüfen
ob Du alles richtig eingegeben hast, man sagt dazu man prüft die Programmsyntax,
oder direkt das Programm auszuführen wobei vorher noch die Syntax-Prüfung automatisch ausgeführt wird.
Klicke auf den Knopf Prüfen für die Syntaxprüfung oder den Knopf Ausführen um das Programm zu starten

Drückst Du Prüfen und alles stimmt, bekommst Du eine Meldung dass die Prüfung erfolgreich war
und dein Malango Programm in ein Java Programm übersetzt werden konnte.
Das erzeugte Java Programm kannst du dir unter Java Programmtext ansehen, dies wird allerdings
erst später wichtig wenn wir uns näher mit Java beschäftigen.
(Klicke auf die Lasche Java Programmtext um den Java Programmtext zu sehen).

Um das Programm zu starten klickst Du den Knopf Ausführen.
Das Programm wird nun ausgeführt und der Bildschirm Konsole wird angezeigt auf dem alle Programmausgaben angezeigt werden.
Auch Eingaben können, wenn im Programm vorgesehen, hier gemacht werden.

Das oben besprochene wird verständlicher im Abschnitt: Das erstes Programm,
Hier werden erste Beispielprogramme erstellt die dir den Einstieg erleichtern und die dir die Funktionen der IDE verdeutlichen.


Der Editor

Im Editor gibst du den Programmtext ein. Um ihn zu öffnen klicke auf die Lasche Editor im IDE Fenster.Der Editor funktioniert wie ein gewöhnliches Schreibprogramm wie zum Beispiel Wordpad hat jedoch darüberhinaus für dasSchreiben von Malango Programmtext spezielle Funktionen.
Das Editorfenster ist in zwei Bereiche gegliedert:
Linker Bereich für die Eingabe von Programmtext
Rechter Bereich die Auswahl der verfügbaren Sprachelemente.

Fettschrift
Alle Malango eigenen Wörter werden fett dargestellt. Feste Ausdrücke werden schwarz, Funktionen aus der Malango Programmbibliothek blau dargestellt.

Editor Hilfsfunktionen
Im rechten Bereich befindet sich die Auswahl mit den verfügbaren Sprachelementen.
Klickst Du auf eines der Sprachelemente öffnet sich die Kurzbeschreibung und durch einen weiteren Klick auf Ausführliche Beschreibungwird ein passender Hilfetext mit Beispielen im Browser angezeigt.

Wenn Du C neben dem Sprachelement anklickst wird der passende Programmtext in den Editor kopiert,und zwar immer an der Stelle an dem sich gerade der Cursor befindet
(der blinkende Balken der die Eingabestelle anzeigt).
Vergiss nicht alle rot markierten Syntaxteile durch passende Ausdrücke zu ersetzen, siehe im Hilfetext nachwenn etwas unklar sein sollte.
Das Ersetzen der rot markierten Syntaxteile (auch Token genannt) kannst Du am komfortabelsten mit der EditorfunktionErsetzen bewerkstelligen. Drücke dazu auf den Knopf Ersetzen oder
wenn Du die Taste Strg und T gleichzeitig drückst wird ebenso das nächste Token markiert das zu ersetzen ist. Das markierteToken wird automatisch gelöscht sobald Du beginnst Text einzugeben.

Ansonsten sind alle üblichen Editor Funktionen wie
Kopieren (drücke gleichzeitig Strg+C, also die Tasten Strg und C),
Einfügen (drücke Strg+V) und
Ausschneiden (drücke Strg+X) vorhanden.
Auch eine Rückgänging Funktion ist über Strg+Z verfügbar. Die zuletzt gemachte Eingabe wird damit zurückgenommen.
Um die letzte Rückgängig Funktion wieder zurückzunehmen drücke Strg+Y.

Markieren
Zum Markieren von Text mit der Maus:
Halte die linke Maustaste gedrückt und ziehe mit der Maus den Bereich auf den Du markieren willst.
Zum Markieren mit der Tastatur:
Halte die Umschalttaste gedrückt und benutze die Pfeil Tasten um die gewünschten Wörter oder Zeilen zu markieren.
Willst Du den ganzen Text markieren so drücke die Tastenkombination Strg+A.
Markierte Bereiche können mit Strg+C kopiert oder mit Strg+X ausgeschnitten werden.

Zum schnellen Blättern im Editor stehen dir die Bild auf/ab Tasten sowie eine Scrollfunktion mit dem Mausrad bereit.

Hinweis: Die Tastenkombinationen Strg+C, Strg+X und Strg+V funktionieren in den allermeisten Editor-Programmen unter Windows sowie auf den allermeisten Unix Umgebungen.
Probiere am Besten mit einem eingefügten Text (Einfügen: Text markieren, Kopieren Strg+C dann Strg+V zum Einfügen drücken)
die verschiedenen Malango Editorfunktionen einmal aus.
Alle Editorfunktionen sind im Anhang unter Editor Tastenkombinationen
tabellarisch aufgelisted.


Speichern von Programmen
Um deinen Programmtext zu speichern und später wiederzuverwenden, gehst Du im Menü Datei auf Speichern unter um das Programm auf Festplatte zu speichern.
Um das gespeicherte Programm später wieder zu öffnen gehst Du im Menü Datei auf Öffnen und klickst auf das Programm das Du öffnen möchtest.
Du solltest dir angewöhnen das Programm immer wieder zu speichern, da ansonsten Programmteile versehentlich durch zum Beispiel unbeabsichtigtes Löschen verlorengehen könnten.
Um ein Programm das bereits unter einem Namen gespeichert wurde nochmal zu sichern gehe bitte um Menü Datei auf Speichern.
Das aktualisierte Programm wird dann unter dem gleichen Namen gespeichert. Vorsicht: die alte Programmversion wird dabei überschrieben!
Speichern kann auch über die Tastenkombination Strg+S ausgeführt werden.


Mehrere Editoren benutzen
Manchmal ist es praktisch wenn man mehrere Programme in verschiedenen Editoren gleichzeitig geöffnet hat.
Dies erleichtert zum Beispiel das Vergleichen oder eben auch gleichzeitige Bearbeiten von mehreren Programmen.
Um einen weiteren Editor zu öffnen gehe im Menü Datei auf Neuer Editor.
Alle Funktionen wie Neu, Formatieren, Prüfen, Ausführen beziehen sich immer auf den Editor der gerade zu sehen ist.


Das Java Programmtext Fenster

Wie Du schon weisst wird jedes Malango Programm zunächst in ein Java Programm übersetzt und dieses dann ausgeführt.
Bei jedem Klick auf Prüfen oder Ausführen wird neben der Syntaxprüfung auch der Java Programmtext erzeugt,diesen kannst Du dir unter der Lasche Java Programmtext ansehen.
Für den Anfang genügt es wenn Du dir gelegentlich den Java Text einmal ansiehst. Du wirst gleich viele Ähnlichkeitenmit Malango feststellen, aber auch viele Java Sprachelemente entdecken die Du noch nicht kennst.
In späteren Lektionen werden wir dann detailliert auf den Java Programmtext eingehen, damit Du einen leichten Einstieg indiese sehr vielseitig verwendbare Sprache erhälst.


Die Konsole

Bei Klick auf Ausführen wechselt die Ansicht automatisch zur Konsole.
Das geschieht aus dem Grund weil hier alle Programmausgaben als auch Programmeingaben gemacht werden.
Zum Beispiel wird Text den Du mit der Print.println Funktion ausgibst direkt auf die Konsole geschrieben.Nutzereingaben die Du mit Console.promptUser abfragst werden ebenso auf der Konsole erwartet.
Zur Kontrolle ob dein Programm gerade gestarted ist schreibt jedes Programm zunächst

*** Programm gestartet ***

auf die Konsole. Entsprechend nachdem es beendet wurde schreibt jedes Programm:

*** Programm beendet ***

Hast Du mal versehentlich eine Endlos-Schleife programmiert, (-> siehe WhileLoop)
so würde dein Programm nie abbrechen, um dem Abhilfe zu verschaffen kannst Du auf den Knopf Abbrechen währendder Ausführung drücken, um das Programm sofort zu beenden. Bei Abbruch erscheint (neben weiteren Meldungen)auf der Konsole der Text:

*** Programm abgebrochen ***


Die Lösungsanzeige

Alle Lösungen zu den Aufgaben des Kurses sind in der IDE unter dem Menü Lösungen verfügbar.
Wenn Du eine Lösung auswählst wird der Programmtext in einem neuen Fenster mit der Überschrift Lösungangezeigt.
Du kannst die Lösung in einen Editor kopieren und so das Lösungsmusterprogramm ausführen.Zum Kopieren das gesamten Lösungstextes drücke zunächst Strg+A gleichzeitig um den gesamten Text zu markieren.Kopiere den markierten Text in die Zwischenablage durch gleichzeitiges drücken von Strg+C,öffne dann einen Editor und füge den kopierten Text ein, drücke zum Einfügen Strg+V.





Das Erste Programm



Jede Computer Programmiersprache enthält, wie eine von Menschen gesprochene Sprache auch, eine bestimmte Anzahl an Wörtern(auch Schlüsselwörter genannt), sowie fest vorgegebene Regeln wie diese Schlüsselwörter zu verwenden sind.
Fachausdrücke hierfür sind Syntax (Wörter und Ausdrücke und deren Schreibweise) und Grammatik (Regeln).

Du findest alle Schlüsselwörter mit Erklärung der Bedeutung (Fachausdruck hierfür ist Semantik)
im Abschnitt Sprachreferenz im Anhang.
Weiterhin kennt man in Programmiersprachen bestimmte eingebaute Funktionen die in der jeweiligen Sprache bereitgestellt werden.
Schlüsselwörter und bereitgestellte Funktionen zusammen bilden die Sprachelemente einer Programmiersprache.
Eine zusammengehörige Gruppe von verfügbaren Funktionen wird oft auch als Programmbibliothek bezeichnet.
Java zum Beispiel besitzt eine immense Anzahl von frei verfügbaren Programmbibliotheken.
Um mit dem Programmieren in Malango zu beginnen müssen wir uns zunächst einige wenige Schlüsselwörter und die dazugehörigen Regeln ansehen.

Regel:
Jedes Malango Programm muss mindestens eine Klasse besitzen.

Die Schreibweise (Syntax) zum hinzufügen einer Klasse ist:
   Class <Klassenname>
und muss mit
   EndClass
abgeschlossen werden.

für <Klassenname> kannst Du einen frei wählbaren Namen verwenden mit der Einschränkung dass es
nur ein einzelnes grossgeschriebenes Wort sein darf und dass es weder ein Malango noch ein Java Schlüsselwort ist
Du würdest jedoch eine Fehlermeldung erhalten falls Du ein Schlüsselwort oder auch reserviertes Wort verwendest.
Die Liste aller reservierten Wörter findest Du unter Reservierte Wörter

und somit auch gleich die zweite Regel:

Regel:
Jedes Malango Programm muss genau eine Methode mit dem Namen main haben.

main ist engl. und bedeuted Hauptsächlich oder Haupt-. Die Main Methode ist somit die Hauptmethode des Programms.
Was ist nun eine Hauptmethode?
Was genau eine Methode ist werden wir später klären, zunächst soll uns genügen dass die Hauptmethode den Namen main hatund mit EndMethod abgeschlossen werden muss.
Beim Starten des Programms sucht der Computer als erstes die Programmstelle an der die main Methode steht und führt danndas darin enthaltene Programm aus.
Wird keine Methode mit dem Namen main gefunden so wird ein Fehler angezeigt und das Programm wird abgebrochen.
Zur Schreibweise von Methoden:
Eine Methode beginnt immer mit dem Schlüsselwort Method und ended mit dem Schlüsselwort EndMethod.
Nach Method muss der Name der Methode stehen und danach eine runde Klammer.
Eine Methode darf nur innerhalb einer Klasse also zwischen Class und EndClass stehen.
Wie gesagt: Klassen und Methoden werden wir uns später noch genauer betrachten.

Um das oben Beschriebene zu verdeutlichen nun ein erstes Programmbeispiel :

Class MeinErstesProgramm

   Method main ()

       Print.println("Hallo Welt!")

   EndMethod

EndClass

Übung: Gib dieses erste Programm in den Editor ein. Führe es dann aus und sehe dir die Bildschirmausgabe an.

Was geschieht nun wenn das Programm gestartet wird:
Malango überprüft zunächst ob mindestens einmal Class und danach der Klassenname im Programmtext erscheinen,
ausserdem wird geprüft ob EndClass vorhanden ist (letzte Zeile).
Ist alles ok, wird nun die Programmstelle an der Method main () steht gesucht,
wenn diese gefunden wurde, wird jede Programmzeile nacheinander innerhalb der main Methode ausgeführt.
Im Programm oben liest der Computer nun also die Anweisung Print.println("Hallo Welt!") was die Bildschirmausgabe
Hallo Welt!
zur Folge hat.

Der Computer liest nun die nächste Zeile EndMethod
das ist der Abschluss der main Methode und weist den Computer darauf hin dass das Programm zu beenden ist.

Das wars! Genau so funktionieren grundsätzlich alle Malango Programme und Programme in anderen Programmiersprachen auch.
Natürlich können wir so viele weitere Zeilen in die main Methode einfügen wie wir möchten,
der Computer wird eine Zeile nach der anderen lesen und ausführen.
(später werden wir auch Unterprogramme oder Sub-Methoden kennenlernen,
d.h. Programmteile die nicht in der main Methode ausgeführt werden)

Ein zweites Programmbeispiel
Class MeinZweitesProgram

    Method main ()

       Print.println("Hallo")
       Print.println("Mein zweiter Versuch,")
       Print.println("ist gar nicht schwer.")

    EndMethod

EndClass

Übung: Gib das zweite Programmbeispiel in den Editor ein. Führe es dann aus und sehe dir die Bildschirmausgabe an.

Achte bitte auch auf die Einrückungen, diese sind zwar nicht vorgeschrieben, erleichtern dir und anderen aber das spätere Lesen deiner Programme erheblich.
Für Einrückungen kannst Du die Tabulatortaste verwenden, das ist die Taste ganz links mit dem Pfeil ->| oder einfacher Du drückst hin und wieder den Knopf Formatieren
Damit werden die Einrückungen automatisch hinzugefügt.

Du kannst jetzt entweder weiter im Text lesen oder aber mit den ersten Übungen beginnen, und dir die weiteren Beschreibungenspäter ansehen.
Bei allen Übungslektionen wird erläutert welche Teile des Textes Du vorher durchgearbeitet haben solltest.






Variablen und Operationen


Eine Variable wird benötigt um Werte oder Texte (später auch Klassen und Objekte) im Programm über einen Namen ansprechenund verwenden zu können.
Bei einfachen Variablen wird unterschieden ob diese Zeichenfolgen (engl. String) d.h. Zahlen und Buchstaben, oder nur Zahlen enthalten können.
Man spricht auch vom Variablentyp. In Malango zulässige einfache Variablentypen sind Integer (Ganze Zahlen) und String (Zeichenfolgen).
Neben diesen gibt es noch komplexe Typen (Klassen und Objekttypen) wie List und Map. Den komplexen Typen widmen wir uns in gesonderten Kapiteln.

Als Ausdruck bezeichnet man in Programmiersprachen alles was eine gültige Kombination von Zahlen, Zeichenfolgen, Operatoren und Variablen darstellt.Variablen werden demnach in Ausdrücken verwendet.

Überblick einfache Variablen

Für ganze Zahlen verwende eine Integer Variable. Ganze Zahlen das sind zum Beispiel ...-3,-2,-1,0,1,2,3,..
Willst Du Texte verwenden d.h. Buchstaben und Zahlen gemeinsam so verwende eine String Variable

Variablen sind dem Computer erst einmal bekannt zu machen, dabei spricht man davon eine Variable zu deklarieren.
Dies geht für Variablen die nur ganze Zahlen enthalten sollen so:

New Integer zähler

Für Texte:
New String frageText

Damit sind die Variablen mit den Namen zähler und frageText dem Computer nun bekannt
und können im weiteren Programmverlauf unter ihren Namen zähler oder frageText verwendet werden.
Ausserdem sind werden die Variablen bei der Deklarierung gleichzeitig mit einem voreingestellten Wert belegt.
Integervariablen werden mit 0 vorbelegt
Stringvariablen werden mit einem leeren String vorbelegt, dh. mit dem String ""
Das Vorbelegen der Variablen mit einem voreingestellten Wert nennt man auch Initialisierung.
Beachte dabei: Der Name der Variablen ist frei wählbar sollte aber treffend gewählt werden je nachdem was die Variable enthalten soll. Ausserdem darf der Variablenname keine Sonderzeichen wie zum Beispiel Komma enthalten. Variablennamen müssen mit einem Kleinbuchstaben beginnen.

Um zum Beispiel der Integervariablen zähler den Wert 10 zuzuordnen, schreibe

zähler = 10

oder der Stringvariablen frageText einen beliebigen Text zuzuordnen, schreibe:

frageText = "Welcher Tag ist heute?"

Beachte: Texte werden immer in doppelten Anführungszeichen geschrieben, damit der Computer erkennt das es sich hier nicht um Programmcode, sondern um einen beliebigen Text handelt und auch so behandelt werden soll.

Das Zuordnen von Werten zu Variablen geschieht in einer sogenannten Wertzuweisung.

zähler = 10

ist also eine Wertzuweisung

Nach einer Zuweisung enthalten die Variablen die zugewiesen Werte oder Texte und können im weiteren Programmverlauf für weitere Operationen(siehe ->Operationen) verwendet werden.


Innerhalb eines Programmes können Werte mehrmals einer Variablen zugewiesen werden,
nur der zuletzt zugewiesene Wert ist der momentane Inhalt,
also zum Beispiel (Programmausschnitt):

New Integer zahl1
zahl1 = 3
.
.
zahl1 = 5
.
.
zahl1 = 10
Print.println(zahl1)

Bildschirmausgabe
10

Das Beispiel oben macht natürlich nur Sinn wenn die Variable zwischen den einzelnen Zuweisungen für andere Operationen verwendet wird.
Das wird einleuchtender wenn Du die Übungsaufgaben löst.
Beachte dass dies natürlich nur ein Programmausschnitt und kein vollständiges Programm ist,
um das eben gesagte zu verdeutlichen.
Die Punkte zwischen den Zeilen sollen andeuten dass hier in einem vollständigen Programm mehr Programmtext stehen würde.
Wir werden diese Notation in allen weiteren Beispielen verwenden.


Operationen

Auch bei Operationen unterscheidet man zwischen Operationen mit Zahlen und Operationen mit Zeichenketten.
Operationen mit Zahlen sind alle bekannten Rechenoperationen
also zum Beispiel +,-,/(Teilen),*(Malnehmen)

aber auch Vergleichsoperationen wie zum Beispiel:
< (kleiner als), > (grösser als), >= (grösser oder gleich), <= (kleiner oder gleich), == (gleich), != (nicht gleich)

Unter einer Operation mit Zeichenketten versteht man zum Beispiel das Verknüpfen von mehreren Texten zu einem Text, also zum Beispiel:
New String text1
text1 = "Das" + " ist " + " ein " + "text"
Der Inhalt von text1 ist jetzt der verknüpfte Text:

"Das ist ein text"

Beachte:
Um das = in einer Zuweisung (Wert zuordnen) mit ist gleich ? in einer Vergleichsoperation zu unterscheiden wird der Vergleichsoperator doppelt geschrieben also z.B.:
3 == 3        // Vergleich : ist 3 gleich 3 ?
zahl1 = 3    // der Variablen zahl1 wird der Wert 3 zugewiesen,
                    //der Inhalt der Variablen ist jetzt 3

Die Verknüpfungszeichen also zum Beispiel + oder - heissen Operatoren, die Zahlen oder Zeichenketten rechts und links vom Operator heissen Operanden.

Hier sind nochmal alle zulässigen Operatoren aufgelisted:
+ Plus
- Minus
* Mal
/ Geteilt
< Kleiner als
<= Kleiner oder gleich
> Grösser als
>= Grösser oder gleich
== Ist gleich
!= Ist nicht gleich

Sonderfall ist der + Operator: Mit plus "+" können nicht nur Zahlen addiert sondern wie oben beschrieben auch Texte verknüpft werden.

Operations Ergebnis:
Operationen machen nur Sinn wenn man auch das Ergebnis auswertet, bei Rechenoperationen
also das Ergebnis von
+,- usw,
Das Ergebnis einer Rechenoperation weist man einer Variablen zu, zum Beispiel.:

New Integer zahl1
//Zuweisung: Weise der Variablen das Ergebnis einer Rechenoperation zu, zum Beispiel:
zahl1 = 3 + 3

Die Variable enthält nun das Ergebnis der Operation also 6, dies kannst du überprüfen indem du den Inhalt der Variablen auf demBildschirm ausgibst:
Print.println("Inhalt von Zahl1 ist:", zahl1)

Bildschirmausgabe:
Inhalt von Zahl1 ist:6

Übung: Wie würde die Bildschirmausgabe aussehen für
text1 = "3" + "3"
Print.println(text1)
Schreibe ein Programm das die obigen beiden Zeilen enthält.

Vergleichsoperationen
Für Vergleichsoperationen erhält man einen sogenannten Wahrheitswert zurück. (oder auch als Boolean bezeichnet)
Für eine Vergleichs-Operation, zum Beispiel:
3 == 3
liefert die Operation wahr (engl. true) zurück

für die Operation
3 <= 2
(3 kleiner oder gleich 2 ?)
liefert die Operation falsch (engl. false) zurück

Die Rückgabewerte (true, false) von Vergleichsoperationen können überall verwendet werden an denen Du im ProgrammcodeBedingungen(engl Condition) verwenden kannst, z.B.:
If (3 > 6)
oder
//zahl1 ist eine Integer Variable
WhileLoop(zahl1 < 100)

Für Vergleichsoperationen kannst Du alle Vergleichsoperatoren (==, <, <=, >, >=, !=) verwenden,
Beachten musst Du aber dass Du z.B. keinen Text mit einer Zahl direkt vergleichen kannst.
zum Beispiel:
Der Vergleich
"Dies ist ein Text" == 3
würde eine Fehlermeldung erzeugen.
Jedoch können zwei Texte problemlos miteinander verglichen werden:
"Dies ist ein Text" == "Dies ist ein Text."
Oder zwei Zahlen:
3 <= 3
ist ein gültiger Vergleich.
Genauso verhält es sich mit Variablen. Integer Variablen können nicht mit Text Variablen verglichen werden:
New Integer zahl1
New String text1
If (zahl1 == text1)
.
.
würde zu einer Fehlermeldung führen. Zwei Variablen gleichen Typs können jedoch problemlos
miteinander verglichen werden.

Zur Übung kannst Du nun ein Programm schreiben das verschiedene Operationen durchführt und deren Ergebnisse am Bildschirm ausgibt.
Die Abfrage des Ergebnisses einer Vergleichsoperation kannst Du zum Beispiel mit dem Sprachelement If testen.





Methoden
Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download





Variablengültigkeitsbereiche
Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download





Objektorientierte Programmierung (Teil 1)
Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download




GUI Programmierung (Teil 1)
Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download




Programmierung mit Komponenten
Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download





Übungen

Vor jeder Übung wird erklärt welche Kapitel der Dokumentation Du durchgelesen haben solltest.
Es werden Tipps zu Lösungsansätzen gegeben, ausserdem steht eine Musterlösung zur Ansicht bereit.
Die jeweiligen Musterlösungen kannst Du dir in der Entwicklungsumgebung im Menü Lösungen ansehen.


Übungen 1 - Bildschirmausgaben und Variablen

Bevor Du mit den Übungen 1 beginnst solltest Du die Kapitel 1, 2 und 3 dieser Dokumentation gelesen haben. Im Kapitel 4 solltest Du den Abschnitt über einfache Variablen lesen.

Lernziele:
Nach dieser Übung wirst du wissen wie die Grundstruktur eines jeden Malango Programmes aussieht, wie man Bildschirmausgaben macht und erste Kenntnisse über den Umgang mit Variablen erlangen.

Aufgabe 1
Schreibe ein Programm das auf den Bildschirm den Satz "Hallo Welt!" ausgibt

Aufgabe 2
Schreibe den folgenden Absatz auf den Bildschirm
(Tipp: Schaue dir die verschiedenen Ausgabemethoden von Print an)

Start Absatz
Erste Zeile.
Zweite Zeile.
Ende Absatz


Die folgenden Übungen würden auch ohne Variablen funktionieren,
zur Übung benutze aber Variablen wie in der Anleitung angegeben.

Aufgabe 3
Schreibe den Text "Eine Übung zu Variablen" auf den Bildschirm.
Benutze hierzu eine Stringvariable.

Aufgabe 4
Schreibe die Zahl"1234567890" auf den Bildschirm.
Benutze hierzu eine Integervariable.

Aufgabe 5
Schreibe ein Programm das in einer Zeile den folgenden Text ausgibt:
100 und 200 und 300 und 100
Benutze für "und" eine einzelne Stringvariable
Benutze für die Zahlen pro Zahl eine gesonderte Integervariable.
(Also insgesamt 3 Integervariablen und eine Stringvariable)


Übungen 2 - Nutzerabfragen und Operationen

Bevor Du mit den Übungen 2 beginnst solltest Du die Übungen 1 gelöst haben.
Ausserdem solltest Du nun auch das gesamte Kapitel 4 über Variablen und Operationen gelesen haben.
Ein in dieser Lektion häufig verwendetes Sprachelement wird Console.promptUser sein, schlage unter Sprachelemente die Beschreibung dieses Elementes nach.

Lernziele:
Nach dieser Übung wirst du wissen wie man eine Nutzerabfrage gestaltet und die Nutzereingaben im Programm verwendet. Ausserdem wirst Du lernen wie man mit Integer Variablen rechnet und String Variableninhalte verknüpft.

Aufgabe 1
Frage den Nutzer nach einen beliebigen Text den er eingeben soll, gib diesen Text am Bildschirm aus.

Aufgabe 2
Frage den Nutzer nach drei beliebigen Texten, verknüpfe den Text und speichere den verknüpften Text
in nur einer Stringvariablen. Gib den Inhalt der Variablen am Bildschirm aus.

Aufgabe 3
Frage den Nutzer nach zwei Zahlen und gib das Resultat der Addition,Multiplikation,Subtraktion sowie Division am Bildschirm aus.
Prüfe: Was passiert wenn durch Null dividierd wird?


Übungen 3 - Schleifen und Entscheidungsfälle (Vergleichsoperationen)

Bevor Du mit den Übungen 3 beginnst solltest Du die Übungen 2 gelöst haben.
Ausserdem solltest Du die Kapitel 1 bis 4 gelesen haben.
In dieser Lektion häufig verwendete Sprachelemente werden If und WhileLoop sein,
schlage unter Sprachelemente die Beschreibung dieser Elemente nach.

Lernziele:
Nach dieser Übung wirst Du wissen wie man eine Programmschleife programmiert. Ausserdem werden wir sehen wie man mit Hilfe der If Anweisung den Programmfluss steuern kann.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

Übungen 4 - Dateien und Listen

Bevor Du mit den Übungen 4 beginnst solltest Du die Übungen 3 gelöst haben.
Ausserdem solltest Du die Kapitel 1 bis 4 gelesen haben.
In dieser Lektion häufig verwendete Sprachelemente werden Date, List und File sein,
schlage unter Sprachelemente die Beschreibung dieser Elemente und ihrer verschiedenen Funktionen nach.

Lernziele:
Nach dieser Übung wirst Du wissen was eine Liste ist und wie man damit umgeht. Ausserdem wirst Du lernen wie man eine Liste als Datei auf Festplatte speichern und wieder einlesen kann. Ausserdem werden wir den Umgang mit Datumsangaben einüben.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

Übungen 5 - Vokabellernprogramm

Bevor Du mit den Übungen 5 beginnst solltest Du die Übungen 1-4 gelöst haben.
Ausserdem solltest Du die Kapitel 1 bis 4 gelesen haben.
In dieser Lektion werden alle bisher kennengelernten Sprachelemente wiederholt,
Nur ein neues Sprachelement kommt hinzu: Random.
Schlage unter Sprachelemente die Beschreibung dieses Elementes nach.

Lernziele:
Vertiefung von allem bisher gelernten. Erzeugung und Umgang mit Zufallszahlen.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

Gratulation!
Wenn Du die Übungen 1-5 erfolgreich absolviert hast, hast Du bereits die Grundlagen für viele Programmieraufgaben erlernt.
Die folgenden Übungen bauen auf diesen Grundlagen auf. Wir werden viele neue Sprachelemente kennenlernen, die zum Beispiel anstatt auf der Konsole Texte auszugeben und dort Eingaben zu erwarten, dies in graphischen Benutzeroberflächen bewerkstelligen, so wie das in modernen Programmen üblich ist.
Du wirst die Anwendung graphischer Bildschirmelemente als Komponenten und Objekte kennenlernen und sehen wie Du damit eine Benutzeroberfläche erstellen kannst.
Ausserdem werden wir eine Zeichenkomponente programmieren mit der man Graphiken erstellen kann und lernen, wie man Graphiken am Computer in Bewegung versetzen kann.
Eine Einführung in objektorientierter Programmierung und Java ist hierbei eingeschlossen.


Übungen 6 - Methoden, Globale Variablen, Map

Bevor Du mit den Übungen 6 beginnst solltest Du die Übungen 5 gelöst haben.
Ausserdem solltest Du die Kapitel 1 bis 6 gelesen haben.
In dieser Lektion häufig verwendete Sprachelemente werden Map, List und File sein, schlage unter Sprachelemente die Beschreibung dieser Elemente und ihrer verschiedenen Funktionen nocheinmal nach.

Lernziele:
Variablen-Gültigkeitsbereiche und die Verwendung von Methoden aus Kapitel 5 und 6 werden einen wichtigen Teil dieser Übung ausmachen, am Ende dieser Übung wirst Du deren Verwendung beschreiben und auch in eigenen Programmen anwenden können.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

Übungen 7 - Klasse und Objekt

Bevor Du mit den Übungen 7 beginnst solltest Du die Übungen 6 gelöst haben.
Ausserdem solltest Du die Kapitel 1 bis 7 gelesen haben.

Lernziele:
In diesen Übungen werden wir zum ersten mal ein Objekt aus einer selbst erstellten Klasse erzeugen und sehen wie man ein Objekt verwendet. Der Inhalt von Kapitel 7 ist für diese Übung sehr wichtig, Du solltest dieses Kapitel gründlich durchgelesen haben. Nach dem Lösen der Aufgaben wirst Du wissen was eine Klasse und ein Objekt ausmacht und wie man ein Objekt verwendet.


Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

Übungen 8 - GUI, Zeichenkomponente und Gif-Erzeugung

Bevor Du mit den Übungen 8 beginnst solltest Du die Übungen 7 gelöst haben.
Ausserdem solltest Du die Kapitel 1 bis 9 gelesen haben.
In diesen Übungen werden wir die in Malango eingebaute Komponente Paint verwenden und programmieren.
Wir werden graphische Elemente verwenden und sehen wie man Graphik in Bewegung versetzen kann. Zum Abschluss werden wir ein animiertes Gif erzeugen.

Lernziele:
Es kommen viele Themen aus GUI und Graphikprogrammierung zur Anwendung, wie zum Beispiel Frames, Layouts, RGB Farben, Bilddateien, ActionListener.
Nach dem Lösen der Aufgaben wirst Du wissen was eine Komponente ist und wie man damit Programmieren kann.
Ausserdem werden wichtige Themen aus der Objektorientierten Programmierung wie Klasse, Objekt und Interface eingeführt bzw. vertieft.


Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download





Malango Sprachreferenz

Basis Elemente

Class <ClassName>
Class (engl. für Klasse) muss am Anfang eines jeden Malango Programmes stehen und wird mit EndClass abgeschlossen.
Zwischen Class und EndClass steht der Programmtext, der Methoden und Variablen Deklarierungen enthalten kann.
Für <ClassName> setze bitte einen frei wählbaren Namen ein (nur ein Wort), der allerdings kein reserviertes Wort sein darf.
Der Klassenname muss mit einem Grossbuchstaben beginnen.
Damit ein treffenderer Name gewählt werden kann, ist es üblich mehrere Wörter zu einem Wort,
wie folgt zu verbinden, (Kamel-Schreibweise)
zum Beispiel:
Class MeinErstesProgramm
Ein Programm muss mindestens eine Klasse haben.


Method main ()
Jedes Malango Programm muss genau eine main Methode haben die mit EndMethod abgeschlossen werden muss.
Wenn das Programm gestartet wird sucht der Computer zuerst nach der Programmzeile an der Method main () steht,
findet er die Programmstelle fährt er mit der Ausführung aller folgenden Programmzeilen fort
bis er EndMethod liest und damit das Programm beendet.
Beispiel: Diese Grundstruktur muss jedes Malango Programm haben
Class MeinProgramm
   Method main ()
          ... Programmtext ...
   EndMethod
EndClass
Beachte: Die main Methode ist wie jede andere Methode auch zu verwenden,
eine Besonderheit ist nur dass diese automatisch immer als Erste ausgeführt wird.


New String <VariableName>
Macht eine neue Text (oder Zeichenketten) Variable unter dem Namen <VariableName> bekannt.
(String engl. für Zeichenkette)
Für <VariableName> setze bitte einen frei wählbaren Namen ein (nur ein Wort), der allerdings kein reserviertes Wort sein darf.
Text Variablen können Buchstaben und Zahlen und andere Zeichen in beliebiger Kombination enthalten.
Um näheres über Variablen zu erfahren, siehe bitte unter Variablen nach.


New Integer <VariableName>
Macht eine neue Integer Variable unter dem Namen <VariableName> bekannt.
Für <VariableName> setze bitte einen frei wählbaren Namen ein (nur ein Wort), der allerdings kein reserviertes Wort sein darf.
Integer Variablen können nur ganze Zahlen enthalten (also -1,0,1,2,3,..).
Um näheres über Variablen zu erfahren, siehe bitte unter Variablen nach.


If (<Constraint>)
Mit If kannst Du prüfen ob eine Bedingung (engl. Constraint) erfüllt ist
If muss mit EndIf abgeschlossen werden. Optional kann zwischen If und EndIf auch Else vorkommen.
Nur wenn die Bedingung erfüllt ist werden die Programmzeilen zwischen If und EndIf ausgeführt.
Die Programmzeilen zwischen Else und EndIf werden jedoch nur ausgefürt wenn die Bedingung nicht erfüllt ist.
Für eine Bedingung kannst Du eine Vergleichsoperation einsetzen, bitte siehe im Kapitel
über Operationen näheres hierzu.
Beispiel:
If(3 > 2)
   Print.println("3 ist grösser als 2")
EndIf

Als Resultat erhält man die Bildschirmausgabe:
3 ist grösser als 2
Dasselbe Beispiel aber diesmal mit Else teil
If(3 > 2)
   Print.println("3 ist grösser als 2")
Else
   Print.println("3 ist nicht grösser als 2")
EndIf


Das Resultat der Bildschirmausgabe ist natürlich dasselbe, der Else teil wird nicht ausgeführt:
3 ist grösser als 2

Prüfen wir nun auf eine falsche Bedingung so wird der Else teil ausgeführt und nicht der Teil zwischen If und Else
If(3 < 2)
   Print.println("3 ist kleiner als 2")
Else
   Print.println("3 ist nicht kleiner als 2")
EndIf

Das Resultat der Bildschirmausgabe ist nun:
3 ist nicht kleiner als 2

Als Besonderheit kann man If auch Schachteln, zum Beispiel:
If(3 < 2)
   Print.println("3 ist kleiner als 2")
Else
   Print.println("3 ist nicht kleiner als 2")
   If(10 == 10)
      Print.println("10 ist gleich 10")
   EndIf
EndIf


Das Resultat der Bildschirmausgabe ist:
3 ist nicht kleiner als 2
10 ist gleich 10

Auf diese Art und Weise können mehrere Bedingungen gleichzeitig geprüft und ausgewertet werden.
Richtig sinnvoll werden solche Vergleiche und deren Auswertung natürlich erst wenn Du in den Bedingungen
anstatt Zahlen, Variablenwerte vergleichst. Also z.B.:
New Integer zahl1
.
.//Tue etwas mit zahl1
.
If(zahl1 <= 0)
   //Tue etwas mit zahl1
EndIf




WhileLoop (<Constraint>)
Eine WhileLoop wird verwendet um einen Programmabschnitt wiederholt auszuführen,
und zwar solange wie die Bedingung (engl. Constraint) die in der Klammer angegeben wurde erfüllt ist.
WhileLoop muss mit EndWhileLoop abgeschlossen werden.
Für eine Bedingung kannst Du eine Vergleichsoperation einsetzen, bitte siehe im Kapitel
über Operationen für näheres hierzu.

Die Schreibweise (Syntax) ist :
WhileLoop (<Constraint>)
   <Programmzeile 1>
   <Programmzeile 2>
   <Programmzeile 3>
    .
    .
    .
EndWhileLoop
Erst wenn die Bedingung (engl. Constraint) nicht mehr erfüllt ist wird mit der Programmzeile nach EndWhileLoop fortgefahren.

Eine While Schleife könnte also zum Beispiel so aussehen:
New Integer zahl1
zahl1 = 1;
WhileLoop (zahl1 < 3)

   zahl1 = zahl1 + 1

EndWhileLoop
Print.println("Inhalt von Zahl1 :", zahl1)
Es wird eine Integer-Variable in der Bedingung geprüft. Das heisst: Solange der Inhalt der Variablen zahl1 kleiner als 3 ist wird die Schleife ausgeführt.
In der Schleife wird die Variable jeweils um den Wert 1 erhöht.

So führt der Computer die Schleife Zeile für Zeile aus:
New Integer zahl1
zahl1 = 1;
WhileLoop(1 < 3)       ? wahr
zahl1 = 1 + 1
WhileLoop(2 < 3)       ? wahr
zahl1 = 2 + 1
WhileLoop(3 < 3)       ? nicht wahr
EndWhileLoop
Print.println("Inhalt von Zahl1 :", zahl1)
Bildschirmausgabe:
Inhalt von Zahl1 :3




New List <VariableName>
Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download


New <ClassName> <VariableName>
Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

Method <MethodName> (<Argument>,*)
Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download




Statische Sprachelemente
Die folgenden statischen Sprachelemente stehen zur Benutzung in Malango zur Verfügung.
Hinweis: Man nennt diese Elemente statisch weil sie verwendet werden können ohne dass man vorher ein Objekt mit New erzeugen muss. Details hierzu werden wir im Verlauf des Kurses kennenlernen.

Console
Console bietet Funktionen um Nutzerinteraktionen auf der Konsole durchzuführen.

Console.promptUser(<VariableName>, <Text>)
Console.promptUser wird verwendet um vom Nutzer einen Text oder eine Zahl zu erfragen.
Für <Text> setze bitte den Fragetext der am Bildschirm erscheinen soll ein.
Für <VariableName> setze bitte den Namen einer deklarierten String oder Integer Variable ein.
Der Typ der Variable entscheidet dabei ob der Nutzer nur eine Zahl (Integervariable) oder einen beliebigen Text
(Stringvariable) eingeben kann.

Um zum Beispiel eine Zahl aus einer Auswahlliste abzufragen:
.
New Integer auswahl
Console.promptUser(auswahl, "Bitte auswählen: 1) Fortfahren 2) Programm beenden")
.
Wenn das Programm gestartet wird erscheint nun zunächst der Text:

Bitte auswählen: 1) Fortfahren 2) Programm beenden

der Nutzer kann jetzt nur eine Zahl eingeben weil eine Integervariable übergeben wurde.
Die Eingabe von Buchstaben würde zu einer Fehlermeldung führen.
Beachte: Die Nutzereingabe muss mit der "Enter" Taste abgeschlossen werden.
Die eingegebene Zahl wird in der Variablen auswahl gespeichert und kann so später
im Programm abgefragt werden.
Zum Beispiel würde folgende While Schleife nur abbrechen wenn 2 gewählt wurde:
.
Console.promptUser(auswahl, "Bitte auswählen: 1) Fortfahren 2) Programm beenden")
WhileLoop (auswahl != 2)
   // Tue etwas
   .
   Console.promptUser(auswahl, "Bitte auswählen: 1) Fortfahren 2) Programm beenden")
EndWhileLoop
.
Print
Print bietet Funktionen um Bildschirmausgaben durchzuführen.

Print.println(<Text>, *)
Die Print.println Funktion druckt den Inhalt der übergebenen Variablen oder Texte auf dem Bildschirm aus
und springt dann in die nächste Zeile.
Du kannst dabei beliebig viele Variablen oder Texte durch Kommata getrennt aneinanderreihen (das ist die Bedeutung des * ),
also zum Beispiel
New Integer zahl1
New String text1
.
.
Print.println("Beliebiger Text...", zahl1, text1)
Achtung: Texte müssen in doppelten Anführungszeichen stehen,
zum Beispiel
Print.println("Hallo Welt!")
Druckt auf den Bildschirm:
Hallo Welt!

Print.print(<Text>, *)
Die Print.print Funktion druckt den Inhalt der übergebenen Variablen oder Texte auf dem Bildschirm aus
und bleibt in der gleichen Zeile.
Das ist der einzige Unterschied zur Print.println Funktion.


List
List bietet Funktionen um Elemente (In Malango nur Texte) in geordneter Reihenfolge in Listen zu speichern und auszulesen.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download
Map
Map bietet Funktionen um Wertepaare die in einer Map gespeichert sind auszulesen oder neue Wertepaare hinzuzufügen.
Ein Wertepaar besteht aus Schlüssel (engl. Key) und Wert (engl. Value).

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download
Date
Date (engl. für Datum) bietet Datumsfunktionen.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download
File
File (engl. für Datei) bietet Funktionen zum Umgang mit Dateien.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download
Random
Random (engl. für Zufall, zufällig) bietet Funktionen um Zufallszahlen zu erzeugen.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download
Thread
Thread (engl. für Faden, Strang) bietet Funktionen um die Programmausführung zu unterbrechen.
Hinweis: Threadprogrammierung ist in Java ein wichtiges aber auch komplexes Thema und dient zur gleichzeitigen Verarbeitung von mehreren Aufgaben.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download


Verfügbare Klassen
Die folgenden Klassen stehen zur Benutzung zur Verfügung.
Hinweis: Um sie zu verwenden musst Du ein Objekt der jeweiligen Klasse mit 'New' erzeugen. Die Methoden der Klasse werden durch Punkt getrennt aufgerufen.
Zum Beispiel; <ButtonName>.setCaption("Speichern")
Details hierzu werden wir im Verlauf des Kurses kennenlernen.

Button
Button (engl. für Knopf) ist eine graphische Komponente und kann in einen Frame eingefügt werden.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

Frame
Frame (engl. für Rahmen) ist eine graphische Komponente die einen Container für andere graphische Komponenten darstellt.
Ein erzeugter Frame wird als Anwendungsfenster dargestellt.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

Color
Color (engl. für Farbe) repräsentiert eine Farbe als RGB Wert. Für näheres hierzu siehe bitte hier nach.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

Image
Image (engl. für Bild) stellt Funktionen zum Laden und Schreiben von Bilddateien bereit.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

Paint
Paint (engl. für malen) stellt eine Komponente mit Malfunktionen bereit. Für näheres über Paint siehe bitte hier nach.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download

GifCreator
Der GifCreator (create engl. für erzeugen) stellt eine Komponente zur Erzeugung von animierten (bewegten) Gif Graphiken bereit. Für Hinweise zum GifCreator siehe bitte hier nach.

Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download


Verfügbare Interfaces
Die folgenden Interfaces (engl. für Schnittstelle) stehen zur Benutzung zur Verfügung. Interfaces werden im Aufbaukurs Objektorientierte Programmierung und Java vermehrt Verwendung finden.


Der Inhalt dieses Abschnittes ist Teil des Einführungskurses, der hier heruntergeladen werden kann:
www.mangologo.de/download



Reservierte Wörter

Namen die Du vergibst dürfen keine Wörter sein die in der jeweiligen Programmiersprache eine besondere Bedeutung haben.
Da Malango in ein Java Programm übersetzt und dann ausgeführt wird, sind reservierte Wörter sowohl aus
Java als auch aus Malango zu beachten.
In den untenstehenden Tabellen findest Du alle Wörter die Du nicht für Variablen-, Programm-, Methoden- oder Klassennamen verwenden darfst.
Würdest Du Sie dennoch verwenden würdest Du eine Fehlermeldung angezeigt bekommen.


Alle reservierten Java Wörter:

abstract continue for new switch
assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while
true false null


Alle reservierten Malango Wörter:

Class EndClass Method EndMethod Print
Integer WhileLoop EndWhileLoop User Random
New String List Map Class
If Else Date Thread



Glossar und Übersetzungen


Hier sind in Programmiersprachen (und Malango) häufig verwendete englische Bezeichner mit Übersetzung aufgelistet.
Die meisten Wörter haben mehrere Übersetzungen, die hier aufgelisteten Übersetzungen sind vor allem aus dem technischen Bereich. Für die englischen Bezeichner wird angegeben wie das Wort ausgesprochen werden soll: Lies das Wort das hinter "Sprich" angegeben ist so wie Du es im Deutschen lesen würdest.
(Das ist keine offizielle Lautschrift dafür aber leichter verständlich und für unsere Zwecke ausreichend)
Für viele weitere Übersetzungen und Hörbeispiele klicke bei bestehender Internetverbindung auf Hören. Es wird das bekannte frei verfügbare Onlinewörterbuch http://dict.leo.org
geöffnet. Klicke dort auf das Lautsprechersymbol neben dem Wort.

Add hinzufügen, addieren (Sprich "äd") Hören
Ascending aufsteigend (Sprich "asending") Hören
Ask fragen (Sprich "ask") Hören
Button Knopf (Sprich "batton") Hören
Caption Beschriftung (Sprich "käptschon") Hören
Capture erfassen, einfangen (Sprich "käptscher") Hören
Class Klasse (Sprich "klass") Hören
Condition Bedingung (Sprich "kondischon") Hören
Color Farbe (Sprich "kalor") Hören
Descending absteigend (Sprich "disending") Hören
Disk Diskette, Festplatte (hard disk) (Sprich "disk") Hören
Else sonst, andernfalls (Sprich "els") Hören
End Ende (Sprich "end") Hören
Extends erweitern (Sprich "ixtends") Hören
File Datei. Eine gespeicherte Informationseinheit die über einen Namen (Dateinamen) angesprochen werden kann (Sprich "feil") Hören
Frame Rahmen (Sprich "fräim") Hören
Grid Gitter, Raster (Sprich "grid") Hören
If wenn, falls (Sprich "if") Hören
Image Bild (Sprich "imedsch") Hören
Implements implementiert (Sprich "implements") Hören
Integer Ganze Zahl, also ...-3,-2,-1,0,1,2,3,.. (Sprich "intedscher") Hören
Key Schlüssel (Sprich "ki") Hören
List Liste (Sprich "list") Hören
Listener Empfänger, Zuhörer (Sprich "lisener") Hören
Loop Schleife. In Programmiersprachen auch Programmschleife (Sprich "luup") Hören
Map Abbildung, Karte (Sprich "mäp") Hören
Main Haupt-, Hauptsache (Sprich "mäin") Hören
Memory Gedächtnis, Erinnerung oder Datenspeicher (Sprich "memorie") Hören
Method Methode, auch Verfahren (Sprich "method") Hören
New Neu, in Programmiersprachen auch: Erzeuge (Sprich "niuw") Hören
Number Zahl (Sprich "namber") Hören
Print drucke (Sprich "print") Hören
Program Programm, auch Anwendung (Sprich "progräm") Hören
Prompt Eingabeaufforderung, auch zeitnah (Sprich "prompt") Hören
Put setzen, stellen, legen (Sprich "put") Hören
Random zufällig, willkürlich. (Sprich "rändom") Hören
Read lesen (Sprich "ried") Hören
Remove entfernen (Sprich "riemuv") Hören
Replace ersetzen (Sprich "ripläis") Hören
Show zeigen (Sprich "show") Hören
Size Grösse (Sprich "seis") Hören
String Zeichenkette (Sprich "string") Hören
Thread Faden, Strang. (Sprich "thred", beachte englisches th) Hören
Type Typ, In Programmiersprachen ist hier ein Datentyp (zB. Integer, Text) gemeint. (Sprich "taip") Hören
User Nutzer, Anwendungsnutzer. Ein Programm wird auch als Anwendung bezeichnet (Sprich "iuser") Hören
Value Wert (Sprich "väliu") Hören
Variable Variable, auch veränderlich (Sprich "väriäbl") Hören
While solange (Sprich "whail") Hören
Write schreiben (Sprich "wrait") Hören



Editor Tastenkombinationen

Eine Liste aller Editorfunktionen die über Tastenkombinationen aufzurufen sind.
Beispiel: Umschalt+Auf bedeuted die Tasten Umschalten (Gross/Kleinschreibung umschalten) und Auf (Pfeil nach oben Taste) sollen gleichzeitig gedrückt werden.

Die wichtigsten Tastenkombinationen die Du kennen solltest da sie die Arbeit sehr erleichtern sind:
Strg+A Strg+C Strg+V und Strg+T
probiere diese Tastenkombinationen zur Übung einmal aus.

Alt+C Programm prüfen
Alt+F Programmtext formatieren
Alt+N Neues Dokument
Alt+R Programmtext ausführen
Strg+A Alles markieren
Strg+Rücktaste Wort löschen
Strg+C Markierten Text in Zwischenablage kopieren
Strg+F Text suchen und finden
Strg+S Speichern des Programmtextes
Strg+T Das nächste Argumenttoken markieren. (zB. <VariableName>). Bei Tastatureingabe wird das markierte Token gelöscht und durch den eingegebenen Text ersetzt.
Strg+V Text aus Zwischenablage einfügen
Strg+X Markierten Text löschen und in Zwischenablage kopieren
Strg+Y Letztes Rückgängig wieder aufheben
Strg+Z Letzten Vorgang Rückgängig machen
Umschalt+Pos1 Aktuelle Zeile bis zum Zeilenanfang markieren
Umschalt+Ende Aktuelle Zeile bis zum Zeilenende markieren
Umschalt+BildAuf Vorherige Seite markieren
Umschalt+BildAb Nächste Seite markieren
Umschalt+Auf Nächste Zeile nach oben markieren
Umschalt+Ab Nächste Zeile nach unten markieren
Umschalt+Links Nächsten Buchstaben links markieren
Umschalt+Rechts Nächsten Buchstaben rechts markieren
Strg+Umschalt+Pos1 Von der aktuellen Position bis zum Textanfang markieren
Strg+Umschalt+Ende Von der aktuellen Position bis zum Textende markieren
Strg+Umschalt+Links Nächstes Wort links markieren
Strg+Umschalt+Rechts Nächstes Wort rechts markieren