nn

nn

nn

SSW

Die Linke

AfD

FDP

Die Grünen

SPD

CDU

Partei ohne Prozenteinschränkung

Stimmen

Partei

gültige Stimmen

Partei mit mehr Direktmandaten?

Anzahl Direktmandate

Landeswahlgesetz SH

Wahljahr

liParteien: {A1, A2, A3, A4, A5, A6, A7, A8, A9, A10}
anzahlParteien = 7 (slider from 1 to 10, step 1)
B1: 601964
B2: 221496
B3: 254158
B4: 88593
B5: 61141
B6: 23054
B7: 79301
B8 = 0
B9 = 0
B10 = 0
gesamtStimmen = 1387398
C1: B1 / gesamtStimmen
C2: B2 / gesamtStimmen
C3: B3 / gesamtStimmen
C4: B4 / gesamtStimmen
C5: B5 / gesamtStimmen
C6: B6 / gesamtStimmen
C7: B7 / gesamtStimmen
C8: B8 / gesamtStimmen
C9: B9 / gesamtStimmen
C10: B10 / gesamtStimmen
liParteiprozente: {C1, C2, C3, C4, C5, C6, C7, C8, C9, C10}
p = 5 (slider from 1 to 5, step 1)
ohneProzent = true
nummerParteiohneProzent = If(ohneProzent ≟ true, SelectedIndex[liParteien])
liParteienunterpProzent = Remove(RemoveUndefined[Sequence[If[Element[liParteiprozente, n] < p / 100, n], n, 1, anzahlParteien]], {nummerParteiohneProzent})
liParteiennummern = Sequence(1, anzahlParteien)
anzahlSitze = 69 (slider from 50 to 250, step 1)
liParteistimmen: {B1, B2, B3, B4, B5, B6, B7, B8, B9, B10}
liParteienimParlamentNummern = RemoveUndefined(Unique[Append[Remove[liParteiennummern, liParteienunterpProzent], nummerParteiohneProzent]])
liParteistimmenimParlament = Sequence(Element[liParteistimmen, Element[liParteienimParlamentNummern, n]], n, 1, Length[liParteienimParlamentNummern])
stimmenParteienimParlament = Sum(liParteistimmenimParlament)
zuteilungsdivisor: floor((stimmenParteienimParlament / anzahlSitze * 10000)) / 10000
liParteienimParlament = Sequence(Element[liParteien, Element[liParteienimParlamentNummern, n]], n, 1, Length[liParteienimParlamentNummern])
anzahlParteienimParlament = Length(liParteienimParlament)
liZuteilungszahlen = Sequence(round(Element[liParteistimmenimParlament / zuteilungsdivisor, n], 0), n, 1, anzahlParteienimParlament)
zuteilungssumme1 = Sum(liZuteilungszahlen)
faktor = If(zuteilungssumme1 > anzahlSitze, 1, -1)
liPartei10 = Sequence((B10 / n, 10), n, 1, anzahlSitze)
liPartei9 = Sequence((B9 / n, 9), n, 1, anzahlSitze)
liPartei8 = Sequence((B8 / n, 8), n, 1, anzahlSitze)
liPartei7 = Sequence((B7 / n, 7), n, 1, anzahlSitze)
liPartei6 = Sequence((B6 / n, 6), n, 1, anzahlSitze)
liPartei5 = Sequence((B5 / n, 5), n, 1, anzahlSitze)
liPartei4 = Sequence((B4 / n, 4), n, 1, anzahlSitze)
liPartei3 = Sequence((B3 / n, 3), n, 1, anzahlSitze)
liPartei2 = Sequence((B2 / n, 2), n, 1, anzahlSitze)
liPartei1 = Sequence((B1 / n, 1), n, 1, anzahlSitze)
ligesamt = Reverse(Sort[Flatten[{liPartei1, liPartei2, liPartei3, liPartei4, liPartei5, liPartei6, liPartei7, liPartei8, liPartei9, liPartei10}]])
liParteiensitzeReihenfolge = Sequence(y(Element[ligesamt, n]), n, 1, (2 * anzahlSitze))
lifalscheSitze = RemoveUndefined(Sort[Sequence[If[Defined[IndexOf[y(Element[ligesamt, n]), liParteienunterpProzent]], y(Element[ligesamt, n])], n, 1, (2 * anzahlSitze)]])
liSitzeReihenfolge = Remove(liParteiensitzeReihenfolge, lifalscheSitze)
einS1 = Textfield(B1)
einP1 = Textfield(A1)
einS3 = Textfield(B3)
einS4 = Textfield(B4)
einS5 = Textfield(B5)
einS6 = Textfield(B6)
einS7 = Textfield(B7)
einS8 = Textfield(B8)
einS9 = Textfield(B9)
einS10 = Textfield(B10)
einP3 = Textfield(A3)
einP4 = Textfield(A4)
einP5 = Textfield(A5)
einP6 = Textfield(A6)
einP7 = Textfield(A7)
einP8 = Textfield(A8)
einP9 = Textfield(A9)
einP10 = Textfield(A10)
einS2 = Textfield(B2)
einP2 = Textfield(A2)
A = Sum(ligesamt)
gesamtstimmenParteien = Sum(liParteistimmen)
tProzent1: "" + (LaTeX[(100 * Element[liParteiprozente, 1])]) + "\%"
tProzent2: "" + (LaTeX[(100 * Element[liParteiprozente, 2])]) + "\%"
tProzent3: "" + (LaTeX[(100 * Element[liParteiprozente, 3])]) + "\;%"
tProzent4: "" + (LaTeX[(100 * Element[liParteiprozente, 4])]) + "\;%"
tProzent5: "" + (LaTeX[(100 * Element[liParteiprozente, 5])]) + "\;%"
tProzent6: "" + (LaTeX[(100 * Element[liParteiprozente, 6])]) + "\;%"
tProzent7: "" + (LaTeX[(100 * Element[liParteiprozente, 7])]) + "\;%"
tProzent8: "" + (LaTeX[(100 * Element[liParteiprozente, 8])]) + "\;%"
tProzent9: "" + (LaTeX[(100 * Element[liParteiprozente, 9])]) + "\;%"
tProzent10: "" + (LaTeX[(100 * Element[liParteiprozente, 10])]) + "\;%"
Eingabefeld1 = Textfield(gesamtStimmen)
liParteiensitze = Sort(Sequence[Element[liSitzeReihenfolge, n], n, 1, anzahlSitze])
liPH = Sequence((Element[Unique[liParteiensitze], n], Element[Frequency[liParteiensitze], n]), n, 1, Length[Unique[liParteiensitze]])
liSitzanzahlParteienimParlament = Sequence(y(Element[liPH, n]), n, 1, Length[liPH])
a = PieChart(liSitzanzahlParteienimParlament, (-10, 0))
sdia = BarChart(liParteienimParlamentNummern, liSitzanzahlParteienimParlament, 1)
maxSitze = Max(liSitzanzahlParteienimParlament)
liTeiler = Sequence((2 * n) - 1, n, 1, anzahlSitze)
Text1 = TableText(liParteienimParlament, liZuteilungszahlen, "ch|")
Text3: "Summe\;=\;" + (LaTeX[zuteilungssumme1]) + ""
lianteileSitzeParteienimParlament = Sequence(Element[liZuteilungszahlen, n] / anzahlSitze, n, 1, anzahlParteienimParlament)
Text4: "1.Zuteilungsdivisor\;=\;" + (LaTeX[zuteilungsdivisor]) + ""
liKandidatenzweiterDivisor = Sequence(Element[liParteistimmenimParlament, n] / (Element[liZuteilungszahlen, n] - (faktor * 0.5001)), n, 1, anzahlParteienimParlament)
zweiterDivisor: floor((Min[liKandidatenzweiterDivisor] * 10000)) / 10000
liZuteilungszahlen2 = Sequence(round(Element[liParteistimmenimParlament / (zweiterDivisor), n], 0), n, 1, anzahlParteienimParlament)
zuteilungssumme2 = Sum(liZuteilungszahlen2)
mehrSitze = false
anzahlMehrsitze = 12 (slider from 1 to 200, step 1)
Eingabefeld2 = Textfield(anzahlMehrsitze)
b: round((anzahlMehrsitze * gesamtstimmenParteien / Element[liParteistimmenimParlament, SelectedIndex[liParteienimParlament]]), 0)
g = If(anzahlMehrsitze < Element[liParteistimmenimParlament, SelectedIndex[liParteienimParlament]], Element[liParteistimmenimParlament, SelectedIndex[liParteienimParlament]])
ind = SelectedIndex(liParteienimParlament)
Text9: "relevante Stimmen = " + stimmenParteienimParlament + ""
Text10: "Summe\;=\;" + (LaTeX[Sum[liSitzanzahlParteienimParlament]]) + ""
c = Max(69, round((anzahlMehrsitze * stimmenParteienimParlament / Element[liParteistimmenimParlament, SelectedIndex[liParteienimParlament]]), 0))
zweiteAusgangszahl = If(IsInteger[c / 2], c + 1, c)
Text8: "Wählen Sie als neue Sitzanzahl " + zweiteAusgangszahl + "."
liParteienNummernmind1Sitz = Sequence(x(Element[liPH, n]), n, 1, Length[liPH])
liPa = Sequence(Element[liParteien, Element[liParteienNummernmind1Sitz, n]], n, 1, Length[liParteienNummernmind1Sitz])
Text2 = TableText(liPa, liSitzanzahlParteienimParlament, "ch|")
wahljahr: 2022
Eingabefeld3 = Textfield(wahljahr)