Lösungen zu Übungsaufgaben Variablen

1. Verständnisfragen

1) Was sind Variablen? Wofür werden sie benutzt?

Variablen sind Speicherplätze, in denen man im Programm Werte speichern kann. Stellen Sie sie sich z.B. einfach als Kartons vor, in die man irgendetwas hineinlegen kann.

2) Was kann man in Variablen speichern?

In Variablen kann man wahlweise z.B. Zahlenwerte, einzelne Buchstaben oder ganze Texte speichern und noch andere Dinge, zu denen wir später kommen.

3) Kann man in einer Javascript-Variable Daten unterschiedlichen Typs speichern?

Ja, in Javascript kann man leider verschiedene Datentypen in der gleichen Variable speichern!
a = 5;
a = "Hallo";
Eine solche Nutzung von Variablen mit Werten unterschiedlichen Typs ist generell unerwünscht!
Solch eine konfuse Programmierung führt oft zu einer unnötigen Fehlersuche, welche viel Zeit kosten kann!
Es werden von Javascript-Programmen leider nicht alle Typfehler erkannt. Javascript wandelt häufig automatisch gegebene Typen so um, dass es für den Programmablauf funktioniert - aber eben nicht immer!

4) Welche Unterschiede sind zu beachten bezüglich der Werte, die in Variablen gespeichert werden können?

Zahlenwerte sind am einfachsten vom Computer zu verwerten. Jede Zahl wird einfach im Dualsystem abgespeichert, z.B. in einem 8-Bit System als 1=00000001, 2=00000010, 3=00000011, 4=00000100, ...
Zahlen werden in Programmen einfach hingeschrieben und dann im Javascript-Programm als solche erkannt und verwendet. Eine Zahlenvariable sieht also im Javascript-Programm z.B. wie folgt aus: var zahl=42;
Es gibt auch Kommazahlen in Computerprogrammen, wie z.B. 1,5. Da die meiste Software aus den USA kommt, werden alle Kommazahlen mit Punkt anstelle des Kommas geschrieben. Eine solche Zahl sieht als Variable also wie folgt aus: var kommazahl=1.5.
Zeichen (z.B. Buchstaben) werden entsprechend einer Wertetabelle auch als Zahlen abgepeichert. Jedes Zeichen entspricht in der Zeichentabelle einem Zahlenwert, siehe z.B. ANSI-Tabelle. Zeichen werden im Programm geschrieben, indem man Gänsefüßchen 'A', 'B', 'C', ... dem Zeichen hinzufügt.
Eine Zeichenvariable schreibt man also wie folgt: var zeichen='A';
Zeichenketten (engl. Strings) sind Ansammlungen von Zeichen, die entsprechend Zeichentabelle gespeichert werden. Zeichenketten speichert man in Variablen wie folgt: var zeichenkette="Hallo Welt";
Wahrheitswerte (engl. Boolean) kann man als Werte true oder false in Variablen speichern.
Diese sehen dann wie folgt aus: var IstDasWahr=true;

5) Nennen Sie umgangssprachlich vier verschiedene Typen von Variablenwerten!

Zahlen, Kommazahlen, Zeichen, Zeichenketten, Wahrheitswerte

6) Nennen Sie die in der Fachsprache üblichen Bezeichnungen für verschiedene Typen von Variablenwerten!

Entsprechend der obigen Reihenfolge finden Sie entsprechende Variablentypen in den meisten Programmiersprachen:
Integer, Float, Char, String, Boolean. In Javascript wird im Programm auch mit diesen Typen gearbeitet. Auf den ersten Blick sind sie jedoch leider nicht erkennbar, weil alle Variablen mit dem keyword var deklariert werden. D.h. Alle Variablen werden in Javascript wie folgt geschrieben:
var ...

7) Wie heisst Zeichenkette auf englisch?

String

8) Sind die Namen von Variablen vorgegeben oder kann man sich selbst welche ausdenken?

