MINT üben

Ein Protokoll implementieren

Zwei Abituraufgaben zur Implementierung von Sender und Empfänger.

Dein Fortschritt:
0 / 0 Aufgaben
1

Den Empfänger verstehen

AFB I–II

Gegeben ist die Empfängerfunktion eines Stop-and-Wait-Protokolls. Rahmen haben das Format #nr;daten$.

def empfangen(rahmen, erwartet, daten):    inhalt = rahmen[1:-1]    nr_text, nutz = inhalt.split(";", 1)    nr = int(nr_text)    if nr == erwartet:        daten.append(nutz)        erwartet = erwartet + 1    return f"ACK{nr}", erwartet
  1. Beschreiben Sie die Arbeitsweise der Funktion.
  2. Stellen Sie in einer Tracetabelle dar, was bei den Rahmen #0;SO$, #1;NN$, #1;NN$, #2;E$ geschieht (Start: erwartet = 0, daten = []).
  3. Entwickeln Sie eine Funktion ist_rahmen(r), die True liefert, wenn r mit # beginnt, mit $ endet, ein Semikolon enthält und vor dem Semikolon nur Ziffern stehen.

Hinweise

Hinweis zu Aufgabe a)
Zeile für Zeile: zerlegen, prüfen, speichern, antworten.
Hinweis zu Aufgabe b)
Spalten: Rahmen, nr, Bedingung, daten, erwartet, Rückgabe.
Hinweis zu Aufgabe c)
startswith, endswith, isdigit().Entwerfen/Entwickeln: Nach vorgegebenen Bedingungen ein Modell oder einen Algorithmus selbstständig planen bzw. erarbeiten.