Benutzer-Werkzeuge

Webseiten-Werkzeuge


einleitung:variablen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
einleitung:variablen [2018/04/27 20:04]
d.golovko [Variablen müssen vor der Verwendung deklariert werden]
einleitung:variablen [2018/04/27 20:37] (aktuell)
d.golovko [Variablen müssen vor der Verwendung deklariert werden]
Zeile 3: Zeile 3:
  
 Eine Variable ist ein Ort, an dem ein Programm Daten speichern kann. Eine Variable ist ein Ort, an dem ein Programm Daten speichern kann.
-Diese Daten können an einer Stelle des Programms in die Variable geschrieben werden, dort eine Weile herumliegen und dann an einer anderen Stelle wieder verwendet werden. +Diese Daten können an einer Stelle des Programms in die Variable geschrieben werden, dort eine Weile herumliegen und dann an einer anderen Stelle wieder verwendet werden. Ihr könnt euch Variablen wie einen Schmierzettel vorstellen, der mit einem Namen beschriftet ist, und auf dem ihr euch Zwischenergebnisse aufschreiben könnt. ​
- +
-Ihr könnt euch Variablen wie einen Schmierzettel vorstellen, der mit einem Namen beschriftet ist, und auf dem ihr euch Zwischenergebnisse aufschreiben könnt. ​+
  
 Eine typische Verwendung sieht z.B. so aus: Eine typische Verwendung sieht z.B. so aus:
Zeile 34: Zeile 32:
 | double ​      | 1,​7E-308 ​        | 1,​7E+308 ​       | 64             | mit Komma, langsamer als float - auf Arduino identisch mit float | double ​      | 1,​7E-308 ​        | 1,​7E+308 ​       | 64             | mit Komma, langsamer als float - auf Arduino identisch mit float
  
-Daneben gibt es auch spezielle Typen für Text (String, ​char*), oder ein komplexere ​'Objekte' ​(eine Serielle Schnittstelle oder Motortreiber ​z.B.). ​+Daneben gibt es auch einen speziellen Typ für Text (''​char'' ​für ein Zeichen, ​z.B. für eine einzelne Buchstabe). Weiterhin kann man neue Datentypen definieren, indem man eine //Klasse// schreibt -- dazu kommen wir im Skript der Woche 3. Ein Beispiel ist der Typ ''​String'',​ der für eine Zeichenkette (ein Wort, einen Satz usw.) steht 
 === Variablennamen === === Variablennamen ===
 Unter diesem Namen kann die Variable im Programm verwendet werden. Groß- und Kleinschreibung macht dabei einen Unterschied. Unter diesem Namen kann die Variable im Programm verwendet werden. Groß- und Kleinschreibung macht dabei einen Unterschied.
Zeile 47: Zeile 46:
  
 also z.B. also z.B.
-<code c++>​delayZeit=1000/​blinkFrequenz;​''​</​code>​+<code c++>​delayZeit=1000/​blinkFrequenz;</​code>​
  
 === Zuweisungen sind keine Gleichungen! === === Zuweisungen sind keine Gleichungen! ===
 Das Gleichheitszeichen hat in der Programmierung eine andere Bedeutung als in der Mathematik! Das Gleichheitszeichen hat in der Programmierung eine andere Bedeutung als in der Mathematik!
  
-Eine Zuweisung im Programm (''​a=b''​) bedeutet **//​nicht//​**,​ dass ''​a''​ und ''​b''​ immer den gleichen Wert haben werden und "​miteinander verbunden bleiben"​.+Eine Zuweisung im Programm (''​var1=var2''​) bedeutet **//​nicht//​**,​ dass ''​var1''​ und ''​var2''​ immer den gleichen Wert haben werden und "​miteinander verbunden bleiben"​.
 Schaut euch dazu z.B. folgendes Programm an: Schaut euch dazu z.B. folgendes Programm an:
 <code c++> ​ <code c++> ​
-int a;  // deklariere Variable "a+int var1;  // deklariere Variable "var1
-int b;  // deklariere Variable "b+int var2;  // deklariere Variable "var2
-a=1;    // weise "a" den Wert "​1"​ zu. +var1=1;    // weise "var1" den Wert "​1"​ zu. 
-b=a;    // weise "b" das zu, was aktuell in "a" steht. +var2=var1;    // weise "var2" das zu, was aktuell in "var1" steht. 
-Serial.println(a); //  --> gibt "​1"​ aus +Serial.println(var1); //  --> gibt "​1"​ aus 
-Serial.println(b); //  --> gibt auch "​1"​ aus+Serial.println(var2); //  --> gibt auch "​1"​ aus
  
-a=2;    // weise "a" den neuen Wert "​2"​ zu. --> ​wird dadurch nicht verändert. +var1=2;    // weise "var1" den neuen Wert "​2"​ zu. --> ​var2 wird dadurch nicht verändert. 
-Serial.println(a); //  --> gibt "​2"​ aus +Serial.println(var1); //  --> gibt "​2"​ aus 
-Serial.println(b); //  --> gibt immer noch "​1"​ aus+Serial.println(var2); //  --> gibt immer noch "​1"​ aus
 </​code>​ </​code>​
  
 So sind auch Ausdrücke möglich, die mathematisch keinen Sinn ergeben würden (bzw. eine "​falsche Aussage"​ wären) So sind auch Ausdrücke möglich, die mathematisch keinen Sinn ergeben würden (bzw. eine "​falsche Aussage"​ wären)
 <code c++> <code c++>
-int i;        // deklariere Variable "i+int var;        // deklariere Variable "var
-= 1;        // weise "i" den Wert "​1"​ zu. +var = 1;        // weise "var" den Wert "​1"​ zu. 
-+ 1;    // nimm das, was gerade in "i" steht, addiere dazu "​1"​ und speichere das Ergebnis wieder in "i+var var + 1;    // nimm das, was gerade in "var" steht, addiere dazu "​1"​ und speichere das Ergebnis wieder in "var
-Serial.println(i); //  --> gibt "​2"​ aus +Serial.println(var); //  --> gibt "​2"​ aus 
-+ 1;    // nimm das, was gerade in "i" steht, addiere dazu "​1"​ und speichere das Ergebnis wieder in "i+var var + 1;    // nimm das, was gerade in "var" steht, addiere dazu "​1"​ und speichere das Ergebnis wieder in "var
-Serial.println(i); //  --> gibt "​3"​ aus+Serial.println(var); //  --> gibt "​3"​ aus
 </​code>​ </​code>​
  
Zeile 84: Zeile 83:
  
 Ihr könnt die Initialisierung auch weglassen - dann steht in der Variable irgendein unvorhersehbarer Wert, der an dieser Speicherstelle vorher schon herumlag - (also **//​nicht//​** unbedingt Null!). Ihr könnt die Initialisierung auch weglassen - dann steht in der Variable irgendein unvorhersehbarer Wert, der an dieser Speicherstelle vorher schon herumlag - (also **//​nicht//​** unbedingt Null!).
 +\\
 +\\
  
 ==== Gültigkeitsbereich (Scope) ==== ==== Gültigkeitsbereich (Scope) ====
einleitung/variablen.1524852283.txt.gz · Zuletzt geändert: 2018/04/27 20:04 von d.golovko