6. Die if-Anweisung

Inhalt

6.1 Vergleichsoperatoren

  Vergleiche mit Zahlen

  Vergleiche mit Zeichenketten

  Nicht stolpern!

6.2 Die einfache if-Anweisung

  Beispiel

  Syntax

6.3 Die if-Anweisung mit else-Zweig

  Beispiel

  Syntax

  Mögliche Fehlerquellen

Aufgaben zur if-Anweisung

  Aufgabe A61 (Färben mit if)

  Aufgabe A62 (Färben mit if und else)

  Aufgabe A63 (Absolutbetrag)

  Aufgabe A64 - Mäuse finden

  Aufgabe A65 - Quadranten

6.4 Verlassen von Schleifen mit break

  Beispiel

Aufgaben zur break-Anweisung

  Aufgabe B61 - Feld finden

  Aufgabe B62 - Lücke finden

  Aufgabe B63 - Summe berechnen (Unbekannte Länge)

Zusatzaufgaben

  Aufgabe Z61 - Färben mit if (2)

  Aufgabe Z62 - Haus malen

  Aufgabe Z63 - Mäuse im Feld finden

  Aufgabe Z64 - Lücken finden: oben und unten

  Aufgabe Z65 - Labyrinth 1

  Aufgabe Z66 - Labyrinth 2

  Aufgabe Z67 - Quersumme

6.1 Vergleichsoperatoren

Werte können verglichen werden. Dabei ist das Ergebnis eines Vergleichs ist immer true oder false, je nach Wahrheitswert der Aussage.

Vergleiche mit Zahlen

var x = 9;
print(x < 10);
print(x == 10);
print(x != 10);
print(x >= 10);

Für den Vergleich von Zahlen und Strings verwenden wir die Vergleichsoperatoren aus folgender Tabelle.

Operator Mathematisches Symbol Bedeutung
< Kleiner
<= Kleiner oder gleich
> Größer
>= Größer oder gleich
== Gleich
!= Ungleich

Unterscheide genau zwischen = (Zuweisung zu einer Variablen) und == (Vergleich zweier Ausdrücke)

Vergleiche mit Zeichenketten

Vergleiche funktionieren auch mit Zeichenketten:

var p = "Puschel";
var m = "Merle";
print(p < m);
print(p >= m);
print(p != m);
print("-----");
print("puschel" == "Puschel");
print("puschel" < "Puschel");

Nicht stolpern!

var x=7;
print(x=9);
print(x==9);

6.2 Die einfache if-Anweisung

Um Verzweigungen im Code zu erzeugen, je nachdem ob eine Bedingung wahr oder falsch ist, wird die if-Anweisung verwendet.

Beispiel

var x = 7;
if (x > 5)
{
  print(x + " ist größer als 5");
}
print("Code nach der if-Anweisung");

Syntax

if (Bedingung)
{
  Code_if;
}

Das Programm testet Bedingung und falls diese erfüllt ist, werden die Anweisungen im Block Code_if ausgeführt. Andernfalls wird der Code nach der schließenden geschweiften Klammer ausgeführt.

6.3 Die if-Anweisung mit else-Zweig

Beispiel

var x = 3;
if (x > 5)
{
  print(x + " ist größer als 5");
}
else 
{
  print(x + " ist nicht größer als 5");
}
print("Code nach der if-Anweisung");

Syntax

if (Bedingung) 
{
  Code_if
}
else
{
  Code_else
}

Das Programm testet Bedingung und falls diese erfüllt ist, wird Code_if ausgeführt. Ist Bedingung nicht erfüllt, so werden die Anweisungen im Block Code_else ausgeführt.

Danach wird der Code nach der schließenden geschweiften Klammer ausgeführt.

Mögliche Fehlerquellen

Korrigiere die folgenden Codebeispiele

Fehler 1

var x = 3;
if x > 0
{
  print("in if");
}

Fehler 2

var x = 3;
if (x > 5) ;
{
  print(x + " ist größer als 5");
}

Aufgaben zur if-Anweisung

Aufgabe A61 (Färben mit if)

Verwende repeat und if!

Dein Programm muss das nebenstehende Struktogramm 1:1 umsetzen

