IT-P Gewinnspiel 1: Alle Lösungen im Überblick
Im November 2021 lief das erste IT-P-Gewinnspiel für angehende und gestandene IT-Profis über die Social-Media-Kanäle. Auf eine knifflige Frage aus dem Logik- und IT-Bereich galt es, passende Antworten zu finden. Inzwischen ist die erste Runde abgeschlossen und die zweite gestartet. Zeit, die verschiedenen Lösungsvorschläge vorzustellen.
Die Aufgabe des ersten Gewinnspiels hörte sich einfach an, hatte es aber durchaus in sich. Es galt ein Programm zu erstellen, das den Wert zweier Variablen vertauscht, ohne eine weitere Variable einzusetzen. Die Lösung konnte in einer beliebigen Programmiersprache erfolgen. Gegeben war:
$x=1; $y=99;
Das gewünschte Ergebnis sollte sein:
$x=99; $y=1;
Atari Basic
Die erste eingereichte Lösung war in der alten Interpreter-Sprache „Atari Basic“ aus den 80er Jahren formuliert:
Atari Basic: Die programmierte Lösung mit festen Zeilennummern und 40-Zeichen-Display
Der Kern der Lösung liegt in den Zeilen 40, 50 und 60. Zur Laufzeit kann man den Wert von X und Y nutzen und gleichzeitig einen neuen zuweisen. Über die Summe von X und Y ist es so möglich, den Y-Wert zu tauschen und anschließend aus der Summe den alten Y-Wert zu ermitteln und nach X zu übertragen.
PowerShell
Der von Tobias Weinreich eingereichten Vorschlag war mit PowerShell formuliert:
{ Param ( [int]$x = 1, [int]$y = 99 ) $x += $y $y = $x - $y $x -= $y Write-Host ("x=" + $x) Write-Host ("y=" + $y) } switch-variables -x 1 -y 99
Doch es geht auch noch kürzer:
$x, $y = $y, $x
Python
Den gleichen Ansatz verfolgte die von Dirk Kaah in Python formulierte Lösung des Problems:
x, y = y, x
Diese Lösung wurde dann gleich als komplettes Programm eingereicht:
x = 1 y = 99 print("Vor dem Tausch:") print("Anfangswert von X: ", x) print("Anfangswert von Y: ", y) # Variableninhaltstausch von x und y in Python ohne zus. Hilfsvariable x, y = y, x print("Nach dem Tausch:") print("Endwert von X: ", x) print("Endwert von Y: ", y)
Und da Python nicht auf jedem Rechner zur Verfügung steht, gab es gleich den Hinweis auf die Webseite
https://extendsclass.com/python.html
Hier lassen sich Python-Programme ohne lokale Installation der Python-Umgebung direkt testen.
Python Interpreter online: Über die Webseite extendsclass.com/python.html lassen sich Python-Programme direkt ausprobieren
Autor/in
