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

Informatiker Board » Themengebiete » Praktische Informatik » Ruby-Hilfe für Anfänger » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 2 Beiträge
eulerscheZahl RE: Ruby-Hilfe für Anfänger

Die erste Aufgabe kannst du ja fast schon vom Code weiter unten abschreiben.
code:
1:
2:
3:
4:
5:
def count_positive(list)
  n = 0
  list.each { |x| n = n + (if x > 0 then 1 else 0 end) }
  n
end

if x > 0 ist der Teil, der prüft, ob eine Zahl positiv ist. Ersetzen wir den doch einfach durch if x % 2 == 0, um zu prüfen, ob die Zahl gerade ist.
LadyClueless Ruby-Hilfe für Anfänger

Meine Frage:
Hallo ihr Lieben, ich brauche ganz dringend Hilfe! Ich lerne gerade die Programmiersprache Ruby, habe aber noch nicht viel Erfahrung sammeln können. Ganz einfache Fragen kann ich mittlerweile lösen, aber an folgenden Aufgabenstellungen beiße ich mir die Zähne aus:

Aufgabe 1
Entwickeln Sie Ruby-Funktionsdefinitionen, die die folgenden Aufgaben lösen.

1.Gegeben ist eine Liste von ganzen Zahlen. Gesucht ist die Anzahl der Vorkommen von geraden Zahlen.

2.Gegeben ist eine Liste von Listen mit jeweils zwei Elementen, von denen das erste eine Gleitkommazahl ist. Gesucht ist die Summe der jeweils ersten Listenelemente. Geben Sie zwei Definitionen an: eine mit map, eine ohne.

3.Gegeben ist eine Liste von Zeichenketten. Gesucht ist eine der längsten Zeichenketten in dieser Liste. (Die Länge einer Zeichenkette kann mit length ermittelt werden, z.B. wird "abc".length zu 3 ausgewertet.)

4.Was macht Ihre Funktion aus der vorherigen Aufgabe, wenn sie für ["a", "abc", "def", ""] ausgewertet wird? Gibt sie "abc" oder "def" aus? Beschreiben Sie das Ergebnis Ihrer Funktion im Allgemeinen. Entwickeln Sie eine Variante Ihrer Funktion, die den anderen Wert bestimmen würde.

Aufgabe 2

1.Kommentieren Sie die folgende Funktionsdefinition und markieren Sie die Stelle, an der das Ergebnis erzeugt wird:
# ...
def count_positive(list)
n = 0
list.each { |x| n = n + (if x > 0 then 1 else 0 end) }
n
end


2.Kommentieren Sie die folgende Funktionsdefinition und vergeben Sie einen geeigneten Namen:
#
def ... (list)
sum = 0
list.map {|x| if x > 0 then x else -x end}
end


3.Die folgende Funktionsdefinition ist fehlerhaft - korrigieren Sie sie. Damit Sie wissen, was gemeint ist: reciprocal_sum([2,4,8]) ? 0.875.
def reciprocal sum(list)
sum = 0
list.map (|x| 1/x).each (|x| sum = sum + x)
end



Meine Ideen:
Ich benutze 'Ruby 2.1.9-p490-x64' und habe alles Mögliche probiert, bin mir aber bei vielem entweder nicht sicher oder bekomme Fehlermeldungen beim Bestätigen meiner Funktionen. In den Unterlagen, welche mir zur Verfügung stehen, kann ich keine sinnvolle Hilfe finden, eben sowenig im Internet. Ich komme nicht mehr weiter und bin langsam am verzweifeln. Ist jemand so lieb und kann mir die Fragen beantworten und erklären, wie es geht? Jeder Tipp und jede Hilfe sind herzlich willkommen! Vielen, vielen Dank!!