FANDOM


local p = {}
-- Testfaelle:
-- http://de.ghibli.wikia.com/wiki/Testfälle:Bewertung
 
-- Die Funktion Bewerten rechnet den Durchschnitt aller Bewertungen aus.
-- Die Funktion konsumiert 8 Variablen und ruft die Funktion Runden auf.
 
-- Hierzu sind die ungeraden Arrayvariablen (frame.args[1], frame.args[3], ...) 
-- die Bewertung. Die geraden Arrayvariablen sind die Anzahl der Stimmen.
-- Es ist auch wichtig in welcher Reihen die Variablen stehen. Denn sie werden
-- als Paare interpretiert. Also sind frame.args[2] die Stimmen fuer die
-- Bewertung frame.args[1]
-- Zeile 13
function p.Bewerten(frame)
   local gesamtstimmen = 
      frame.args[2] 
      + frame.args[4] 
      + frame.args[6] 
      + frame.args[8]
-- Zeile 20
   local durchschnittsbewertung = 
      ( (frame.args[1] * frame.args[2]) 
         + (frame.args[3] * frame.args[4]) 
         + (frame.args[5] * frame.args[6])
         + (frame.args[7] * frame.args[8]) ) / gesamtstimmen
   local bewertung = p.Runden(durchschnittsbewertung)      
 
   return bewertung
end
 
 
 
-- Prueft, ob die Zahl gueltig ist. Es sind Nullen oder negative Zahlen nicht
-- zugelassen. Ist eine Zahl ungueltig wird Keine gueltige Angabe ausgegeben.
-- Zeile 35
function p.Pruefen(frame)
   local gueltig = 'true'
   for i = 1, 8 do
      if not ((frame.args[i] + 0) > 0) then
         gueltig = 'false'
      end
   end
 
   return gueltig
end
 
 
 
-- Die Funktion rundet die Zahl (Variable zahl) auf oder ab.
-- Sie konsumiert einen Wert.
-- Regel fuer Runden: Ist die Nachkommastelle kleiner als 0,5, 
-- wird die Zahl abgerundet. Ansonsten wird die Zahl aufgerundet.
-- Zeile 53
function p.Runden(zahl)
   -- Um die Nachkommastelle zu pruefen, wird der Rest verwendet.
   -- Den Rest erhaelt man durch mod 1 (% 1)
   -- Die Variablen rest und gerundete_Zahl werden fuer den mehrmaligen Gebrauch
   -- deklariert. Dies spart Rechnenschritte.
   -- Die Variable gerundete_zahl ist die abgerundete Zahl des Wertes zahl
   local rest = zahl % 1
   local gerundete_zahl = zahl - rest
 
   -- Hier wird die Nachkommastelle geprueft:
   -- Ist der Rest groesser oder gleich 0,5, wird aufgerundet.
   -- Da die Variable gerundete_zahl abgerundet ist, wird sie um eins aufaddiert.
   -- Falls der rest kleiner als 0,5 ist, wird einfach die abgerundete Zahl
   -- ohne Veraenderung zurueckgegeben (gerundete_zahl).
   if rest >= 0.5 then
      gerundete_zahl = gerundete_zahl + 1
   end
 
   return gerundete_zahl
end
 
 
 
-- Die Funktion nutzt alle Funktionen.
-- Sie gibt das Ergebnis der Bewertung und die Referenz aus.
-- Prueft vorher, ob die Angaben gueltig sind.
-- Zeile 80
function p.Ref(frame)
   if p.Pruefen(frame) == 'true' then
      local bewertung = p.Bewerten(frame)
      local ref = '<ref>[ http://www.animenewsnetwork.com/ ANN]: ' 
                  .. frame.args[1] .. '/10 mit ' .. frame.args[2]  
                  .. ' Stimmen - [ http://www.imdb.com/ imdb]: '
                  .. frame.args[3] .. '/10 mit ' .. frame.args[4] 
                  .. ' Stimmen - [ http://myanimelist.net/ MAL]: ' 
                  .. frame.args[5] .. '/10 mit ' .. frame.args[6] 
                  .. 'Stimmen - [ http://www.rottentomatoes.com/ RT]: ' 
                  .. frame.args[7] .. '/10 mit ' .. frame.args[8] .. ' Stimmen.</ref>'
      return bewertung .. ref
   else
      return 'Keine gültige Angabe(n)'
   end
end
 
 
 
return p

Störung durch Adblocker erkannt!


Wikia ist eine gebührenfreie Seite, die sich durch Werbung finanziert. Benutzer, die Adblocker einsetzen, haben eine modifizierte Ansicht der Seite.

Wikia ist nicht verfügbar, wenn du weitere Modifikationen in dem Adblocker-Programm gemacht hast. Wenn du sie entfernst, dann wird die Seite ohne Probleme geladen.

Auch bei FANDOM

Zufälliges Wiki