Übersicht Bedingungsanweisungen (IF und CASE) Schleifen (FOR und WHILE) Fragen.

Post on 06-Apr-2016

214 views 1 download

Transcript of Übersicht Bedingungsanweisungen (IF und CASE) Schleifen (FOR und WHILE) Fragen.

Übersicht• Bedingungsanweisungen (IF und CASE)• Schleifen (FOR und WHILE)• Fragen

IF-Anweisung• Grundstruktur wie bei Java/C

if Bedingung 1Bedingter Anweisungsblock 1

elseif Bedingung 2Bedingter Anweisungsblock 2

elsealternativer Anweisungsblock

end

IF-Anweisung• Bedingungen:

– 0 (auch 0i) und [ ] sind falsch– NaN (not a number) ist nicht zugelassen– Andere numerische Werte (auch komplexe) und inf (infinity)

sind wahr– Verknüpfungen durch logische Operatoren sind möglich:

~ Logisches nicht

& Logisches und

| Logisches oder

xor Exklusives oder

IF-Anweisung• Beispiele:

>>if [ ], wird_nie_ausgeführt();end

>>if 123, wird_immer_ausgeführt();end

>>a = 1.5;>>b = 3;>>if (a <= 2) && (b ~= 4), wird_ausgeführt();end

CASE-Anweisungen switch switch-Ausdruck

case case-AusdruckBefehle

case case-AusdruckBefehle

…otherwise

Befehleend

CASE-Anweisungen• Switch/Case-Ausdruck:

– Skalar (Matrizen aus komplexen Fließkommazahlen)

– Zeichenkette

CASE-Anweisungen• Beispiel:

>> switch zensurbewertungcase {1,2}

disp ‘sehr schön‘,case {3,4}

disp ‘ok‘,case {5,6}

disp ‘nicht so toll‘,otherwise

disp ‘Eingabefehler!‘,end

FOR-Schleifen

for v = Ausdruck (Matrix, Vektor)Anweisungen

end

- In jedem Schleifendurchlauf wird der Variablen (Spalte) v nacheinander der Wert eines Elements der Matrix ‚Ausdruck‘ zugewiesen und der Anweisungsblock durchlaufen.

- Die Anzahl Spalten der Matrix ist gleich der Anzahl der Spaltendurchläufe

FOR-Schleifen• Beispiel:

>> n = 5;>> fak = 1;>> for j = 1:n

fak = fak * j;end>> fakfak =120

WHILE-Schleifenwhile relation

Anweisungenend

Sofern der Ausdruck ‚relation‘ (Matrix) mehr als ein Element hat, werden die Anweisungen im Schleifenkörper genau dann ausgeführt, wenn jede einzelne Komponente wahr ist

WHILE-Schleifen• Beispiel:

>> sum = 0;>> k = 1;>> while k <= 100

sum = sum + k;k = k + 1;

end

Fragen?Vielen Dank für die

Aufmerksamkeit!