Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Lösung Ruby-Aufgabe » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Lösung Ruby-Aufgabe
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Kampfschmuserin
Grünschnabel


Dabei seit: 30.11.2015
Beiträge: 1

Lösung Ruby-Aufgabe Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Palindrome sind Zeichenketten, die von vorne wie von hinten gelesen identisch sind. Zum Beispiel ist "rentner" ein Palindrom, während "frank" kein Palindrom ist (rückwärts: "knarf"). Ein einzelner Buchstabe und die leere Zeichenkette zählen ebenfalls als Palindrome. In dieser Aufgabe sollen verschiedene Funktionen zu Palindromen in einem Ruby-Programm palindrom.rb programmiert werden.

Achtung: Programmieren Sie in dieser Aufgabe so, dass in den Funktionen selbst keine Bildschirmausgaben mit puts und keine Benutzereingaben mit gets erfolgen! Solche Ein- und Ausgaben sollen nur im Hauptprogramm erfolgen!

(a) Definieren Sie in palindrom.rb eine Ruby-Funktion teste_palindrom(w). Diese Funktion soll einen booleschen Wert zurückgeben, der angibt, ob die Zeichenkette w ein Palindrom ist. Der Funktionsaufruf teste_palindrom("rentner") soll also beispielsweise zu true ausgewertet werden, der Aufruf teste_palindrom("frank") dagegen zu false.

(b) Definieren Sie in palindrom.rb eine weitere Ruby-Funktion erzeuge_palindrom(w), die aus einer Zeichenkette w ein Palindrom erzeugt und dieses zurückgibt. Dazu soll w in umgekehrter Reihenfolge an sich selbst angefügt werden. Sie können dazu die String-Methode reverse verwenden, die eine Zeichenkette umdreht. Der Funktionsaufruf erzeuge_palindrom("frank") soll also beispielsweise die Zeichenkette "frankknarf" zurückgeben.

(c) Schreiben Sie nun das Hauptprogramm in palindrom.rb. Es soll eine Zeichenkette (in Kleinbuchstaben) vom Benutzer einlesen und mit der Funktion teste_palindrom überprüfen, ob die Zeichenkette ein Palindrom ist. Das Ergebnis soll als Satz in der folgenden Form auf dem Bildschirm ausgegeben werden:

?rentner ist ein Palindrom. wenn ein Palindrom, hier zum Beispiel rentner, eingegeben wurden


?frank ist kein Palindrom! wenn kein Palindrom, hier zum Beispiel frank, eingegeben wurde


Im Fall, dass kein Palindrom eingeben wurde, soll zusätzlich mit der Funktion erzeuge_palindrom ein Palindrom aus der Eingabe erzeugt werden und auf dem Bildschirm ausgegeben werden. Für die Eingabe frank soll man also beispielsweise die folgende zusätzliche Ausgabe erhalten:
?Aber frankknarf ist ein Palindrom.

(d) Warum würde Ihre Funktion teste_palindrom die eingegebene Zeichenkette nicht mehr als Palindrom erkennen, wenn Sie nach der Eingabe den Methodenaufruf chop() weglassen? Erläutern Sie!


Meine Ideen:
Ich brauche dringend die vollständige Lösung(!!!) für diese Aufgabe, ich komme allein nicht mehr weiter und habe jetzt auch keine zeit mehr zur Verfügung. konnte weder im Internet noch in Büchern brauchbare Lösungsansätze finden. Vielen, vielen Dank!!!
30.11.2015 08:19 Kampfschmuserin ist offline E-Mail an Kampfschmuserin senden Beiträge von Kampfschmuserin suchen Nehmen Sie Kampfschmuserin in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Lösung Ruby-Aufgabe