>:)H4sIAAAAAAAAClWOUQrCMAyG3wu9w38AFURUEPqgE
x992A3aLZPAmsps9ULexIuZTQQlIYH8f5LPml1LnTWNq
3y2JriaWhzZxyStNbvLwNoWUANCgIZWhHGwUDlS9tY8W
FyV+jRUqUjGoS/0PYHtDD/SOQl9ymptjfhIbr9ZYo7T6
zkEEkTOYMXpijQ3F9OdcPWsm814RD+ydMmajx0tE2pfs
i6G3hcQy0j2Tz1BTzlRvwFb2KQq8QAAAA==

Aufgabe A62 (Färben mit if und else)

Diese Aufgabe ist ähnlich wie A61 und kann elegant mit einem else-Zweig gelöst werden.

>:)H4sIAAAAAAAAClWPTW4DIQxG90jcwQdos5iqWURi0
UzV7rrIDTyMJ7UKpmKgUXqeHCO7XCwmUX8iEBY8fZ941
qxGmqzxrsdizeA2NMIzY0wyWrN364D+4+9htc2sYwGaG
Pa6dLfLQlGkgtbsWFyfQsp9qlJgHSr9xOHxDv6h10wkv+
zhhr0loevRddYIRnJPyw7u4eV0yIPGIhfgCaomKcxkzV
TFzy6mL4JPZK3wrU2/xTIla645GJkgp6IFG6xtDAErEM
ulqdHZv+8wfyva5tNRmtiNsyqr9MX5DNhKsPU8AQAA

Aufgabe A63 (Absolutbetrag)

Dein Programm muss das nebenstehende Struktogramm 1:1 umsetzen

>:)H4sIAAAAAAAACjVPQWoDMQy8C/QHPSApaRZKsuBDE
mgu7aWFFnrzrrVew9qbynbzoT6jt3ysWmgvkoaRZkYIr
eMBoTcnW94RLmaHEM16j5DNBsGbszAnev2sVhih9RIcw
h0CXXq/tEhea16qwjZysQjXkMjQm52ooXvarf7GLe3/x
4Y2K3oO6YWtO801FWoQko2sd4eHhtZ0ZOF+TGruONOhy
/NUS8dFrM8IQ0191t04fzGJitBVQmEqVZLGCGmYEZ6CX
rrA9GHHSYVYY9XkKPejcOiYFC+0l9vPYvTIk2NBCEqrf
5Hbt2f96hdmV+N3JgEAAA==

Bemerkung

Das Programm implementiert die Definition des Absolutbetrags bekannt aus Klasse 7:

Aufgabe A64 - Mäuse finden

>:)H4sIAAAAAAAAClWPQWrEMAxF9wLdQRdoV6WLgBdta
aGL9A4e+3tiJlYGO2kuNDeZi1WZdCiFj0D8r4c+UxeRm
IJ78zNTcf20NDAN7nVaR6buWHNkerREkcEkZZu2m7qC2
TOtWV2fAz51u2lM6gvcy/OTPEh/vRhPUtYIZUqLhubK9
A2Z/QkS63SWBmQ9Gi5rmpje6wmqEL8kWTGGASofGCOqS
sthuDMP2KmyaBSmQzWIETPugay37et6OSds7/512Vvs+
u3y3zRDzL2ZP+/B6P4kAQAA

Aufgabe A65 - Quadranten

>:)H4sIAAAAAAAACp2QwWrDMBBE7wL9w3xALIjjtGDQI
S1tL72UQA+9ydbaFlgKleza/rfe+mPdtIGGXAK9LOzM7
mMYKUpLjRS1vjeDFK1+ikQB+/fRRJKi0nf9SKcVGylmP
WspFr3wLNvorBRqXqRAXqhW8VKz7mkwUkwuQAOvpkeBN
dbsBuNJ7262yPAyGhtNGChI0YyhTnzrDx+ESMZiim4gD
GNkt3ShOUjx7CjBOsKb6XqOSIwfg0VFaXDe0wosTNTXH
fkzOhK/JFd3fNi4YClwjn3dRXIVwR4pD7GlKrh0BFiKe
DxEz3FXyBWUUj+ySWjj12egE5q7+i3O6Cy/qMJsrlSRs
3v+Xelse8morjA2Cvij3P4PUihmfAPzUfcEAwIAAA==

Informiere dich gegebenenfalls im Internet über die genaue Lage der Quadranten im Koordinatensystem.

6.4 Verlassen von Schleifen mit break

Die break-Anweisung kann benutzt werden, um Schleifen vorzeitig zu verlassen. Sie wird daher oft in if-Anweisungen verwendet.