Die Namen von Variablen denkt man sich selbst aus entsprechend der gegebenen Aufgabenstellung.

9) Wie viele Variablen kann man sich selbst ausdenken?

Sie können beliebig viele Variablen anlegen. Mit dem Anlegen neuer Variablen sollte man aber möglichst sparsam umgehen, damit man im Programm nicht die Übersicht verliert.

10) An welcher Stelle sind Variablen in kleinen Programmen in der Regel zu finden?

Variablen befinden sich in kleinen Programmen stets am Anfang vor den ersten Anweisungen.

11) Wie benennt man Variablen am besten? Gibt es dafür Regeln? Wird das Programm noch richtig ausgeführt bei falscher Benennung?

Für die Benennung von Variablen sind einige Regeln zu berücksichtigen ...

12) Was passiert, wenn man eine Variable so nennt, wie einen Befehl in Javascript? Geht das überhaupt?

...

13) Mit welchem Befehl kann man in Javascript ganz einfach einen Eingabetext vom Nutzer abfragen? Nennen Sie ein Beispiel, wie man die genannte Funktion richtig verwendet! Erläutern Sie die verschiedenen Bestandteile des genannten Beispiels!

...

14) Wie kann man im Programm eine Tastatureingabe in eine ganze Zahl wandeln, mit der man dann im Programm rechnen kann?

...

15) Wie kann man im Programm eine Tastatureingabe in eine Kommazahl wandeln, mit der man dann im Programm rechnen kann?

...

16) Erläutern Sie die verschiedenen Bestandteile der Funktion parseInt(), z.B. am Beispiel zahl = parseInt(eingabe)!

...

17) Was passiert im obigen Beispiel, wenn die Variable eingabe keine Zeichenkette enthält, welche eine Zahl darstellt? Was passiert, wenn die eingegebene Zeichenkette ein Komma enthält?

2. Literale

1) Was sind Literale?

siehe:
http://de.wikipedia.org/wiki/Literal

2) Unterstreichen Sie alle Text-Literale

abc
"abc"
"X"
"4+5"
4+"5"

3) Unterstreichen Sie alle Wahrheitswert-Literale

true
True
"false"
"56 == 93"
false

4) Unterstreichen Sie alle Zahlen-Literale

2.7
-65
5+6
sechs
"8"
"siebzehn"

5) Unterstreichen Sie alle gültigen Javascript-Ausdrücke

5+6
56==93
8*"sieben" man kann keine Zeichenketten multiplizieren
5>34
5=5 man kann einer Zahl keine andere zahl zuweisen
"5" * "4" so etwas macht man nicht! Wenn 5 * 4 gemeint ist, dann schreibt man es auch so hin!

3. Gute Variablennamen

1) Benennen Sie die im folgenden Programm verwendeten Variablen so, dass alle Mitarbeiter im Team sofort erkennen, worum es sich hier handelt!

var AnzahlAepfel=4, AnzahlBirnen=8, GesamtPreis;
var Apfelpreis=0.1, Birnenpreis=0.15;    // Euro
 
document.write("4 Äpfel kosten: " + Apfelpreis*AnzahlAepfel + "Euro");
document.write("8 Birnen kosten: " + Birnenpreis*AnzahlBirnen + "Euro");
 
GesamtPreis = Apfelpreis*AnzahlAepfel + Birnenpreis*AnzahlBirnen;
 
document.write("Die Äpfel und Birnen kosten zusammen: "
              + GesamtPreis
              + "Euro");

2) Werten Sie die folgenden Javascript-Ausdrücke aus und geben Sie den Typ an

Ausdruck
Wert
Typ
8-5.6
2.4
Fließkommazahl
false && true
false
Wahrheitswert/Boolean
45>5.6
true
Wahrheitswert/Boolean
false && (2==2)
false
Wahrheitswert/Boolean
"34" + "67"
3467
Zeichenkette
"Programmier" + "richtlinien"
Programmierrichtlinien
Zeichenkette