เขียนฟังก์ชันคำนวณพื้นที่สามเหลี่ยมและฟังก์ชันคำนวณพื้นที่สี่เหลี่ยม

 

โจทย์

จงเขียนฟังก์ชันคำนวณพื้นที่สามเหลี่ยมและฟังก์ชันคำนวณพื้นที่สี่เหลี่ยม โดยใช้สูตรดังนี้

\[a_{triangle} = \frac{1}{2} \times base \times height\]
\[a_{rectangle} = width \times height\]

สมการข้างต้นแสดงสูตรสำหรับการคำนวณพื้นที่ของรูปสามเหลี่ยมและสี่เหลี่ยม:

  1. พื้นที่ของรูปสามเหลี่ยม: \(a_{triangle} = \frac{1}{2} \times base \times height\)

    สูตรนี้คำนวณพื้นที่ของรูปสามเหลี่ยมโดยการคูณครึ่งหนึ่งของความยาวฐานด้วยความสูงของสามเหลี่ยม ผลลัพธ์ที่ได้คือพื้นที่ของรูปสามเหลี่ยม

  2. พื้นที่ของรูปสี่เหลี่ยม: \(a_{rectangle} = width \times height\)

    สูตรนี้คำนวณพื้นที่ของรูปสี่เหลี่ยมโดยการคูณความกว้างด้วยความสูง ผลลัพธ์ที่ได้คือพื้นที่ทั้งหมดของรูปสี่เหลี่ยม

สูตรเหล่านี้เป็นพื้นฐานสำคัญในเรขาคณิตและใช้ในการคำนวณพื้นที่ของรูปทรงพื้นฐานเหล่านี้ เราจะนำสูตรเหล่านี้ไปใช้ในการสร้างฟังก์ชันในโปรแกรมต่อไป

โปรแกรม

ฟังก์ชันธรรมดา

def triangle_area(base, height):
    return 1/2 * base * height

def rectangle_area(width, height):
    return width * height

ฟังก์ชันแลมบ์ด้า

triangle_area = lambda base, height: 1/2 *base* height

rectangle_area = lambda width, height: width * height

ฟังก์ชันธรรมดาพร้อมการระบุประเภทข้อมูล

def triangle_area(base: float, height: float) -> float:
    return 1/2 * base * height

def rectangle_area(width: float, height: float) -> float:
    return width * height

คำอธิบายโปรแกรม

โปรแกรมนี้แสดงการสร้างฟังก์ชันสำหรับคำนวณพื้นที่ของรูปสามเหลี่ยมและสี่เหลี่ยมในรูปแบบต่างๆ ดังนี้:

  1. ฟังก์ชันธรรมดา:

    • triangle_area(base, height): คำนวณพื้นที่สามเหลี่ยมโดยใช้สูตร \(1/2 \times ฐาน \times ความสูง\)

    • rectangle_area(width, height): คำนวณพื้นที่สี่เหลี่ยมโดยใช้สูตร \(กว้าง \times ยาว\)

  2. ฟังก์ชันแลมบ์ด้า:

    • triangle_area: ฟังก์ชันแลมบ์ด้าสำหรับคำนวณพื้นที่สามเหลี่ยม

    • rectangle_area: ฟังก์ชันแลมบ์ด้าสำหรับคำนวณพื้นที่สี่เหลี่ยม

  3. ฟังก์ชันธรรมดาพร้อมการระบุประเภทข้อมูล:

    • triangle_area(base: float, height: float) -> float: คำนวณพื้นที่สามเหลี่ยม โดยระบุว่าพารามิเตอร์และค่าที่ส่งคืนเป็นประเภท float

    • rectangle_area(width: float, height: float) -> float: คำนวณพื้นที่สี่เหลี่ยม โดยระบุว่าพารามิเตอร์และค่าที่ส่งคืนเป็นประเภท float

การสร้างฟังก์ชันทั้งสามรูปแบบข้างต้นมีความแตกต่างกันดังนี้:

  1. ฟังก์ชันธรรมดา: เป็นรูปแบบพื้นฐานที่ใช้คำสั่ง def ในการสร้างฟังก์ชัน เหมาะสำหรับฟังก์ชันที่มีหลายบรรทัดหรือมีความซับซ้อน

  2. ฟังก์ชันแลมบ์ด้า: เป็นฟังก์ชันแบบสั้นๆ ที่เขียนในบรรทัดเดียวโดยใช้คำสั่ง lambda เหมาะสำหรับฟังก์ชันที่มีการคำนวณในบรรทัดเดียวแล้วคืนค่ามายังตัวแปรและไม่ต้องการชื่อฟังก์ชั่น

  3. ฟังก์ชันธรรมดาพร้อมการระบุประเภทข้อมูล: คล้ายกับฟังก์ชันธรรมดา แต่มีการระบุประเภทข้อมูลของพารามิเตอร์และค่าที่ส่งคืน ช่วยให้โค้ดอ่านง่ายขึ้นและลดข้อผิดพลาดจากการใช้ข้อมูลผิดประเภท

แต่ละรูปแบบมีข้อดีและการใช้งานที่เหมาะสมแตกต่างกันไปตามสถานการณ์และความต้องการของโปรแกรมเมอร์

การสร้างฟังก์ชันในรูปแบบต่างๆ นี้แสดงให้เห็นถึงความยืดหยุ่นในการเขียนโปรแกรมภาษาไพทอน และการใช้งานฟังก์ชันในรูปแบบที่เหมาะสมกับความต้องการของโปรแกรมเมอร์