Beispiel

var n = 3;
repeat(1000)
{
  print("Puschel hat " + n + " Leben");
  n = n - 1;
  if (n == 0) {break;}
}
print("Puschel ist tot.");

Aufgaben zur break-Anweisung

Verwende für diese Aufgaben repeat-Anweisungen mit einer großen Anzahl von Wiederholungen, z.B. repeat(1000).

Aufgabe B61 - Feld finden

>:)H4sIAAAAAAAACl2QMU7EMBBF+5F8h38BVkRCFJFSs
CAoaFYCidrEY8tsPBa2w0p7Ho6xXS6GnUDDVKPx/DffX
1Fv2Co6DW96mhSNw70uitzwlJgFL5+zTqyod8kbRTvUD
QAOO0V1GrjoqvXSVHcFN+gUiQ487G87XOGRJwPrxbAos
rOMeQjxi1HmJBjjFFMF9l5sVLTnEzuG8YxnXc6M8xzg0
nKR6qOB2nFFDzr/Tjf6O6/8Ai/4YMMBr5yLrZ+BFrAXT
op03UgVc4jZFx9ldd9IhxRd0iEgzDnDLpeEquSNsXy3t
to+No1vhCr8i2JLYqs1j/b2P5DuuiXyAw7ow5dlAQAA

Aufgabe B62 - Lücke finden

>:)H4sIAAAAAAAACnWQTWrDMBCF9wLdYQ6QliaULAxeN
C3tol0UWshasUeyiDWiklxDzpNjeOeLdWynYPdHqxHz3
veGJ0VWopaizfeqrqUo8nuVpDD5U0AkePtoVEApMhNsy
arpTYMZhwL4tbNV5jAp/lsaUHcJbmEtBSmH+W67gSt46
bviiKAtlUhS6IaKmDv/iZCaQBARLRlgkCXtpdhhiwaht
AjPKp0QTo0DE/qO+L5HrMsVa31Fk2TfnxnLGjgga6qAd
C3Fg4oXy+jg3ZieINqiAuscBvBsqFR9YPlkeA3eBOUcu
CZG0H0XgCtCeMeYdH8eRr79mKwni1POsqbvohZVzcv6s
67tUNdP0BJ3Qc6hv9H/BqxvhoQvd1pVK/kBAAA=

Aufgabe B63 - Summe berechnen (Unbekannte Länge)

>:)H4sIAAAAAAAACoVQwUoDMRC9B+Yf5qigZetKhUIuF
fTSWxHBW3bztg3uTnF2Y3/IP/HHnHTVgxcDjyST92ZeH
rl1REeu9fdh2pHb+0cFhHdvOSjINX7TZ3xfuSY3AtHfk
FOvEnnJS6tVviK33muK5BYtOVbVamFnqw6YArlTEva8y
0NRcG24NcyLnIQBfrOq+bpQBnADRXsQ83HxJA1eg8gE3
n5+yB6X5Los7Wj9huM7WBEinzQZYcoqNjJJdyS3TRg5J
vBLOPTWCWYhm+Wf3pwO9qPzPPP5DBGOubDAVdl6009XR
odEcAzjmZtMPfcZW9OnxjIqQ2bfNqIQH9BHHtLEEcoli
DnjObKaa4vsT1r/BLYy3Bl+n78AAqrFQrcBAAA=

Zusatzaufgaben

Aufgabe Z61 - Färben mit if (2)

>:)H4sIAAAAAAAACl2OQYoCQQxF94Hc4S8VRkGRWQi1s
cWlC5fuqrrTQ6ArJW2VXsibeDGrEUGGwA/85P2EadtJz
9S6xmem4E7SYa8+JuuYtn+j1rYEExACalVFmIz2v7Gs+
1GyZ7qruSYNaWxSsYzdUOSTidXmB1+zYzJ5y2bNZD6KO
/+usMDh+RiDGKJmaI/Zes7UF2uvLqab4OK10u0UVM+q9
YnpjaBTwcmXXOEw+AJRm957AdXb1bDqAAAA

Aufgabe Z62 - Haus malen

