Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Aufgabe 1 (20 Punkte)
- Die Aufgabe baut auf der vierten Aufgabe der zweiten Übung auf: Schreiben Sie ein Programm
- zur Lösung der folgenden modifizierten Fassung der Schnitzeljagd.
- • Es gibt wie bei vergangenen Aufgaben als Eingaben zunächst eine Größenangabe anzahl
- für das Feld, gefolgt von den Einträgen für das Feld selbst.
- • Es gibt aber nun noch als Eingabe eine weitere Zahl, die die Startpostion für die Bewegung
- im Feld darstellt (an Stelle des festen Wertes 0).
- • Testen Sie wieder (bis zu) 15 Werte inklusive der Startposition (d.h. bis zu 14 Mal die
- Setzung index=feld[index]).
- • Wenn dabei in feld[index] ein Wert gefunden wird, der nicht wieder als Index für
- das gegebene Feld zu gebrauchen ist (weil er mindestens so groß wie anzahl ist oder
- aber < 0, also negativ ist), soll die Schnitzeljagd sofort enden, auch wenn noch keine 14
- Schritte gemacht wurden. Der dabei gefundene Wert ist dann der bei der Schnitzeljagd
- gefundene “Schatz” (falls ≥anzahl) oder eine “Niete” (falls < 0).
- • Ausgabe sollen wieder die bis zu 15 bei der Schatzsuche besuchten Positionen und zudem
- der Wert des Schatzes oder der Niete sein bzw. eine zusätzliche 0, wenn auf den 15
- Positionen kein Ende gefunden wurde und daher die Suche abgebrochen wurde.
- • Zusätzlich zu den Zahlwerten können Sie noch textuelle Ausgaben wie “Schatz”,
- “Niete” oder “Abbruch” ausgeben, es werden aber nur die Zahlwerte evaluiert.
- 1
- Beispiele sind:
- 1. Eingabe: 9 0 2 1 4 5 7 -10 10 6 3 (Feldgröße ist 9, Startposition ist 3,
- Schatz 10 an Position 7, Niete -10 an Position 6)
- Ausgabe: 3 4 5 7 Schatz 10
- 2. Eingabe: 9 0 2 1 4 5 7 -10 10 6 1 (wie oben, aber mit Start bei 1)
- Ausgabe: 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 Abbruch 0
- 3. Eingabe: 9 0 2 1 4 5 7 -10 10 6 7 (wie oben, aber mit Start bei 7)
- Ausgabe: 7 Schatz 10
- 4. Eingabe: 9 0 2 1 4 5 7 -10 10 6 8 (wie oben, aber mit Start bei 8)
- Ausgabe: 8 6 Niete -10
- 5. Eingabe: 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 99 0 (Schatz 99
- auf Position 15, aber Start bei Position 0)
- Ausgabe: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Abbruch 0
- 6. Eingabe: 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 99 1 (Feld wie
- zuvor, aber Start bei 1)
- Ausgabe: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Schatz 99
- Bei Programmieren werden Sie wieder eine Schleife brauchen. Hier gibt es aber nun mehrere
- Gründe, weshalb die Schleife verlassen wird (Schatz, Niete Abbruch). Daher ist es sinnvoll,
- eine Schleife mit einer booleschen Variable als Bedingung zu verwenden.
- Die passende Grundstruktur finden Sie im Testprogramm (das aber wegen vieler Lücken
- “...” nicht ohne Änderungen kompiliert werden kann)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement