• Keine Ergebnisse gefunden

¨Ubungsblatt 8 Abgabe: 5.1.2009

N/A
N/A
Protected

Academic year: 2021

Aktie "¨Ubungsblatt 8 Abgabe: 5.1.2009"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Praktische Informatik I WS 2008/09

Ubungsblatt 8 ¨

Abgabe: 5.1.2009

Aufgabe 1 Beweise, wir brauchen Beweise... (50%)

Aufgabe 1.1 ggT reloaded

Die folgende JAVA Methode soll den gr¨ ossten gemeinsamen Teiler (ggT) zweier positiver ganzer Zahlen ermittelt.

public static int ggt(int wert1, int wert2) {

while (wert1 != wert2) {

if (wert1 > wert2) wert1 = wert1 -wert2;

else

wert2 = wert2 - wert1;

}

return wert1;

}

Zeigt mit Hilfe der Regeln der operationellen Semantik, dass diese Methode ihren Zweck erf¨ ullt. Die bekannten Axiome:

1. ggT (x, x) = x.

2. ggT (x, y) = ggT (y, x).

3. ggT (x, y) = ggT (x, y − x) f¨ ur x < y.

k¨ onnten dabei helfen...

Aufgabe 1.2 Ein paar Punkte vom Weihnachtsjan (+20%) Zeigt, dass die Methode terminiert, falls wert1 und wert2 positive ganze Zahlen sind!

Aufgabe 2 Weihnachtliche M¨ archenstunde: Die Bremer

Stadtmusikanten (50%)

Unsere vier bekanntesten Bremer (nein, nicht Thomas Schaaf, James Last, Thorsten Frings und Willi Lemke) stehen vor dem Problem, einen Bach ¨ uberqueren zu m¨ ussen:

Es gibt auf beiden Seiten einen kleinen Steg und in der Mitte einen Stein, leider kann

(2)

PI 1, WS 2008/09

jeweils nur ein Musikant auf jeder Stelle stehen - und unsere vier Freunde m¨ ogen sich auch nicht soweit voneinander entfernen. Wer bei den Gebr¨ udern Grimm

1

nachliest, erf¨ ahrt, wie wichtig Zusammenhalt f¨ ur unser Quartett ist.

Ein Teil des Problems – der fehlende Platz auf den Stegen und dem Stein – l¨ asst sich einfach l¨ osen: Jeder der schon mal am Bremer Rathaus war, weiss, das man die Bremer Stadtmusikanten stapeln kann. Damit sie jetzt aber ¨ uber den Bach kommen k¨ onnen, sind einige Aktionen n¨ otig, schliesslich kann ja jedes Tier nur ein kleineres huckepack nehmen.

Also stehen Esel, Hund, Katze und Hahn (¨ ubereinander) auf Steg A. Der Hahn springt auf den Stein B, dann springt die Katze auf den anderen Steg C. Nun h¨ upft der Hahn ebenfalls r¨ uber nach C, landet also auf dem R¨ ucken der Katze, und macht so Platz f¨ ur den Hund auf dem Stein B. Danach flattert der Hahn zur¨ uck nach A auf den Esel, und die Katze begibt sich auf den Hund auf dem Stein. Nachdem der Hahn jetzt auf die Katze springt, kann der Esel den Bach ¨ uberqueren und springt von Steg A zum Steg C.

Nun m¨ ussen nur noch Hund, Katze und Hahn vom Stein in der richtigen Reihenfolge auf den R¨ ucken des Esels kommen: Also geht der Hahn auf den Esel, die Katze auf den leeren Steg A, dann der Hahn auf den R¨ ucken der Katze und der Hund auf den R¨ ucken des Esels. Nun springt der Hahn auf den Stein B, die Katze auf den Hund (der auf dem Esel auf Steg C ist), und zum Schluss springt der Hahn auf den R¨ ucken der Katze – geschafft!

Dieses Problem, wie ein Stapel Musikanten von A nach C kommt, und dabei nur einen Hilfsplatz B hat, sollt Ihr nun mit einem Java-Programm l¨ osen, allerdings nicht nur f¨ ur die vier Stadtmusikanten, sondern f¨ ur eine beliebige Zahl n an Musikanten (Falls Stadt und Land Bremen jemals zu Geld kommen sollten, gen¨ ugt wohl ein Quartett nicht mehr den k¨ unstlerischen Anspr¨ uchen, dann muss es ein richtiges Stadtmusikantenorchester sein...).

Wenn Ihr Euch den Ablauf oben genau anschaut, erkennt Ihr eine rekursive Vor- schrift, welche Aktionen systematisch abzulaufen haben.

Benutzt bei Eurer Implementierung f¨ ur A, B und C 3 int-Arrays. Die Gr¨ osse der Musikanten (sie sind alle unterschiedlich gross) wird als eine int-Zahl angegeben.

Der gr¨ osste Musikant wird auf den Wert k=L¨ ange des Arrays abgebildet, der n¨ achst- kleinere Musikant auf den Wert k-1 abgebildet,usw.

Die Spitze eines Musikantenstapels befindet sich jeweils an der Arrayposition 0, auf dem Anfangsturm muß also dort der kleinste Musikant, abgebildet auf die Zahl 1, liegen. Alle Positionen der anderen zwei Stapel sollen mit dem Wert 0 initialisiert werden, der bedeutet, daß sich dort kein Musikant befindet.

1

Grimm, Br¨ uder. Kinder- und Hausm¨ archen. Vollst¨ andige Ausgabe. Mit 184 Illustrationen zeit- gen¨ ossischer K¨ unstler und einem Nachwort von Heinz R¨ olleke. S. 180-189. D¨ usseldorf und Z¨ urich, 19. Auflage 1999.

2

Referenzen

ÄHNLICHE DOKUMENTE

Hat sich bereits Zahnstein gebildet, ist eine professionelle Zahnbehandlung und gründliche Untersuchung der Mund- höhle beim Tierarzt nötig, denn nur bei einem plaque- und

das tägliche Futter gemischt werden – es ist für Jung, Adult und Senior gleichermaßen ge- eignet. Da es sich um eine Heil- pflanze mit immunstärkenden Eigenschaften handelt, sollte

beim Hund sind auch Pyrethroide möglich.. Flöhe: Schad-

Der Esel und der Hund legten sich unter einen großen Baum, die Katze und der Hahn machten sich hinauf, der Hahn aber flog bis in die Spitze, wo es am sichersten für ihn war. Ehe

Da hatten sie eine Idee: Der Esel stellte sich mit seinen Vorderfüßen auf das Fenster, der Hund sprang auf des Esels Rücken, die Katze kletterte auf den Hund und der Hahn flog

▪ Eine detaillierte Einweisung in Haltung, Ernährung und Pflege sollte bereits einige Wochen vor Reisebeginn erfolgen, wobei einige Testläufe (Wochenende) von Vorteil sind, in

Da Pferdeallergene zu den ag- gressivsten inhalativen Allerge- nen gehören und im schwersten Fall auch lebensbedrohliche As- thmaanfälle auslösen können, wird nachdrücklich vor

Die Infektion mit Wurmeiern erfolgt durch mangelnde Hygiene nach Arbeiten im Freien, Streicheln von Tieren, in deren Fell Wurmeier kleben oder beim Spielen in konta- minierten