26.02.2014 Aufrufe

EasyLinux Programme und Skripte (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Programmieren<br />

Titel<br />

drückt schön aus, dass Programmieren<br />

eine Kunstform<br />

ist, die man kultivieren kann<br />

<strong>und</strong> in der man sich durch regelmäßiges<br />

Üben verbessert<br />

<strong>und</strong> zum Meister wird.<br />

Doch zunächst geht es an die<br />

Gr<strong>und</strong>lagen: Was bedeutet<br />

Programmieren eigentlich? Die<br />

Kernidee ist, dass ein Programm<br />

dem Computer sagt,<br />

was er tun soll. Als Programmierer<br />

legen Sie das selbst fest.<br />

Dabei können Sie sich <strong>Programme</strong><br />

wie Kochrezepte oder<br />

auch die aus <strong>EasyLinux</strong> bekannten<br />

Schritt-für-Schritt-Anleitungen<br />

vorstellen: In der einfachsten<br />

Form eines Programms legen Sie nur eine<br />

Reihenfolge fest, in welcher der Computer<br />

bestimmte Schritte bearbeiten soll. Etwas<br />

komplizierter wird es, wenn Sie noch so<br />

genannte Schleifen („tu dies solange, bis<br />

ein bestimmtes Ziel erreicht ist“) <strong>und</strong> Fallunterscheidungen<br />

(„wenn der Wert kleiner<br />

als 100 ist, dann verdopple ihn – andernfalls<br />

setze ihn auf 1“) einbauen: Damit<br />

kann das Programm auf unterschiedliche<br />

Situationen geeignet reagieren.<br />

Die Prinzipien, die für das Programmieren<br />

gelten, sind nicht sonderlich schwer zu<br />

verstehen. Dass sich nicht jeder PC-Besitzer<br />

damit beschäftigt, liegt unter anderem<br />

daran, dass es zahlreiche komplett unterschiedliche<br />

Programmiersprachen gibt: So<br />

wie Sie Englisch <strong>und</strong> Französisch erst lernen<br />

müssen, um mit einem Engländer<br />

oder Franzosen zu sprechen, so müssen<br />

Sie sich auch zunächst in den „Wortschatz“<br />

<strong>und</strong> die „Grammatik“ einer Programmiersprache<br />

einarbeiten, damit der<br />

Computer versteht, was Sie von ihm wollen.<br />

Bei ersten Versuchen zeigt sich dann<br />

die recht begrenzte Intelligenz der Technik:<br />

Schon leichte Fehler bei der Wortwahl<br />

bemängelt das System als „Syntaxfehler“<br />

<strong>und</strong> verweigert die Zusammenarbeit.<br />

Es braucht also für die ersten Schritte<br />

etwas mehr Sorgfalt als beim Englischoder<br />

Französischsprechen, wo Ihr Gesprächspartner<br />

mit Nachsicht reagiert,<br />

wenn Sie ein unregelmäßiges Verb falsch<br />

verwenden.<br />

Abb. 1: Ein Programm auf dem C64 gibt fünfmal „HALLO EASY-<br />

LINUX“ aus – das ist schon komplexer als das erste Beispiel.<br />

Programmier-Gr<strong>und</strong>lagen<br />

Alle Programmiersprachen verwenden<br />

spezielle Befehle, mit denen Sie festlegen,<br />

was passieren soll. Im Beispiel am Anfang<br />

des Artikels tauchten z. B. die BASIC-Befehle<br />

PRINT <strong>und</strong> GOTO auf: Der PRINT-<br />

Befehl sorgt dafür, dass der Rechner Text<br />

ausgibt, <strong>und</strong> der GOTO-Befehl fordert<br />

dazu auf, die Programmausführung an einer<br />

anderen Stelle fortzusetzen – das ist<br />

vergleichbar mit einer Aussage wie „Kehren<br />

Sie zurück zu Schritt 3“ in einer längeren<br />

Schritt-für-Schritt-Anleitung, bei der<br />

einige Aufgabenteile mehrfach zu erledigen<br />

sind.<br />

Wenn Sie mehrere Befehle zu einem Programm<br />

zusammensetzen, werden diese<br />

später in derselben Reihenfolge ausgeführt,<br />

in der sie im Programm erscheinen. Schreiben<br />

Sie z. B.<br />

PRINT "HALLO"<br />

PRINT "WELT"<br />

dann erzeugen Sie damit die Ausgabe<br />

„HALLO WELT“ (<strong>und</strong> nicht etwa „WELT<br />

HALLO“). Programmierer nennen so etwas<br />

eine Sequenz (Abfolge, Reihenfolge).<br />

Viele Shell-<strong>Skripte</strong> unter Linux<br />

bestehen aus solchen<br />

(einfachen) Sequenzen. Sie<br />

bündeln also mehrere Befehle<br />

in einem Skript <strong>und</strong><br />

ersparen dem Anwender<br />

damit, die enthaltenen<br />

Kommandos einzeln (nacheinander)<br />

einzugeben.<br />

Fallunterscheidung<br />

Doch allein mit Sequenzen<br />

ist nicht viel Land zu gewinnen.<br />

Damit <strong>Programme</strong><br />

wirklich nützlich sind,<br />

kommen weitere Elemente<br />

ins Spiel, darunter die Fallunterscheidung<br />

(Abbildung<br />

3) <strong>und</strong> die Schleife.<br />

Der folgende BASIC-ähnliche<br />

Beispielcode sorgt dafür,<br />

dass ein interaktives Programm<br />

erst das Alter des Anwenders<br />

abfragt <strong>und</strong> dann entscheidet,<br />

ob es duzt oder siezt:<br />

PRINT "Bitte Alter eingeben:"<br />

INPUT alter<br />

IF alter < 18 THEN<br />

PRINT "Wie heißt Du?"<br />

ELSE<br />

PRINT "Wie heißen Sie?"<br />

END IF<br />

INPUT name<br />

PRINT "Hallo ", name<br />

Hier sind alter <strong>und</strong> name so<br />

genannte Variablen: Das Wort<br />

kommt von „variabel“ (veränderlich),<br />

<strong>und</strong> Sie können solche Variablen in <strong>Programme</strong>n<br />

benutzen, wenn Sie flexibel<br />

mit unterschiedlichen Werten umgehen<br />

wollen. Im Beispiel liest das Kommando<br />

INPUT einen Wert über die Tastatur ein<br />

<strong>und</strong> legt ihn dann in der angegebenen<br />

Variable ab. Später greifen Sie durch<br />

Nennen des Variablennamens erneut auf<br />

den Inhalt zu.<br />

Der Schlüssel zum Erfolg liegt hier in den<br />

Befehlen IF (wenn, falls), THEN (dann)<br />

<strong>und</strong> ELSE (andernfalls): Wenn das obige<br />

Programm läuft <strong>und</strong> der Anwender die<br />

Frage nach dem Alter mit einer Zahl beantwortet,<br />

die kleiner als 18 ist, dann ist<br />

der Test alter < 18 wahr, <strong>und</strong> das Programm<br />

führt die Befehle aus, die zwischen<br />

THEN <strong>und</strong> ELSE stehen. Wird hingegen<br />

ein Wert eingegeben, der größer<br />

oder gleich 18 ist, kommt stattdessen der<br />

Block zwischen ELSE <strong>und</strong> END IF an die<br />

Abb. 2: „The Art of Computer Programming“ ist ein<br />

mehrbändiger Wälzer, den Donald E. Knuth als Lehrbuch<br />

für Informatikstudenten geschrieben hat.<br />

<strong>EasyLinux</strong><br />

03/2013<br />

www.easylinux.de<br />

39

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!