i

Bausteine zur Verarbeitung von Adresslisten

Bausteine nutzen

Bei der automatisierten Verwaltung und Verarbeitung von Adresslisten ist es günstig, wenn Operationen zur Verarbeitung dieser Listen zur Verfügung stehen. Mit solchen Operationen sollte es z.B. möglich sein, auf einfache Weise neue E-Mail-Adressen hinzuzufügen oder auch vohandene E-Mail-Adressen wieder zu löschen.

Programmiersysteme wie Python stellen in der Regel eine Reihe vordefinierter Operationen zur Verarbeitung von Listen zur Verfügung. So kann man in Python die Operation len zur Bestimmung der Anzahl der Listenelemente und die Operation + zum Aneinanderhängen von Listen benutzen.

Programmiersysteme wie Python erlauben es, auch neue Operationen zu erstellen. Wir werden das in Form von Funktionen realisieren.

Bausteine konzipieren

Der folgende Python-Quelltext zeigt das Gerüst von Funktionsdefinition. Zur Verhaltensbeschreibung sind kurze Beschreibungen und Testfällen integriert. Beachte, dass diese Verhaltensbeschreibungen nur als Zusatzinformation dienen und nicht zur Berechnung des Funktionswerts beitragen.

def hinzufuegenHinten(eintrag, liste):

    """
    fügt eintrag hinten in liste an
    
    Bsp.:
    >>> hinzufuegenHinten('Kalid', ['Tamara', 'Peter', 'Bello'])
    ['Tamara', 'Peter', 'Bello', 'Kalid']
    """
    
    # ...

def hinzufuegenVorne(eintrag, liste):

    """
    fügt eintrag vorne in liste an
    
    Bsp.:
    >>> hinzufuegenVorne('Kalid', ['Tamara', 'Peter', 'Bello'])
    ['Kalid', 'Tamara', 'Peter', 'Bello']
    """
    
    # ...

def einfuegen(eintrag, index, liste):

    """
    fügt eintrag an der Position index in liste ein
    
    Bsp.:
    >>> einfuegen('Kalid', 1, ['Tamara', 'Peter', 'Bello'])
    ['Tamara', 'Kalid', 'Peter', 'Bello']
    """
    
    # ...

def loeschen(index, liste):

    #

Aufgabe 1

Erläutere die bereits vorliegenden Verhaltensbeschreibungen. Ergänze die noch fehlende Verhaltensbeschreibung zur Funktion loeschen.

Bausteine implementieren und testen

Bei der Implementierung der Bausteine kann man die Programmteile aus den vorangehenden Abschnitten nutzen. Zum Testen kann man das automatisierte Überprüfen der Testfälle verwenden (siehe Modultests). Hierbei ist es günstig, wenn man weitere wichtige Testfälle in die Verhaltensbeschreibungen integriert.

def hinzufuegenHinten(eintrag, liste):

    """
    fügt eintrag hinten in liste an
    
    Bsp.:
    >>> hinzufuegenHinten('Kalid', ['Tamara', 'Peter', 'Bello'])
    ['Tamara', 'Peter', 'Bello', 'Kalid']
	>>> hinzufuegenHinten('Rebekka', [])
    ['Rebekka']
	
    """
    
    listeNeu = liste + [eintrag]
    return listeNeu

if __name__ == "__main__":
    from doctest import testmod
    testmod(verbose=True)

Aufgabe 2

Führe das gezeigte Programm mit dem Modultest aus. Deute die Rückmeldung von Python. Ergänze auch zu den anderen Funktionen eine Implementierung und teste diese analog.

Suche

v
6.3.1.4.3.4
dev.inf-schule.de/imperative-programmierung/python/projekte/datenstrukturen/ehemalige/bausteine
dev.inf-schule.de/6.3.1.4.3.4
dev.inf-schule.de/@/page/16gjrTQSk7c1Qcxo

Rückmeldung geben