
ระยะห่างระหว่างจุดสองจุด (การเขียนโปรแกรม)

อัปเกรดสำหรับเนื้อหาเพิ่มเติม
One point has the coordinate (4,6). What is then the x coordinate?
ลีน่ากำลังเขียนโปรแกรมเกม ที่ผู้เล่นที่เป็นแมวจะหนี การถูกจับโดยนักจับแมว หากระยะห่างระหว่างแมวกับ นักจับแมวสั้นกว่า ความยาวของสวิง แมวก็จะถูกจับได้ แล้วโปรแกรมจะรู้ได้ยังไง ว่าแมวจะถูกจับไหม เราจำเป็นต้องรู้ระยะห่าง ระหว่างแมวกับนักจับแมว เราสามารถแบ่งหน้าจอเป็นตาราง ที่ในวิชาคณิตศาสตร์จะเรียกมันว่า ระบบพิกัด เส้นแนวนอนเรียกว่าแกน x และเส้นแนวตั้ง คือแกน y เราอ่านค่า x และค่า y ให้แมว และนักจับแมว แมวมีค่า x เท่ากับศูนย์ และ y เท่ากับศูนย์ นักจับแมวมีค่า x เป็น 30 และค่า y เป็น 20 เราต้องการสิ่งหนึ่งจากวิชาคณิตศาสตร์ และนั่นก็คือ ทฤษฎีบทของพีธากอรัส แล้วเราต้องการสิ่งนี้ไปทำไมกัน? ดูนี่สิ เราวาดเส้นระหว่างแมวกับนักจับแมว ขึ้นมาหนึ่งเส้น จากนั้นก็วาดเส้นแนวนอนจากแมวอีกเส้น ไปที่ค่า x ของนักจับแมว สุดท้าย เราวาดเส้นแนวตั้ง จากนักจับแมว ไปยังค่า y ของแมว นี่คือรูปทรงเรขาคณิตชนิดไหนนะ? มันก็เป็นสามเหลี่ยมมุมฉาก น่ะสิ และด้านตรงข้ามมุมฉาก ตรงนั้นคือระยะห่างระหว่างแมว กับนักแมวจับ หากสวิงมีความยาวอย่างน้อยเท่ากับ ด้านตรงข้ามมุมฉาก แมวก็ถูกจับ เราใช้ทฤษฎีบทของพีธากอรัสในการคำนวณ ด้านตรงข้ามมุมฉากของสามเหลี่ยม ก่อนที่จะเราจะเริ่มเขียนโปรแกรม เราเขียนคำสั่งที่ชัดเจนเหล่านี้ลงไป มันคือรหัสเทียม เราจำเป็นต้องรู้พิกัดสำหรับนักจับแมว และแมว บันทึกค่า x และ y ของนักจับแมว บันทึกค่า x และค่า y ของแมว บันทึกความยาวของสวิง เราต้องการคำนวณความยาวของ ด้านตรงข้ามมุมฉากของสามเหลี่ยม ซึ่งเรียกว่า c ตามทฤษฎีบทของพีธากอรัส ด้าน a ที่เราได้มาโดยการคำนวณส่วนต่าง ระหว่างค่า x ของนักจับแมว และค่า x ของแมว สร้างตัวแปร 'a' กำหนดค่าของ x ของนักจับแมว ลบกับค่า x ของแมว เราได้ด้าน b โดยการคำนวณความต่าง ระหว่างค่า y ของนักจับแมว และค่า y ของแมว สร้างตัวแปร 'a2' ขึ้นมา แล้วกำหนดค่าของ a คูณ a จากนั้นทำแบบเดียวกันกับ b คำนวณ b กำลังสองและเก็บผลลัพธ์ไว้ ในตัวแปรใหม่ที่มีชื่อ 'b2' สร้าง 'c2' และกำหนดค่าโดย รวมผลของ 'a2' และ 'b2' 'c2' คือค่ากำลังสองของด้านตรงข้ามมุมฉาก ในการคำนวณด้านตรงข้ามมุมฉาก เราจะใช้สแควรูท ของตัวแปร c2 และบันทึกผลลัพธ์ในตัวแปรที่เรียกว่า 'c' ตอนนี้เรามี 'c' ซึ่งเป็นระยะห่างระหว่างแมว กับนักจับแมว ได้เวลาลองดูแล้ว ถ้า ระยะห่าง c ยาวกว่าความยาวของสวิง ให้พูดว่า หนีไปซะเจ้าแมว หรืออื่นๆ ให้พูดว่า แมวถูกจับแล้ว มาทำให้ชัดขึ้นว่าแถวใดในรหัสเทียม ไปด้วยกันได้ เราก็แค่กดแท็บพวกแถวที่เริ่มด้วยคำว่า "พูด" แถวนี้จะดำเนินการได้ก็ต่อเมื่อ แถว if เป็นจริง และแถวนี้ จะดำเนินการได้ก็ต่อเมื่อ แถว else เป็นจริง สิ่งเดียวสำหรับแมวในตอนนี้คือ ถอยห่างให้ไกลจากนักจับแมว เท่าที่จะทำได้