Aenderungen durch
Gewichtung 23, 13, 38

Gewichtungsfaktoren fuer H, M, S
(Hochschullehrer/-innen, Mitarbeiter/-innen, Studierende):

(%i1) gH: 23$ gM: 13$ gS: 38$

Stimmenanteile in %:

(%i4) fpprintprec: 7$
float(100*[gH*6,gM*3,gS*2]/(gH*6+gM*3+gS*2));

Result

Nur fuer die Formatierung der unteren Tabelle
(Ausgabe geeigneter Vorzeichen):

(%i6) vz(t) := concat(if t>0 then "+" else
  if t=0 then " " else "", string(t))$

(%i7) vznull(t) := concat(if t>0 then "+" else
  if t=0 then "-" else "", string(t))$

Alle Faelle (und deren Anzahl) werden bestimmt, bei
denen die Gewichtung das Abstimmungsergebnis aendert:

(%i8) (printf(true, "Ja- minus Neinstimmen
  ~&----------------------
  ~& H~3t M~6t S~9t insgesamt
  ~&~13t gewichtet"),
aenderungen: 0,
for H: 6 thru -6 step -1 do
for M: 3 thru -3 step -1 do
for S: 2 thru -2 step -1 do
(gesamt: H+M+S, gesamt_gewichtet: gH*H+gM*M+gS*S,
if is(gesamt>0)#is(gesamt_gewichtet>0) then
  (aenderungen: aenderungen+1,
  printf(true,"~&~a ~a ~a ~11t~a ~a",
    vz(H),vz(M),vz(S),
    vznull(gesamt),vznull(gesamt_gewichtet)))))$
aenderungen;

Result


Created with wxMaxima.