Lernprogramme > Programmierung > Aufgabe 3-2: While-Schleifen schreiben
  
Aufgabe 3-2: While-Schleifen schreiben
Einfache While-Funktionen schreiben
Schreiben Sie eine Funktion sigma, die alle Zahlen von 0 bis n summiert.
1. Definieren Sie eine Funktion sigma, die eine Variable n akzeptiert, und erstellen Sie ein neues Programm.
Zum Kopieren dieses Ausdrucks klicken
2. Um eine leere while-Schleife hinzuzufügen, klicken Sie auf der Registerkarte Rechnen in der Gruppe Operatoren und Symbole auf Programmierung und dann auf while.
Zum Kopieren dieses Ausdrucks klicken
3. Geben Sie an, dass die while-Schleife solange ausgeführt wird, solange n>0 ist und dass n in der Schleife um 1 dekrementiert werden soll.
Zum Kopieren dieses Ausdrucks klicken
* 
Anders als bei for-Schleifen, müssen Sie den while-Iterator inkrementieren oder dekrementieren.
4. Um den aktuellen Iteratorwert zur Summe zu addieren, geben Sie die folgende Zeile wie unten angegeben unmittelbar nach der while-Anweisung ein.
Zum Kopieren dieses Ausdrucks klicken
5. Geben Sie den Wert von sum zurück.
Zum Kopieren dieses Ausdrucks klicken
* 
Aktualisieren Sie den Iterator zuletzt, andernfalls wird die erste Iteratoraddition übergangen.
6. Berechnen Sie den Wert von sigma für 5.
Zum Kopieren dieses Ausdrucks klicken
Wie erwartet, ist das Programm gleichbedeutend mit der folgenden Summe:
Zum Kopieren dieses Ausdrucks klicken
Continue-Anweisungen hinzufügen
Fügen Sie continue-Anweisungen hinzu, wenn eine bestimmte Iteration übergangen, die Schleife aber weiterhin ausgeführt werden soll.
Schreiben Sie eine Funktion, die alle Werte von 0 bis n, ausgenommen die durch 17 teilbaren Zahlen, aufsummiert.
1. Kopieren Sie obige Funktion, und benennen Sie sie in sigma_not17 um.
Zum Kopieren dieses Ausdrucks klicken
2. Fügen Sie in der while-Schleife eine neue Zeiler unter der while-Anweisung hinzu.
Zum Kopieren dieses Ausdrucks klicken
3. Fügen Sie eine if-Anweisung hinzu, und geben Sie den unten angegebenen Ausdruck ein.
Zum Kopieren dieses Ausdrucks klicken
4. Um eine Endlosschleife zu vermeiden, dekrementieren Sie n um 1.
5. Um eine continue-Anweisung hinzuzufügen, klicken Sie auf der Registerkarte Rechnen in der Gruppe Operatoren und Symboleauf Programmierung und anschließend auf continue.
Zum Kopieren dieses Ausdrucks klicken
6. Berechnen Sie den Wert von sigma_not17 für 16 und 17.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Break-Anweisungen hinzufügen
Schreiben Sie ein Programm, das die Summe aller Zahlen bildet und die Schleife beendet, wenn der Zähler größer als 20 ist.
1. Definieren Sie eine Variablesum, und erstellen Sie ein neues Programm.
Zum Kopieren dieses Ausdrucks klicken
2. Um eine leere while-Schleife hinzuzufügen, klicken Sie auf der Registerkarte Rechnen in der Gruppe Operatoren und Symbole auf Programmierung und dann auf while.
Zum Kopieren dieses Ausdrucks klicken
3. Geben Sie an, dass die while-Schleife unendlich oft ausgeführt werden soll.
Zum Kopieren dieses Ausdrucks klicken
* 
Die while-Schleife wird solange ausgeführt, solange der in Klammern angegebene Ausdruck ungleich 0 ist.
4. Initialisieren Sie sum und i.
Zum Kopieren dieses Ausdrucks klicken
5. Addieren Sie den Wert des Iterators i zur Variablen sum, und inkrementieren Sie i in der Schleife um 1.
Zum Kopieren dieses Ausdrucks klicken
6. Geben Sie den Wert von sum zurück.
Zum Kopieren dieses Ausdrucks klicken
* 
Gegenwärtig ist dies eine Endlosschleife.
7. Um die Schleifenausführung anzuhalten, geben Sie if i > 20 ein und fügen die break-Anweisung hinzu. Um eine break-Anweisung hinzuzufügen, klicken Sie auf der Registerkarte Rechnen in der Gruppe Operatoren und Symboleauf Programmierung und anschließend auf break.
Zum Kopieren dieses Ausdrucks klicken
8. Berechnen Sie sum.
Zum Kopieren dieses Ausdrucks klicken
9. Um die Schleife anzuhalten und das Programm zu beenden, wählen Sie die break-Anweisung aus, und dann klicken Sie auf der Registerkarte Rechnen in der Gruppe Operatoren und Symbole auf Programmierung und anschließend auf return, um die Anweisung in eine return-Anweisung zu ändern. Geben Sie, wie unten gezeigt, sum in den Platzhalter ein.
Zum Kopieren dieses Ausdrucks klicken
* 
Verwenden Sie return, um das Programm sofort zu beenden.
Übung
Bevor Sie mit der nächsten Aufgabe fortfahren, schreiben Sie eine Funktion fact(n), die mithilfe einer while-Schleife eine Fakultätsfunktion implementiert. Definieren Sie eine Schleife, die solange ausgeführt wird, solange n größer als 1 ist. Multiplizieren Sie in der Schleife n mit der Variablen product (womit das Ergebnis der Fakultät gespeichert wird), und dekrementieren Sie n um 1.
* 
In PTC Mathcad wird Programmvariablen standardmäßig der Wert 0 zugewiesen. Am Anfang des Programms müssen Sie der Variable product den Wert 1 zuweisen. Andernfalls gibt das Programm für alle Argumente 0 zurück.
Weiter mit Aufgabe 3-3