Neues bildunabhängiges Textbeispiel. Dieser Text wurde eigenständig für informatik-abi.de erstellt und ersetzt die fehlende Abbildung. Er rekonstruiert weder deren unbekannten Inhalt noch eine fremde Programmvorlage.

Für die Bearbeitung maßgeblich: Verwende die vollständigen Daten dieser Ergänzung und den lokalen Editor unter (IV). Die nachfolgende ältere Problemstellung bleibt als historischer Lernkontext erhalten; ihre unvollständigen Daten und abweichenden Ergebnisse gelten nicht für die neue Variante.

Vollständige eigene, rein synthetische Jahresliste: [2004, 2002, 2004, 2005]. Die Häufigkeiten vom kleinsten bis zum größten vorkommenden Jahr sind:

  • 2002: 1 Mitglied.
  • 2003: 0 Mitglieder.
  • 2004: 2 Mitglieder.
  • 2005: 1 Mitglied.

Die lokale Funktion jahrgangstabelle(jahre) liefert diese Paare als Liste von Tupeln zurück. Anders als die historische Annahme "in jedem Jahr ein Mitglied" enthält diese eigene Variante Lücken ausdrücklich mit 0. Eine leere Liste ergibt eine leere Ergebnisliste. Die ältere Tabelle für 2000 bis 2010 beschreibt andere, nicht vollständig verfügbare Daten und ist kein Soll-Ergebnis dieses Beispiels.

L2_4.3 Suchen: Anzahl der Mitglieder je Jahrgang

Abbildung durch die Textfassung am Seitenanfang ersetzt.

(I) Problemstellung


Die Jugendabteilung des Sportvereines Mühlberger SC möchte ihre Mitgliederdaten auswerten. Mit Ausführung des Programms soll ermittelt werden, wie viele Mitglieder des Vereins in den Jahren 2000 und folgende jeweils geboren wurden.

Die Geburtsjahre der Mitglieder, die in den Jahren 2000 und später geboren wurden, sind bereits im Array jahrgang erfasst. Es wird unterstellt, dass in jedem Jahr ein Mitglied geboren wurde.

Verwenden Sie für die Implementierung Ihrer Lösung den Python Editor unten auf der Seite.


(II) Problemanalyse


(1) Welche Ausgabedaten will man erhalten?

(2) Welche Eingabedaten werden zur Bearbeitung benötigt?

(3) Welche Eigenschaften haben die Eingabe-, Verarbeitungs- und Ausgabedaten? (Variablenliste)

Bedeutung Typ/Struktur Variable/Größe
Geburtsjahre der Mitglieder Array jahrgang

(4) Gewünschter Ablauf des Programms

Ausgabe Jahrgang
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
Anzahl Mitglieder
5
9
9
12
10
9
10
7
4
3
1

(5) Verarbeitung


(III) Struktogramm


Erstelle ein Struktogramm mit Strukto.io


(IV) Programmcode (Python-Code)


BPE 7J22 Punktemittel

Eine vollständige Jahrgangstabelle bilden

Noch nicht begonnen

Aufgabenstellung

Lokale Übung zum gleichen Lernziel. Neu und eigenständig zum Lernziel verfasst; keine Rekonstruktion oder Übernahme einer fremden Vorlage. Neue vollständige synthetische Jahresliste mit expliziter Nullhäufigkeit für Lücken.

Eigenständige lokale Übungsvariante. Der frühere Fremdcode liegt nicht vor. Diese Aufgabe verwendet eigene, vollständig beschriebene Daten und den folgenden Codevertrag; Angaben im älteren Material sind nicht automatisch Testdaten dieses Editors.

jahrgangstabelle(jahre) liefert eine Liste von Tupeln (jahr, anzahl), aufsteigend vom kleinsten bis zum größten vorkommenden Jahr. Alle Eingabewerte sind ganze Jahre zwischen 2000 und 2010. In dieser eigenen Variante werden Lücken ausdrücklich mit Anzahl 0 ausgegeben. Für [] liefere []. Das Original bleibt unverändert.

Neue vollständige Daten: [2004, 2002, 2004, 2005]. Ergebnis: [(2002, 1), (2003, 0), (2004, 2), (2005, 1)]. Die vollständige Liste ersetzt unzugängliche frühere Beispieldaten; die Lückenregel ist hier bewusst explizit.

Ausgabe bzw. Vorschau

Noch nicht ausgeführt.
2 Tipps anzeigen
  1. Behandle die leere Liste zuerst: min und max wären dafür nicht definiert.
  2. Die äußere Schleife läuft bis einschließlich des größten Jahres. Setze den Häufigkeitszähler für jedes Jahr wieder auf 0.
Lösung anzeigen
def jahrgangstabelle(jahre):
    if not jahre:
        return []
    ergebnis = []
    for jahr in range(min(jahre), max(jahre) + 1):
        anzahl = 0
        for wert in jahre:
            if wert == jahr:
                anzahl += 1
        ergebnis.append((jahr, anzahl))
    return ergebnis

Quelle und Rechte

Quelle: Eigenständig erstellte lokale Ersatzaufgabe

Rechtehinweis: Die ursprüngliche Lernseite bleibt erhalten; Programmvorlage und Tests dieser Übung wurden für informatik-abi.de neu erstellt.


Lösung Zusatzaufgabe Mitglieder je Jahrgang