>:)H4sIAAAAAAAACm2PTaoCMQzH94XeIQd4ioooCN04I
m/lwqW72MlIYZpKpn3vQt7Ei5n6ASKG5J8fhHxZs2qps
8a7BrM14vbUwiZgTNxaszpJ0DQGDTWRe5bqlRRUlO7wD
aXGBz5NJ3jdECmjNf+BXZP6JE0qnGHdF3pdAbPFD7zVd
onpIcu5NYyR3GExgxH8YhkgYk9sTVfYDy6mP4IzBu3yd
QDkIlocfBJy0/lkovsDd8ma7fUiR4I2EOyxZGI49liAA
tffb8zmewYlAQAA

Aufgabe Z63 - Mäuse im Feld finden

>:)H4sIAAAAAAAACjWOQYrDMAxF9wLdQReYEFroIuDND
BS6SA/QXRLLRUwtFztpL9Sb9GIjZ1LhxX/S/5YQOs8BY
XI/w4wQXZ+Wwgij+07PG0J3zeIRGnu1xqaJVcaVasNog
yprrfgPZt8Cm65TW/aJm6uLPA8IT1HXy8QnrXsLgg6R3
eWwpy/q3y+7iSTSkW+egqhnRShTyux2bdsihEWn4mJ6M
M3DL5PP6U6FWfRK85LN3YmGhHCsYfLCn18X9TRm8zEV6
4quw/P7dQ9sp/4BRjIpbCABAAA=

Aufgabe Z64 - Lücken finden: oben und unten

>:)H4sIAAAAAAAACm2PTWrDMBCF9wLd4R2gNZSGLAxat
IV2ke66CHSnSGNF1B4RRaoh5+kxsvPFOrFJC6UPBubn8
YZPq9ZTp9VotrbvtXLmyRatgnnJRIy3Q7WZtGpDjl5ci
5YGc+MgmjcYw/U0e9qBipU58iXzoWCFe63YDmTe1yvc4
nU6uw950kX2xC3STobKXqoQa9VVdkczpE9CqZlxJIoc4
FKfssRH7pJWjzRSIPhI2NhyIpzqgJCnM0vYM/X+BmnPi
2E7fckncWBH4thn4uYv2xWvGS84M2Gz6AdbTr+c/6Ouc
afVN+I/B4BcAQAA

Aufgabe Z65 - Labyrinth 1

>:)H4sIAAAAAAAACm3Pz0rEMBDH8fvAvMM8gJb2oEIhB
13Qg94XvGWbX9NAO4U0dXGfx8fwti9myq64f5xT+MyXk
DDVDi3T1qxt3zM1ZmUTkzcvEVCm2sfg8vp6rrAo/AUWe
S7Kg5ziMTrDP/nF0+qIzbn896QD1gOSzbugy+cek1QPU
jGpHWDe7+/kVt7s5jMGTd3i7azNZIbxA5LmqDIBQT3T1
IwRpirLMl8ZtB2ZnrCFh7gAebVpB7FzK85O4uP+WyHP6
N2NjF0+Ls16/6UOsptlgxx0EVow/QAOBFTYgwEAAA==

Aufgabe Z66 - Labyrinth 2

>:)H4sIAAAAAAAACmXOwYrCMBAG4Hsg7zAP4Ab0UKGQg
wp60LvgLTZ/00A7hTRV9Hl8jL35YpusLrurcxq++WcSK
UqLWoqz3pu2laLSKxOlcHoTAJaidMHbNH6vf6iUesNEW
d1f/I6lsHpgbn5Wn+vVC7089Itlh2jSzHP+8iLSdE4zK
dh00IeioA/ameMleI5N9nrkatBdfwLFMTANgGeXzniue
ymWOMOBrAdtTbyCzFiTNQO5cP9k0BqtnVDfpDZn9vcbW
9B1pCNSoAlgJcUXr7JmkU0BAAA=

Aufgabe Z67 - Quersumme

>:)H4sIAAAAAAAACpWPMWsDMQyFd4H+g8Z2aMjlSkIDn
gLtkqUcdLjNseU7w9mhsp3cz6+apXMnSU+PT3oIR88Bw
ZmTrQPCarpd/4owmQ9hzjR8NyuMcJwkeoSNQ6B12minW
uJqEe4xk6Evu9COOuq2CNkmVmncH+iFPhtLaSkpJLTsi
i7S9cYkbD3dJVam2iQrLuZwRThHLuQj02jnhVjhLXsqb
haOFyadvS30zotXhJurmm3mCyshqufvHj2Z4VE9C40xB
Jb8/Pv2I/BqDvt+2/8n2RsCwg8tSweQMQEAAA==