lehrkraefte:blc:informatik:ffprg1-2024:variablen-und-typen

Variablen in JavaScript

Variablen in JavaScript sollten immer mit let definiert werden und sind dann nur in dem Block gültig, wo sie definiert wurden.

Ohne Definition mit let sind die Variablen immer global, was bei grösseren Programmen zu Problemen führen kann.

Wenn wir später mit JavaScript-Modulen arbeiten werden, ist die Defintion mit let (oder var) Pflicht.

JavaScript kennt u.a. folgende Datentypen:

  • Zahlen (immer Kommazahlen).
  • Strings (Zeichenketten)
  • Arrays (Listen)
  • Objects (mehr dazu später).
  • Weitere wie true/false, undefined und null

Der Typ einer Variable ist nicht festgelegt und kann ändern. Was erst mal praktisch ist, kann aber auch zu Problemen führen.

Testen Sie dazu folgende Ausdrücke auf der Konsole im Browser:

4+2
"4"+2
Number("4")+2
"4"-2
"abc"+"efg"
"abc"-2
"4"-(-"3")
1/0

Sind beide Operanden Zahlen, ist das Resultat eine Zahl. Ist einer der Operanden ein String, ist das Resultat ebenfalls ein String (den man erhält, wenn die beiden zu String konvertierten Operanden aneinanderhängt).

Schreiben Sie ein JavaScript-Programm (Sie können auch einfach das Programm in hello.js ersetzen), das quadratische Gleichungen der folgenden Form löst: \[ a x^2 + b x + c = 0 \qquad \text{mit $a$, $b$, $c$ $\in \mathbb{R}$ und $a \neq 0$} \] Die Lösungsformel ist: \[ x_{1,2} = \frac{-b \pm \sqrt{b^2-4ac}}{2a} \] In JavaScript kann z.B. die Wurzel aus 2 mit Math.sqrt(2) berechnet werden.

Ihr Programm soll wie folgt aussehen:

let a = 2;
let b = 4;
let c = -1;
 
let x1 = ....;
let x2 = ....;
 
console.log(`x_1 = ${x1}`);
console.log(`x_1 = ${x1}`);

Testen Sie Ihr Programm mit verschiedenen Werten von a,b,c. Geben Sie mit einem console.log(…) auch noch die Gleichung aus.

Berechnen Sie erst die Diskriminante $d$ (den Ausdruck unter der Wurzel). Bauen Sie dann folgende Verzweigung ein:

if (d<0) {
  console.log("Keine reelle Lösung");
} else {
  //
  // Lösungen berechnen und ausgeben
  //
}

Probieren Sie folgende Dinge in der Konsole aus:

a = "hello"
b = "world"
a + b
a + " " + b
a[0]
a[1]
a.length
b
b += "!"
b
b.substr(2)
b.substr(2,2)
b.substr(-2)
b.indexOf("l")
b.indexOf("k")
c = b.toUpperCase()
c.toLowerCase()
  • lehrkraefte/blc/informatik/ffprg1-2024/variablen-und-typen.txt
  • Last modified: 2024/02/09 13:02
  • by Ivo Blöchliger