Übungen / Aufgaben zu Ruby

0 Lösungen
Berechnung der Anzahl der SMS Teile
Anfänger - Ruby von pocki - 26.11.2014 um 12:13 Uhr
Schreibe ein Programm, dass eine Textdatei entgegen nimmt und einliest. Dabei soll pro Zeile der Textdatei eine beliebig lange Zeichenfolge eine SMS darstellen.
Zu jeder Zeile soll dann die Anzahl der dafür benötigten SMS ausgegeben werden.
Zu beachten ist, dass das erste SMS 160 Zeichen, das zweite SMS 150 Zeichen und jede weitere SMS 140 Zeichen lang sein kann.

(Die Zeichenkodierung kann vernachlässigt werden. Es wird angenommen, dass die GSM-7-bit Kodierung verwendet wird)
0 Lösungen
IPv6 Adresse überprüfen
Anfänger - Ruby von pocki - 26.11.2014 um 12:03 Uhr
Schreibe eine Funktion, welche eine Zeichenfolge entgegen nimmt und diese auf eine gültige IPv6 Adresse prüft.
Ohne Verwendung der internen vorhandenen Überprüfungsfunktionen!

IPv6 Adressnotation Wikipedia
1 Lösung Lösung öffentlich
Zahlenausgabe in verschiedenen Schreibweisen
Anfänger - Ruby von pocki - 26.11.2014 um 11:53 Uhr
Schreibe ein Programm, welches eine positive Ganzzahl in dezimaler Schreibweise entgegen nimmt.
Gib diese Zahl dann in binärer, oktaler und hexadezimaler Schreibweise, ohne Verwendung der integrierten Formatierungsfunktionen, wieder aus.

Beispiel:

Konsolenausgabe:


Zahl eingeben: 365

binär: 101101101
oktal: 555
hexadezimal: 16D
0 Lösungen
Firmenumsatz in OOP-Weise
Fortgeschrittener - Ruby von bibir - 08.10.2014 um 13:27 Uhr
Die Zentrale einer Supermarktkette möchte die Umsatzzahlen ermitteln.
Hierzu läßt sie sich die Zahlen aus den einzelnen Filialen geben.
Diese haben wiederum unterschiedliche Kassen, die morgens mit einer gewissen Anfangsumme bestückt werden und am Abend eine Endsumme haben.

Erstelle entsprechende Klassen mit sinnvollen Methoden um den Gesamtumsatz zu berechnen.
1 Lösung Lösung öffentlich
Finde die erste Zahl die durch alle Zahlen bis 30teilbar ist
Fortgeschrittener - Ruby von 96fabi - 25.09.2014 um 09:01 Uhr
Gesucht wird die erste Zahl, die durch alle Zahlen bis 30 geteilt werden kann(1-30).
Zum Einstieg kann man erstmal die erste Zahl suchen , die durch alle Werte bis 20 geteilt werden kann.
Dieses ist 232792560
2 Lösungen Lösungen öffentlich
Größter gemeinsamer Teiler
Anfänger - Ruby von hobeditz - 21.09.2014 um 11:51 Uhr
Entwickeln Sie ein Programm, welches den größten gemeinsamen Teiler zweier Zahlen ermittelt. Die Zahlen sollen vom Nutzer selber bestimmt werden.

Zitat:

Tipp:
Der euklidische Algorithmus könnte helfen.

0 Lösungen
Türme von Hanoi - Lösung
Fortgeschrittener - Ruby von bibir - 05.09.2014 um 11:28 Uhr
Programmiere die Lösung der Türme von Hanoi.
Dabei ist es Ausreichend, die zu tätigenden Schritte textuell auszugeben
0 Lösungen
Klammerebenen checken
Anfänger - Ruby von bibir - 03.09.2014 um 09:22 Uhr
Ein übergebener String enthält neben anderen (bedeutungslosen) Zeichen öffnende und schließende Klammern, wobei die Klammern rund(), eckig [] oder geschweift {} sein können.

In einem Programm/Skript ist zu überprüfen, ob Klammern korrekt gesetzt wurden. Dabei gilt:
- jede sich öffnende Klammer wird von einer Klammer gleicher Art wieder geschlossen
- jede sich schließende Klammer wurde von einer Klammer gleicher Art geöffnet
- ein Klammernpaar darf nicht durch andere Klammernpaare überschnitten werden

