Notenberechnung: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
(Struktur, Bachelor hinzugefügt)
Zeile 74: Zeile 74:
  );
  );
   
   
  print "$endnote\n";
  print "$endnote (".('ausgezeichnet','sehr gut','gut','befriedigend','ausreichend')[int((int((int($endnote * 10) - 6) / 5) * 3 + 4) / 5)].")\n";
</code>
</code>



Version vom 11. September 2009, 21:10 Uhr

Diplom

Beschreibung

Für Diplomer berechnet sich die Endnote wie folgt:

Es gibt insgesamt 5 Prüfungen, die zu gleichen Teilen in die Endnote einfließen:

  • Grundlagen von Informatik-Systemen
  • Theoretische Informatik
  • Schwerpunkt
  • Ergänzungsfach
  • Diplomarbeit

Um die Note in einer dieser Prüfungen zu ermitteln, wird aus den ungerundeten Noten der jeweiligen Teilprüfungen das arithmetische Mittel gebildet und nach der ersten Nachkommastelle abgeschnitten (abgerundet). Dasselbe Verfahren kommt für die Berechnung der Endnote zur Anwendung.

Beispiel

  • Grundlagen von Informatiksystemen
    • Technische Informatik - DKR - 2.3
    • Angewandte Informatik - CGB - 2.0
    • Praktische Informatik - SNN - 3.7
    • Mittelwert ist 8.0/3 = 2.6666666 = 2.6
  • Theoretische Informatik
    • LOS - 1.7
    • AUK - 2.3
    • PNL - 1.7
    • Mittelwert ist 5.7/3 = 1.90000 = 1.9
  • Schwerpunkt
    • Prüfung - 2.3
    • Mittelwert ist 2.3/1 = 2.30000 = 2.3
  • Ergänzungsfach
    • 1. Prüfung = 4.0
    • 2. Prüfung = 2.3
    • Mittelwert ist 6.3/2 = 3.15000 = 3.1
  • Diplomarbeit
    • Erstgutachter - 1.7
    • Zweitgutachter - 2.0
    • Mittelwert ist 3.7/2 = 1.85000 = 1.8
  • Endnote (2.6 + 1.9 + 2.3 + 3.1 + 1.8) / 5 = 11.7/5 = 2.34000 = 2.3

Textform

Am Ende wird diese numerische Endnote noch in Textform übersetzt:

  • 1.0 bis 1.0 - ausgezeichnet
  • 1.1 bis 1.5 - sehr gut
  • 1.6 bis 2.5 - gut
  • 2.6 bis 3.5 - befriedigend
  • 3.6 bis 4.0 - ausreichend


Implementierung

#!/usr/bin/perl

sub mittel {
  my $note = 0;
  my $n = 0;
  foreach my $teilnote (@_) {
    $note += $teilnote;
    $n += 1;
  }
  $note = int($note * 10 / $n) / 10;
  return $note;
}

my $endnote = mittel(
  mittel(2.3, 2.0, 3.7),
  mittel(1.7, 2.3, 1.7),
  mittel(2.3),
  mittel(4.0, 2.3),
  mittel(1.7, 2.0)
);

print "$endnote (".('ausgezeichnet','sehr gut','gut','befriedigend','ausreichend')[int((int((int($endnote * 10) - 6) / 5) * 3 + 4) / 5)].")\n";

Bachelor

Beschreibung

FIXME!

Beispiel

FIXME!

Implementierung