Übungsaufgaben
Zehn Übungen zum Klicken, Zuordnen, Rechnen und Knobeln — von AFB I bis AFB III. Jede Übung gibt sofort Rückmeldung; wenn Sie nicht weiterkommen, helfen die gestuften Tipps.
Es gilt nr = 4 und d = "AB". Geben Sie die Werte der Ausdrücke an.
f"#{nr};{d}$" →
"#4;AB$"[1:-1] →
"4;AB".split(";") →
int("4") + 1 →
[1:-1] lässt das erste und das letzte Zeichen weg. split liefert eine Liste von Zeichenketten — erst int() macht aus "4" eine Zahl.Nennen Sie zu jeder Aussage, ob sie stimmt.
Die Funktion empfangen aus dem Unterkapitel startet mit erwartet = 0 und daten = []. Stellen Sie in der Tracetabelle dar, was nach jedem Rahmen gilt.
| Rahmen | Antwort | erwartet | daten |
|---|---|---|---|
#0;WE$ | |||
#1;GE$ | |||
#1;GE$ | |||
#2;N$ |
daten unverändert — die Quittung ACK1 wird trotzdem geschickt. (Die Spalte „daten“ zeigt die Liste aneinandergehängt.)nr == erwartet wird gespeichert.ACK plus empfangene Nummer.Die Zeilen der Senderfunktion sind durcheinandergeraten. Implementieren Sie die Funktion, indem Sie die Zeilen ordnen.
nr = 0
while nr < len(pakete):
kanal.schicke(f"#{nr};{pakete[nr]}$")
antwort = kanal.warte_auf_ack(3)
if antwort == f"ACK{nr}": nr = nr + 1
nr = nr + 1 direkt nach dem Senden, ginge ein verlorenes Paket unbemerkt verloren.Fünf Pakete (Nr. 0–4) werden mit Stop-and-Wait übertragen. Paket 2 geht beim ersten Versuch verloren, die Quittung für Paket 4 ebenfalls. Hin- und Rückweg dauern je 1 Zeiteinheit, der Timeout 3. Ermitteln Sie die Kennzahlen.
- gesendete Rahmen
- gesendete Quittungen
- Duplikate beim Empfänger
- Gesamtdauer Zeiteinheiten
Überprüfen Sie diesen Empfänger-Code — zwei Zeilen sind falsch.
nr_text bei "#3;HI$"?Bestimmen Sie den Wert von int("#12;GO$"[1:-1].split(";")[0]) * 2.
[1:-1] → "12;GO", split → ["12", "GO"], [0] → "12", int → 12, mal 2 → 24.Ein Paket braucht zum Empfänger 40 ms, die Quittung ebenso lange; der Empfänger braucht 5 ms zum Antworten. Begründen Sie die Wahl des Timeouts — markieren Sie alle zutreffenden Aussagen.
Ordnen Sie jedem Ereignis die Reaktion im Stop-and-Wait-Protokoll zu.
Ein Sender schickt 100 Pakete über eine Leitung, auf der jedes Paket 50 ms braucht. Beurteilen Sie ohne Rechnen, wie sich die Gesamtdauer ändert.