Beispiele:
(([[]])) => true
([)] => false
([]]) => false
(())) => false
(() => false
({[])} => false
Gar keine Klammern => true
0 Lösungen
Bedingtes Tripel (Mathematisches Problem)
Anfänger - Ruby von bibir - 03.09.2014 um 09:15 Uhr
Ein Tripel besteht aus 3 integer-Werten, die in diesem Fall sollen noch folgende Eigenschaften erfüllt werden:

a < b < c
a² + b² = c²
a + b +c = n (n ist der Übergabeparameter)

Erstelle ein Programm, das eine beliegibe ganze Zahl als Übergabeparameter einliest und die dazugehörigen Tripel ausgibt

Beispiele:
n=30 => (5/12/13)
n=252 => (36/105/111), (56/90/106), (63/84/105)
1 Lösung Lösung öffentlich
ISBN-Nummern überprüfen
Anfänger - Ruby von bibir - 03.09.2014 um 09:10 Uhr
Eine ISBN-Nummer setzt sich immer aus vier Teilen zusammen, der Gruppenzahl, Verlagsnummer, Titelnummer und einer Prüfziffer. Diese vier Teile werden durch Bindestriche (oder seltener Leerzeichen) abgetrennt. Eine ISBN-Nummer ist stets zehnstellig.

Die Prüfziffer erlaubt, die Gültigkeit einer ISBN-Nummer festzustellen. Sie wird so gewählt, dass die ganze Nummer folgende mathematische Eigenschaft erfüllt:
Man multipliziere die erste Stelle mit 10, die zweite Stelle mit 9, die dritte mit 8, und so weiter bis zur neunten Stelle (mal 2), und addiere alle erhaltenen Produkte. Wenn man zu dieser Zahl die Prüfziffer dazuaddiert, so muss ein Vielfaches von 11 entstehen. Als Besonderheit kann die Prüfziffer auch den Buchstaben X annehmen, der dann als Zahlenwert 10 interpretiert wird.

Beispiel:
Die ISBN-Nummer lautet 3-8931-9301-4, also rechnen wir
3 * 10 + 8 * 9 + 9 * 8 + 3 * 7 + 1 * 6 + 9 * 5 + 3 * 4 + 0 * 3 + 1 * 2 + Prüfziffer 4 = 264.
Diese Zahl ist 24 * 11, also ist es eine gültige ISBN-Nummer.
0 Lösungen
Spaltenbreite und Blocksatz
Anfänger - Ruby von bibir - 03.09.2014 um 08:33 Uhr
Ein vorgegebener Text soll eingelesen und in einer bestimmten Spaltenbreite wieder ausgegeben werden.
Die Spaltenbreite N wird als Eingabeparameter vorgegeben. Der Text besteht aus "Wörtern", die durch Leerzeichen (Blank) getrennt sind. Unter einem "Wort" wird hier eine beliebige zusammenhängende Zeichenkette verstanden, wobei jedes Zeichen eine Druckstelle einnimmt.

Der Text soll ausgerichtet werden an den beiden Spaltenrändern, und die zusätzlich einzuführenden Blanks sollen möglichst gleichmäßig auf die Zwischenräume zwischen den Wörtern verteilt werden.

Der Text beginnt in einer Spalte grundsätzlich linksbündig, Wörter, die länger sind als die Spaltenbreite, werden am rechten Rand ohne Trennzeichen zwangsweise getrennt. Silbentrennung darf nicht durchgeführt werden.
0 Lösungen
Austarieren (Mathematisches Problem)
Anfänger - Ruby von bibir - 03.09.2014 um 08:27 Uhr
Der folgenden Aufgabenstellung liegt das Problem des Austarierens zugrunde, wie man es z. B. bei einer Balkenwaage mit einer vorgegebenen Anzahl von Gewichten vorfindet.
Jede natürliche Zahl n lässt sich als Summe von Potenzen zur Basis 3 eindeutig darstellen.

Die Eindeutigkeit dieser Darstellung soll als gesichert vorausgesetzt werden.

Es ist ein Programm/Skript zu schreiben, das zu einer einzulesenden Zahl n <= 2000 den Wert m und die
Koeffizienten berechnet. Die Ausgabe soll wie im Beispiel angegeben erfolgen.

Hinweis: Das m ist gleich dem größten j, für das gilt: 3j < 2n.

Beispiel:
Für n = 46 erhält man m = 4.
Die Ausgabe sieht dann folgendermaßen aus:
n = 46
m = 4
46 =
+3**4
-3**3
-3**2
+3**0