Der Abstand zwischen zwei Punkten (Programmierung)
One point has the coordinate (4,6). What is then the x coordinate?
Lina programmiert ein Spiel, in dem der Spieler eine Katze lenkt, die nicht vom Katzenfänger geschnappt werden will. Wenn der Abstand zwischen der Katze und dem Fänger kleiner ist, als die Länge des Fangnetzes, ist die Katze gefangen. Wie kann das Programm feststellen, ob die Katze gefangen wurde? Wir müssen den Abstand zwischen der Katze und dem Fänger kennen. Wir können den Bildschirm in ein Raster einteilen.
In der Mathematik nennen wir das ein Koordinatensystem. Die horizontale Achse wird als x-Achse bezeichnet und die vertikale als y-Achse. Wir lesen den x-Wert und den y-Wert für die Katze und den Fänger ab. Die Katze hat den Wert x gleich Null und y gleich Null. Der Fänger hat den x-Wert 30 und den y-Wert 20.
Wir brauchen noch etwas aus der Mathematik und das ist der Satz des Pythagoras. Warum brauchen wir den? Schau mal! Wir ziehen zwischen Katze und Fänger eine Linie. Dann eine horizontale Linie von der Katze zum x-Wert des Fängers.
Zum Schluss ziehen wir eine vertikale Linie vom Fänger zum y-Wert der Katze. Welche geometrische Form ist das? Genau, ein rechtwinkliges Dreieck. Und die Hypotenuse ist der Abstand zwischen Katze und Fänger. Wenn das Fangnetz mindestens so lang wie die Hypotenuse ist, dann ist die Katze gefangen!
Wir nutzen den Satz des Pythagoras, um die Hypotenuse zu berechnen. Bevor wir mit dem Programmieren anfangen, schreiben wir das alles als eindeutige Anweisungen auf: als Pseudocode. Wir müssen die Koordinaten des Fängers und der Katze kennen. Notiere die x- und y-Werte für den Fänger. Notiere die x- und y-Werte für die Katze.
Notiere die Länge des Fangnetzes. Wir wollen die Länge der Hypotenuse des Dreiecks berechnen, die hier im Satz des Pythagoras als "c" bezeichnet wird. Seite "a" können wir aus dem Unterschied zwischen dem x-Wert des Fängers und dem x-Wert der Katze berechnen. Erstelle Variable "a". Weise ihr den x-Wert des Fängers minus den x-Wert der Katze zu.
Wir erhalten Seite "b" aus dem Unterschied zwischen dem y-Wert des Fängers und dem y-Wert der Katze. Erstelle Variable "a2" und weise den Wert "a" mal "a" zu. Und das gleiche mit "b". Berechne "b" zum Quadrat und speichere das Produkt in einer neuen Variable mit dem Namen "b2". Erstelle "c2" und weise ihr diesen Wert zu: die Summe aus "a2" und "b2". "c2" ist das Quadrat der Hypotenuse.
Um die Hypotenuse zu berechnen, nehmen wir die Quadratwurzel aus der Variable "c2" und speichern das Ergebnis in einer Variable names "c". Jetzt haben wir "c", was der Abstand zwischen der Katze und dem Fänger ist. Zeit es auszuprobieren: Wenn der Abstand "c" länger ist als die Länge des Fangnetzes, sag, dass die Katze entkommt. Sonst sag, dass die Katze gefangen ist! Machen wir deutlicher, welche Zeilen im Pseudocode zusammengehören.
Wir rücken die Zeilen, die mit "Sag" anfangen, ein. Diese hier wird nur ausgeführt, wenn die Wenn-Zeile zutrifft, und diese hier nur, wenn die Sonst-Zeile zutrifft. Jetzt muss sich die Katze nur noch weit so weit wie sie kann vom Fänger fernhalten.