คำนวณพื้นที่ผิวทรงกระบอกเพื่อตัดกระดาษห่อของขวัญ
โจทย์
นักเรียนมีของขวัญเป็นรูปทรงกระบอกและต้องการห่อของขวัญให้สวยงาม นักเรียนจะตัดกระดาษอย่างไรจึงจะมีพื้นที่ที่สามารถห่อของขวัญได้โดยเผื่อกระดาษเพิ่มจากพื้นที่ผิวของของขวัญให้สามารถห่อทรงกระบอกได้
ให้นักเรียนออกแบบและเขียนโปรแกรมเพื่อคำนวณพื้นที่ผิวทรงกระบอกโดยใช้สูตรคำนวณพื้นที่ผิวของทรงกระบอกดังนี้
สูตรคำนวณพื้นที่ผิวของทรงกระบอกสามารถอธิบายได้ตามขั้นตอนดังนี้:
คำนวณพื้นที่ผิวด้านข้าง (\(a_{side}\)):
สูตร: \(a_{side} = 2\pi rh\)
โดยที่ \(r\) คือรัศมีของฐานทรงกระบอก และ \(h\) คือความสูงของทรงกระบอก
พื้นที่ผิวด้านข้างคือพื้นที่ของสี่เหลี่ยมผืนผ้าที่มีความกว้างเท่ากับเส้นรอบวงของฐาน (\(2\pi r\)) และความยาวเท่ากับความสูงของทรงกระบอก (\(h\))
คำนวณพื้นที่ฐานทั้งสองด้าน (\(a_{base}\)):
สูตร: \(a_{base} = 2(\pi r^2)\)
เนื่องจากทรงกระบอกมีฐานสองด้าน (บนและล่าง) จึงต้องคูณพื้นที่วงกลม (\(\pi r^2\)) ด้วย 2
คำนวณพื้นที่ผิวทั้งหมด (\(a\)):
สูตร: \(a = a_{side} + a_{base}\)
พื้นที่ผิวทั้งหมดของทรงกระบอกคือผลรวมของพื้นที่ผิวด้านข้างและพื้นที่ฐานทั้งสองด้าน
ดังนั้น เมื่อทราบรัศมีของฐานและความสูงของทรงกระบอก เราสามารถคำนวณพื้นที่ผิวทั้งหมดได้โดยใช้สูตรนี้
โปรแกรม
import math
r = int(input('Please enter the radius:'))
h = int(input('Please enter the height:'))
a_side = 2 * math.pi * r * h
a_base = 2 * (math.pi * r ** 2)
a = a_side + a_base
a_paper = int(a * 1.10)
print(f'The area of the paper should be {a_paper}.')
คำอธิบายโปรแกรม
โปรแกรมเริ่มต้นด้วยการนำเข้าโมดูล
math
เพื่อใช้ค่า pi (\(\pi\)) ในการคำนวณรับค่ารัศมี (\(r\)) และความสูง (\(h\)) ของทรงกระบอกจากผู้ใช้:
ใช้
input()
เพื่อรับค่าและแปลงเป็นจำนวนเต็มด้วยint()
คำนวณพื้นที่ผิวด้านข้าง (\(a_{side}\)):
ใช้สูตร \(2\pi rh\)
a_side = 2 * math.pi * r * h
คำนวณพื้นที่ฐานทั้งสองด้าน (\(a_{base}\)):
ใช้สูตร \(2(\pi r^2)\)
a_base = 2 * (math.pi * r ** 2)
คำนวณพื้นที่ผิวทั้งหมด (\(a\)):
รวมพื้นที่ผิวด้านข้างและพื้นที่ฐาน
\(a = a_{side} + a_{base}\)
คำนวณพื้นที่กระดาษที่ต้องใช้ (\(a_{paper}\)):
เพิ่มพื้นที่อีก 10% (คูณด้วย 1.10) เพื่อให้มีพื้นที่เพียงพอสำหรับการห่อ
แปลงเป็นจำนวนเต็มด้วย
int()
a_paper = int(a * 1.10)
แสดงผลลัพธ์:
ใช้ f-string เพื่อแสดงค่า \(a_{paper}\) ในข้อความ
print(f'The area of the paper should be {a_paper}.')
โปรแกรมนี้คำนวณพื้นที่กระดาษที่ต้องใช้ในการห่อของขวัญทรงกระบอก โดยคำนึงถึงพื้นที่เผื่อเพิ่มสำหรับการห่อด้วย