Bitte um Hilfe bei Aufgabe zu Pseudocode

Ich muss unbedingt diese Aufgabe lösen, habe leider nicht mal einen Ansatz. :frowning:

Beschreiben Sie mittels Pseudocode möglichst genau, nach welcher Vorgehensweise Sie die Bücher in einem Buchregal aufsteigend nach dem Namen des Autors sortieren würden! Nehmen Sie an, dass als elementarer Algorithmus die Fähigkeit vorhanden ist, beim Vergleich zweier Bücher zu entscheiden, wie diese zueinander stehen müssen (d.h. welches von diesen links und welches rechts stehen muss).

Verwenden Sie den Editor jedit und speichern Sie die Datei unter dem Namen regalsortieren.txt! Laden Sie diese Datei im folgenden Dialog hoch!

Hi, also mit der formulierung von pseudocode habe ichs nicht so … aber da in der aufgabe steht das eine Methode vorhanden ist die entscheidet welches buch nach links und welches nach rechts kommt versuche ich das mal zu erklären. Folgendes ich bin mir nicht sicher ob das Bücherregal nur eine Reihe hat oder mehrere. Das spielt eine Rolle, da das Regal wahrscheinlich ein Array respräsentieren sollen. Ein Array ist eine Liste aus vielen teilen 1 Dimensional [1,2,3,4,5,6,7] oder mehrdimendional: 1. Reihe [1,2,3,4,5,6] reihe darunter [7,8,9,10,11,12] aber die sortierung ist in beiden fällen mehr oder weniger gleich. Also jetzt kommen wir mal zum eigentlichen Problem. Wie wir bereits festgestellt haben haben wir eine liste mit büchern die wir sortieren wollen, daher brauchen wir schonmal mindestens eine Schleife um diese liste durchlaufen zu können. Bei jeder stelle schauen wir ob das buch an der Anktuellen position i größer (also vom buchstaben ) oder kleiner ist, im falle das es größer ist tauschen wir die aktuelle position mit der nächsten und so weiter. Da wir im schlimmsten fall aber davon ausgehen das am beginn des regals ein buch mit z.B. Z beginnt das an das ende muss reicht eine schleife nicht aus. Aus dem grund benötigen wir noch eine Schleife. Das verfahren nennt sich Bubblesort wenn ich mich nicht täusche. Also noch mal alle zusammengefasst:
wir haben n bücher
1.Schleife die n mal durchläuft{
2. Schleife die n-1 mal durchläuft{
endscheidung ob aktuelle stelle größer als nächste ist:
Wenn JA dann aktuelle stelle mit nächster stelle tauschen
Wenn NEIN dann nichts tun
}
}

Ich hoffe das hilft dir falls du noch fragen haben solltest schreib einfach.

Und sorry wegen der Form musste das auf einer sehr kleinen Tastatur schreiben.

Mfg

Also das ist ja echt super wie schnell du hier geantwortet hast. Also die erste Schleife dachte ich mir auch so, und vorher hab ich noch gedacht: „Nehme ungeordnete Bücher aus Regal
Stelle beliebiges Buch in das Regal“.
Ich weiß halt aber nicht, wie ich die Schleifen nennen soll und wie das dann genau auszuehen hat?? weißt wie ich es meine? wie dann ich das richtig mit Worten ausdrücke und in ne Form bringe, also net so allgemeint.

Also das ist ja echt super wie schnell du hier geantwortet
hast. Also die erste Schleife dachte ich mir auch so, und
vorher hab ich noch gedacht: „Nehme ungeordnete Bücher aus
Regal
Stelle beliebiges Buch in das Regal“.
Ich weiß halt aber nicht, wie ich die Schleifen nennen soll
und wie das dann genau auszuehen hat?? weißt wie ich es meine?
wie dann ich das richtig mit Worten ausdrücke und in ne Form
bringe, also net so allgemeint

Die Methode die in der Aufgabe erklärt wird also die die überprüft ob das buch nach links oder rechts kommt nennen wir mal „prüfe“ dier übergeben wir die beiden namen und wenn der Zweite größer ist als der erste dann gibt diese ein true zurück;
//in Java/C# code würde es so aussehen:
String[] Bücher = new String[länge];
for(int i = 0; i

Auch dank an dich.

Aber das mit dem „übersetzen“ ist ja mit das größte Problem, hab sowas noch nie gemacht und hab k.a. was das sein soll bzw. wie das funktioniert. -.-

Auch dank an dich.

Aber das mit dem „übersetzen“ ist ja mit das größte Problem,
hab sowas noch nie gemacht und hab k.a. was das sein soll bzw.
wie das funktioniert. -.-

Hmm, also habt ihr zur bearbeitung keine Beispiele oder ähnliches bekommen ?

Auch dank an dich.

Aber das mit dem „übersetzen“ ist ja mit das größte Problem,
hab sowas noch nie gemacht und hab k.a. was das sein soll bzw.
wie das funktioniert. -.-

Ich frage nur damit ich weiss um weiss es genau geht …

Also unser Beispiel sah dann so aus:

Rezept: Spaghetti

Zutaten: Kochtopf, Wasser, Spaghetti, Salz, Herd, Sieb

Fülle Wasser in Kochtopf
Stelle Kochtopf auf Herd
Streue Salz in Kochtopf
solange Wasser nicht kocht tue
warte
ende-solange
Fülle Spaghetti in Kochtopf
Merke Zeit
solange jetzige Zeit

sorry, keine Ahnung :smile:

buchnummer ist 0
solange regal nicht sortiert tue
solange buchnummer

Hallo Alex,

für das Sortieren von Elementen (hier Strings) gibt es verschiedene Sortieralgorithmen.

Beispiele sind Bubblesort oder Insertsort. Insertsort ist für soetwas wohl erstmal am Einfachsten, wenn man ein leere Buchregal vor sich hat.
Darüber findest du im Internet eine Menge mit entsprechenden Beschreibungen, Codefragmenten (auch Pseudocode) und animierten Applets, die das gut erklären.

Diesen würde ich dann als Pseudocode hernehmen und abgeben.

Ich hoffe, ich konnte dir weiterhelfen.

Grüße
Scampijoe

Also das erscheint mir am meisten Ähnlichkeit zu haben, mit dem, wie wir es machen sollten. Nur ich glaube nicht, dass bei uns davon ausgegangen wird, dass unsere Bücher nummern haben sondern halt normal nach Alphabet geordnet werden sollte. Wie müsste es denn dann aussehen??

Danke für die viele Hilfe…

Also das sieht ja schwer nach einem Wettbewerb oder ähnlichem aus. Fraglich, ob man da helfen darf aber ich üwrde empfehlen, mal nach „Bubblesort“ zu suchen, das dürfte der gesuchte Algorithmus sein.