Aenderungen durch
Gewichtung 4, 3, 2, 7

Gewichtungsfaktoren fuer H, aM, sM, S
(Hochschullehrer/-innen, akademische bzw.
sonstige Mitarbeiter/-innen, Studierende):

(%i1) gH: 4$ gaM: 3$ gsM: 2$ gS: 7$

Stimmenanteile in %:

(%i5) fpprintprec: 7$
float(100*[gH*6,gaM*2,gsM*1,gS*2]/(gH*6+gaM*2+gsM*1+gS*2));

Result

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

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

(%i8) 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:

(%i9) (printf(true, "Ja- minus Neinstimmen
  ~&-----------------------
  ~& H aM sM~9t S~12t insgesamt
  ~&~16t gewichtet "),
aenderungen: 0,
for H: 6 thru -6 step -1 do
for aM: 2 thru -2 step -1 do
for sM: 1 thru -1 step -1 do
for S: 2 thru -2 step -1 do
(gesamt: H+aM+sM+S, gesamt_gewichtet: gH*H+gaM*aM+gsM*sM+gS*S,
if is(gesamt>0)#is(gesamt_gewichtet>0) then
  (aenderungen: aenderungen+1,
  printf(true,"~&~a ~a ~a ~a ~14t~a ~a",
    vz(H),vz(aM),vz(sM),vz(S),
    vznull(gesamt),vznull(gesamt_gewichtet)))))$
aenderungen;

Result


Created with wxMaxima.