Kü /Info Einführung Programmieren Sj. 2013/2014 Variablen Videos: o “Variablen allgemein” o “Informatik, die Welt der Eimer” Variablen Variablen sind Speicherbereiche, in welchen man Daten, die im Verlauf des Programms benötigt werden, speichern kann. Man kann sich das wie einen Eimer vorstellen, in den ich verschiedene Dinge tun kann. Also anschaulich könnte man sich das so vorstellen: Nur dass die Zahlen und Texte natürlich nicht wirklich in kleinen Eimern im Computer gesammelt werden, sondern die Eimer entsprechen jeweils einem Stück Speicherplatz (auf der Festplatte oder genauer gesagt im Arbeitsspeicher). Wichtige Unterschiede zu realen Eimern: 1. in den „Informatik-Eimern“ darf in jedem Eimer nur eine Zahl sein. Der Text darf aber auch mehrere Worte enthalten. 2. Ein weiterer wichtiger Unterschied, wenn ein Eimer für ganze Zahlen vorgesehen ist, dürfen da auch nur ganze Zahlen rein – dass kann man sich so vorstellen, wie einen Eimer, der für Papier gedacht ist und wenn man da was anderes reintut, kommt der Hausmeister und schimpft – in der Informatik schimpft der Compiler und gibt eine Fehlermeldung! Deklaration Bei einigen Programmiersprachen (so auch bei NXC, C und Java) muss man schon bevor man das erste Mal was in den Eimer tut, festlegen, was anschließend dort hinein soll. Das liegt daran, dass die Eimergröße unterschiedlich ist, je nachdem, was anschließend dort hinein soll. Und damit genügend Speicher reserviert wird, muss man schon vorher angeben, was später in den Eimer rein soll. Das nennt man eine Variable deklarieren (Achtung neue Vokabel – merken!!!) Datentyp Dazu gibt man also den Typ der Variablen an (ganze Zahl, Zahl mit Nachkommastellen, Zext u.s.w), die in einen Eimer rein soll – dieser Typ nennt sich allgemein Datentyp (der Typ, den die Daten haben, die in den Eimer rein sollen). (Achtung neue Vokabel – merken!!!) Folgende einfache Datentypen gibt es in den meisten Programmiersprechen: a) int - steht für Integer, also ganze Zahlen (ohne Nachkommastellen). b) float - steht für Zahlen mit Nachkommastellen (die Nachkommastellen sind begrenzt, möchte man mehr Nachkommastellen zulassen, so nimmt man den Datentyp double). c) String - steht für Texte. d) bool - manchmal auch boolean genannt, steht für einen sehr kleinen Eimer, in man nur eine 0 oder eine 1 tun kann. 0 steht für „false“ also „falsch“ und 1 steht für „true“ also „richtig“. Diese Typ ist ganz grundlegend, denn im Computer wird im Prinzip alles über verschiedene Kombinationen von 0en und 1en dargestellt. Kü /Info Einführung Programmieren Sj. 2013/2014 Variablen-Namen Da man in der Regel mehrere Variablen in einem Programm verwendet, muss man ja wissen, was man in welchen Eimer getan hat, darum bekommt jeder Eimer einen Namen – bzw. jede Variable bekommt einen Namen, damit man anschließend, den Wert, der in der Variablen steckt (also anschaulich gesehen: im Eimer steckt) wieder finden kann. Es gibt also eine Ordnung: Variablenname blubs wurst test Wert 3 „Salami“ 1 Und beide werden im Programm miteinander verknüpft, was anschaulich gesehen bedeutet, der Wert wird in den Eimer mit dem entsprechenden Namen reingetan. Im Programm sieht das so aus: blubs=3; wurst=“Salami“; (Texte müssen immer in Anführungsstrichen stehen) test=1; Vorhin wurde ja aber gesagt, dass man, bevor man in einen Eimer, also einen Speicher das erste Mal was reintut, man festlegen muss, von welchem Typ (Datentyp) der Eimer ist. Das muss natürlich zuerst passieren. Im Programm sieht das so aus: int blubs; -> ein Eimer mit dem Namen blubs wird angelegt und es wird festgelegt, dass dort nur ganze Zahlen rein sollen. String wurst; -> ein Eimer mit dem Namen test wird angelegt und es wird festgelegt, dass dort nur Texte (Strings) rein sollen. Initialisierung Das ist auch eine neue Variable und es meint den Vorgang, wenn das erste Mal etwas in einen Eimer getan wird Wir sieht das nun zusammen im Programm aus? int blubs; String wurst; boolean test; blubs=3; wurst=“Salami“; test=1; Man kann beide Schritte (Deklaration und Initialisierung) auch in einer Zeile zusammenfassen: int blubs=3; String wurst=“Salami“; boolean test=1; Anschließend kann man nun immer wieder andere Werte in die Variable (in den Eimer) rein tun – wenn der Wert den gleichen Typ hat – indem man einfach über „=“ was Neues in der Variablen speichert: blubs=-45; wurst=“Schinken“; test=0; Der vorhergehende Wert wird dabei einfach gelöscht und nur der neue Wert ist nun gespeichert (im Eimer ist also nur der neue Wert, der alte wurde vorher rausgeholt). Kü /Info Einführung Programmieren Sj. 2013/2014 Was bedeutet x=x+1???? Was in der Mathematik völlig unlogisch ist, ist in der Informatik ganz gebräuchlich – denn es hat im Programm eine ganz andere Bedeutung als die Gleichung in der Mathematik! Man liest die Zeile von rechts nach links – das „=“ trennt dabei beide Seiten und bedeutet, dass etwas Neues (nämlich das, was rechts vom „=“ steht) in den Eimer getan wird. In diesem Falle soll also x+1 in den Eimer getan werden, d.h. man nimmt das, was schon im Eimer drinnen ist (x) und tut 1 dazu und das tut man dann wieder in den Eimer. Einige einfachen Datentypen: int ganze Zahlen von -2^31 bis 2^31 - 1 long ganze Zahlen von -2^63 bis 2^63 -1 float Dezimalzahlen (7 Ziffern) double Dezimalzahlen mit der doppelten Genauigkeit (16 Ziffern) boolean kann nur die Wahrheitswerte true und false annehmen char Zeichen (z.B. eine Tastaturtaste) String Text Für Variablennamen gelten folgende Regeln: Der Name darf nicht mit einer Ziffer beginnen Sonderzeichen wie : * ; + - / sind nicht nicht erlaubt Sie fangen in der Regel mit einem kleinen Buchstaben an