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:

Die Lösung in Atari-Basic

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.

Die Lösung in Python
Python Interpreter online: Über die Webseite extendsclass.com/python.html lassen sich Python-Programme direkt ausprobieren

Autor/in
Ulrich Schmitz
Content Marketing Expert Mehr erfahren
Ulrich Schmitz
Ulrich Schmitz ist als Content Marketing Expert und Redakteur bei der IT-P tätig. Seine Leidenschaft gehört dem Content und der Betreuung von Social Media-Kanälen mit dem Schwerpunkt IT-Fachinformationen.
Neues Gewinnspiel
Das Gewinnspiel ist inzwischen in die 2.Runde gestartet. Mehr dazu auf unserer Facebook-Seite.