\mnb150ÿ{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fprq2 System;}{\f3\fswiss\fprq2 Arial;}{\f4\fmodern\fprq1 Courier New;}{\f5\fswiss\fprq2 Helvetica;}}
{\colortbl\red0\green0\blue0;\red0\green128\blue0;\red255\green0\blue0;\red0\green0\blue255;\red128\green128\blue128;}
\deflang1031\pard\ri4\plain\f4\fs20\cf0\b ________________________________________________________________________________
\par
\par \plain\f4\fs20\cf0 Inhalt....: if-Anweisungen in MuPAD
\par Kategorie.: Handwerkskasten
\par Mathematik: Programmierung
\par MuPAD.....: 3.0.0
\par Datum.....: 2002-08-14
\par Autoren...: Kai Gehrs
\par Funktionen: if, then, else, elif, random
\par \plain\f4\fs20\cf0\b ________________________________________________________________________________
\par \plain\f3\fs36\cf0\b
\par \plain\f3\fs40\cf0\b Elementare MuPAD-Funktionen:
\par if-Anweisungen in MuPAD\plain\f3\fs24\cf1
\par
\par Zu den elementarsten Konzepten der imperativen Programmierung geh\'f6ren die if-Anweisungen.
\par Der Umgang mit if-Anweisungen in MuPAD soll im folgenden beschrieben werden.
\par \plain\f3\fs28\cf0
\par \plain\f3\fs28 Die Syntax von if-Anweisungen und ihre Verwendung in MuPAD wollen wir nicht
\par allgemein auf technische Weise beschreiben (eine solche Beschreibung findet
\par sich in dem offiziellen \plain\f3\fs28\cf4 MuPAD Tutorium\plain\f3\fs28 , welches durch einen Maus-Klick auf
\par das Buchsymbol in der obigen Befehlsleiste einsehbar ist), sondern an Beispielen
\par kennenlernen.
\par
\par Wir wollen testen, ob eine zuf\'e4llig erzeugte Zahl aus dem Bereich von 1 bis
\par 1000 eine gerade Zahl ist. Zufallszahlen aus dem Bereich von 1 bis 1000
\par erzeugen wir uns wie \'fcblich:
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}Zufall:= random(1..1000):
\par \pard\ri4\plain\f3\fs28
\par Um zu testen, ob eine Zahl \plain\f3\fs28\cf2 a\plain\f3\fs28 gerade ist, rechnen wir \plain\f3\fs28\cf2 a mod 2\plain\f3\fs28 . Ist das Ergebnis
\par 0, so ist \plain\f3\fs28\cf2 a\plain\f3\fs28 eine gerade Zahl, ist das Ergebnis 1, so ist \plain\f3\fs28\cf2 a \plain\f3\fs28 eine ungerade Zahl.
\par
\par Den Test, ob eine Zahl gerade oder ungerade ist, wollen wir mit Hilfe einer
\par if-Anweisung durchf\'fchren:
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}a:= Zufall():
\par \pard\li600\ri1\fi-300\plain\f4\fs28\cf2 if a mod 2 = 0 then
\par print(Unquoted, "a = ". a ." ist eine gerade Zahl"):
\par end_if:
\par \pard\ri4\plain\f3\fs28
\par (Da MuPAD im Fall, dass \plain\f3\fs28\cf2 a\plain\f3\fs28 eine ungerade Zahl ist, nichts ausgibt, kann es
\par sein, dass man die obige Eingabezeile einige Male ausf\'fchren muss, bis
\par tats\'e4chlich eine Ausgabe erscheint. Zu n\'e4heren Informationen zum Gebrauch
\par des Befehls \plain\f3\fs28\cf2 print\plain\f3\fs28 verweisen wir auf das \plain\f3\fs28\cf4 Notebook print-Anweisungen des
\par Handwerkskastens\plain\f3\fs28 )
\par
\par Bei einer if-Anweisung m\'fcssen wir immer zun\'e4chst eine Bedingung, in unserem
\par Fall die Bedingung \plain\f3\fs28\cf2 a mod 2 = 0\plain\f3\fs28 , angeben. Falls die Bedinung erf\'fcllt ist, so
\par soll MuPAD etwas ganz bestimmtes tun - in unserem Fall, wenn die Zufallszahl
\par \plain\f3\fs28\cf2 a\plain\f3\fs28 gerade ist, soll MuPAD uns dieses mitteilen, d.h. die Ausgabe
\par
\par \plain\f3\fs28\cf3 a = ... ist eine gerade Zahl\plain\f3\fs28
\par
\par produzieren. Ist die Bedingung nicht erf\'fcllt, so tut MuPAD nichts.
\par
\par Eine if-Anweisung schlie\'dfen wir immer mit der Zeile "\plain\f3\fs28\cf2 end_if\plain\f3\fs28 " ab. Man kann
\par auch abk\'fcrzend nur "\plain\f3\fs28\cf2 end\plain\f3\fs28 " schreiben, was aber im Kontext von ganzen
\par Programmen der \'dcbersicht wegen nicht unbedingt ratsam ist.
\par
\par Die Tasache, dass MuPAD nichts tut, wenn \plain\f3\fs28\cf2 a\plain\f3\fs28 eine ungerade Zahl ist, scheint
\par nicht wirklich gl\'fccklich zu sein. Sch\'f6ner w\'e4re es, wenn MuPAD uns das
\par auch mitteilen w\'fcrde. Daf\'fcr k\'f6nnen wir den Befehl \plain\f3\fs28\cf2 else\plain\f3\fs28 benutzen:
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}a:= Zufall():
\par \pard\li600\ri1\fi-300\plain\f4\fs28\cf2 if a mod 2 = 0 then
\par print(Unquoted, "a = ". a ." ist eine gerade Zahl"):
\par else
\par print(Unquoted, "a = ". a ." ist eine ungerade Zahl"):
\par end_if:
\par \pard\ri4\plain\f3\fs28
\par Jetzt erhalten wir bei jeder Ausf\'fchrung der Eingabezeilen eine Ausgabe.
\par
\par Mit Hilfe des \plain\f3\fs28\cf2 else \plain\f3\fs28 Befehls teilen wir MuPAD mit, dass immer dann, wenn
\par die Bedingung \plain\f3\fs28\cf2 a mod 2 = 0\plain\f3\fs28 nicht erf\'fcllt ist, die Ausgabe
\par
\par \plain\f3\fs28\cf3 a = ... ist eine ungerade Zahl
\par \plain\f3\fs28
\par produziert werden soll.
\par
\par Wir wollen das Problem ein wenig "verkomplizieren". Aufgabe soll es
\par sein, zu testen, ob die Zahl \plain\f3\fs28\cf2 a\plain\f3\fs28 gerade ist - ist sie nicht gerade, so soll
\par weiter getestet werden, ob sie kleiner als 500 ist. Mit Hilfe von \plain\f3\fs28\cf2 elif \plain\f3\fs28 k\'f6nnen
\par wir auch weitere Bedinungen abpr\'fcfen:
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}a:= Zufall():
\par \pard\li600\ri1\fi-300\plain\f4\fs28\cf2 if a mod 2 = 0 then
\par print(Unquoted, "a = ". a ." ist eine gerade Zahl"):
\par elif a < 500 then
\par print(Unquoted, "a = ". a ." ist eine ungerade Zahl kleiner als 500"):
\par else
\par print(Unquoted, "a = ". a ." ist eine ungerade Zahl gr\'f6\'dfer oder gleich 500"):
\par end_if:
\par \pard\ri4\plain\f3\fs28
\par MuPAD testet also jetzt zuerst, ob die Zahl \plain\f3\fs28\cf2 a \plain\f3\fs28 gerade ist. Ist dies nicht
\par der Fall, so testet MuPAD als n\'e4chstes, ob \plain\f3\fs28\cf2 a\plain\f3\fs28 kleiner als 500 ist. Trifft
\par all dies nicht zu, so wird die Zeile unterhalb des \plain\f3\fs28\cf2 else\plain\f3\fs28 Befehls ausgef\'fchrt.
\par Wichtig ist hier die Reihenfolge der Bedingungen, die genau so abgearbeitet
\par werden, wie wir sie angegeben haben.
\par
\par \plain\f4\fs20\cf0\b _______________________________________________________________________________
\par \plain\f3\fs22\cf0
\par \plain\f3\fs22\cf1\b Anmerkungen:\plain\f3\fs22\cf1
\par \plain\f3\fs20\cf1\b 1\plain\f3\fs20\cf1 . Weitere Anregungen finden Sie in der Buchreihe \plain\f3\fs20\cf2 Mathematik 1 x anders\plain\f3\fs20\cf1 . In dieser Reihe
\par wird eine Vielzahl unterschiedlichster mathematischer Probleme mit MuPAD gel\'f6st. Die
\par B\'fccher k\'f6nnen unter \plain\f5\fs20\cf3 www.schule.mupad.de/literatur\plain\f3\fs20\cf1 kostenfrei kopiert werden.
\par \plain\f3\fs20\cf3
\par \plain\f4\fs20\cf0\b _______________________________________________________________________________
\par
\par
\par }