TOÁN HỌC VỚI PYTHON¶
I. Phép toán số học cơ bản¶
1. Các phép toán cơ bản¶
Python hỗ trợ đầy đủ các phép toán số học cơ bản.
# Các phép toán cơ bản
a = 10
b = 3
print("a =", a, "b =", b)
print("Cộng:", a + b) # 13
print("Trừ:", a - b) # 7
print("Nhân:", a * b) # 30
print("Chia:", a / b) # 3.333...
print("Chia lấy phần nguyên:", a // b) # 3
print("Chia lấy dư:", a % b) # 1
print("Lũy thừa:", a ** b) # 1000
2. Phép chia và phép chia lấy dư¶
# Phép chia thường (/)
print("10 / 3 =", 10 / 3) # 3.333...
# Phép chia lấy phần nguyên (//)
print("10 // 3 =", 10 // 3) # 3
# Phép chia lấy dư (%)
print("10 % 3 =", 10 % 3) # 1
print("15 % 4 =", 15 % 4) # 3
3. Phép lũy thừa¶
# Lũy thừa với **
print("2^3 =", 2 ** 3) # 8
print("5^2 =", 5 ** 2) # 25
print("2^10 =", 2 ** 10) # 1024
II. Thư viện math¶
1. Import thư viện math¶
import math
# Các hằng số toán học
print("Pi =", math.pi) # 3.141592653589793
print("e =", math.e) # 2.718281828459045
2. Các hàm toán học cơ bản¶
import math
# Căn bậc hai
print("Căn bậc hai của 16:", math.sqrt(16)) # 4.0
# Làm tròn
print("Làm tròn 3.7:", round(3.7)) # 4
print("Làm tròn xuống 3.7:", math.floor(3.7)) # 3
print("Làm tròn lên 3.2:", math.ceil(3.2)) # 4
# Giá trị tuyệt đối
print("| -5 | =", abs(-5)) # 5
# Lũy thừa
print("2^3 =", math.pow(2, 3)) # 8.0
3. Hàm lượng giác¶
import math
# Các hàm lượng giác (tính bằng radian)
goc_rad = math.pi / 4 # 45 độ
print("sin(45°) =", math.sin(goc_rad))
print("cos(45°) =", math.cos(goc_rad))
print("tan(45°) =", math.tan(goc_rad))
# Chuyển đổi độ sang radian
goc_do = 30
goc_rad = math.radians(goc_do)
print(f"sin({goc_do}°) =", math.sin(goc_rad))
III. Tính toán thực tế¶
1. Tính diện tích hình học¶
import math
# Tính diện tích hình tròn
ban_kinh = 5
dien_tich_tron = math.pi * ban_kinh ** 2
print(f"Diện tích hình tròn (r={ban_kinh}): {dien_tich_tron:.2f}")
# Tính diện tích hình chữ nhật
chieu_dai = 10
chieu_rong = 5
dien_tich_chu_nhat = chieu_dai * chieu_rong
print(f"Diện tích hình chữ nhật: {dien_tich_chu_nhat}")
# Tính diện tích tam giác
canh_a = 6
canh_b = 8
canh_c = 10
# Công thức Heron
s = (canh_a + canh_b + canh_c) / 2
dien_tich_tam_giac = math.sqrt(s * (s - canh_a) * (s - canh_b) * (s - canh_c))
print(f"Diện tích tam giác: {dien_tich_tam_giac:.2f}")
2. Tính thể tích¶
import math
# Tính thể tích hình cầu
ban_kinh = 3
the_tich_cau = (4/3) * math.pi * ban_kinh ** 3
print(f"Thể tích hình cầu (r={ban_kinh}): {the_tich_cau:.2f}")
# Tính thể tích hình hộp chữ nhật
chieu_dai = 5
chieu_rong = 3
chieu_cao = 4
the_tich_hop = chieu_dai * chieu_rong * chieu_cao
print(f"Thể tích hình hộp: {the_tich_hop}")
3. Tính điểm trung bình và thống kê¶
# Tính điểm trung bình
diem_toan = 8.5
diem_van = 7.8
diem_anh = 9.2
diem_ly = 8.0
diem_hoa = 7.5
diem_trung_binh = (diem_toan + diem_van + diem_anh + diem_ly + diem_hoa) / 5
print(f"Điểm trung bình: {diem_trung_binh:.2f}")
# Làm tròn điểm
diem_lam_tron = round(diem_trung_binh, 1)
print(f"Điểm làm tròn: {diem_lam_tron}")
IV. Ví dụ minh họa¶
Ví dụ 1: Chương trình tính diện tích và chu vi hình tròn¶
import math
# Nhập bán kính
ban_kinh = float(input("Nhập bán kính hình tròn: "))
# Tính diện tích và chu vi
dien_tich = math.pi * ban_kinh ** 2
chu_vi = 2 * math.pi * ban_kinh
# In kết quả
print(f"Bán kính: {ban_kinh}")
print(f"Diện tích: {dien_tich:.2f}")
print(f"Chu vi: {chu_vi:.2f}")
Ví dụ 2: Chương trình tính điểm trung bình và xếp loại¶
# Nhập điểm các môn học
diem_toan = float(input("Nhập điểm Toán: "))
diem_van = float(input("Nhập điểm Văn: "))
diem_anh = float(input("Nhập điểm Anh: "))
# Tính điểm trung bình
diem_trung_binh = (diem_toan + diem_van + diem_anh) / 3
# Xếp loại
if diem_trung_binh >= 8.0:
xep_loai = "Giỏi"
elif diem_trung_binh >= 6.5:
xep_loai = "Khá"
elif diem_trung_binh >= 5.0:
xep_loai = "Trung bình"
else:
xep_loai = "Yếu"
print(f"Điểm trung bình: {diem_trung_binh:.2f}")
print(f"Xếp loại: {xep_loai}")
Ví dụ 3: Chương trình tính lãi suất ngân hàng¶
# Nhập thông tin
so_tien_goc = float(input("Nhập số tiền gốc: "))
lai_suat_nam = float(input("Nhập lãi suất năm (%): "))
so_nam = int(input("Nhập số năm gửi: "))
# Tính lãi suất tháng
lai_suat_thang = lai_suat_nam / 12 / 100
# Tính số tiền sau n năm
so_tien_sau = so_tien_goc * (1 + lai_suat_thang) ** (so_nam * 12)
# Tính lãi
tien_lai = so_tien_sau - so_tien_goc
print(f"Số tiền gốc: {so_tien_goc:,.0f} VNĐ")
print(f"Lãi suất năm: {lai_suat_nam}%")
print(f"Số năm gửi: {so_nam}")
print(f"Số tiền sau {so_nam} năm: {so_tien_sau:,.0f} VNĐ")
print(f"Tiền lãi: {tien_lai:,.0f} VNĐ")
V. Bài tập thực hành tại lớp¶
Bài 1: Tính diện tích và chu vi hình chữ nhật¶
Đề bài: Viết chương trình tính diện tích và chu vi hình chữ nhật.
💡 Phân tích đề
Các bước thực hiện:
- Nhập chiều dài và chiều rộng (float)
- Tính diện tích = chiều dài × chiều rộng
- Tính chu vi = 2 × (chiều dài + chiều rộng)
- In kết quả với định dạng rõ ràng
Input/Output mẫu:
Input | Tính toán | Output |
---|---|---|
dài = 5.0 |
S = 5.0 × 3.0 = 15.0 |
Diện tích: 15.0 |
rộng = 3.0 |
P = 2×(5.0+3.0) = 16.0 |
Chu vi: 16.0 |
💡 Gợi ý code
# Nhập kích thước
chieu_dai = float(input("Nhập chiều dài: "))
chieu_rong = float(input("Nhập chiều rộng: "))
# Tính toán
dien_tich = chieu_dai * chieu_rong
chu_vi = 2 * (chieu_dai + chieu_rong)
# In kết quả
print(f"Diện tích: {dien_tich}")
print(f"Chu vi: {chu_vi}")
Bài 2: Tính thể tích hình hộp chữ nhật¶
Đề bài: Viết chương trình tính thể tích hình hộp chữ nhật.
💡 Phân tích đề
Các bước thực hiện:
- Nhập 3 kích thước: chiều dài, chiều rộng, chiều cao (float)
- Tính thể tích = dài × rộng × cao
- In kết quả với định dạng phù hợp
Input/Output mẫu:
Input | Công thức | Output |
---|---|---|
dài = 4.0 |
V = 4.0×3.0×2.0 |
Thể tích: 24.0 |
rộng = 3.0, cao = 2.0 |
V = 24.0 |
💡 Gợi ý code
# Nhập kích thước
chieu_dai = float(input("Nhập chiều dài: "))
chieu_rong = float(input("Nhập chiều rộng: "))
chieu_cao = float(input("Nhập chiều cao: "))
# Tính thể tích
the_tich = chieu_dai * chieu_rong * chieu_cao
# In kết quả
print(f"Thể tích: {the_tich}")
Bài 3: Tính điểm trung bình 4 môn¶
Đề bài: Viết chương trình tính điểm trung bình của 4 môn học.
💡 Phân tích đề
Các bước thực hiện:
- Nhập điểm 4 môn học (float)
- Tính điểm trung bình = tổng 4 điểm ÷ 4
- Làm tròn kết quả 2 chữ số thập phân
- In điểm từng môn và điểm trung bình
Input/Output mẫu:
Môn học | Input | Tính toán | Output |
---|---|---|---|
4 môn | 8.5, 7.8, 9.0, 8.2 |
(8.5+7.8+9.0+8.2)/4 |
ĐTB: 8.38 |
Kết quả | = 33.5/4 = 8.375 |
Làm tròn: 8.38 |
💡 Gợi ý code
# Nhập điểm 4 môn
diem1 = float(input("Nhập điểm môn 1: "))
diem2 = float(input("Nhập điểm môn 2: "))
diem3 = float(input("Nhập điểm môn 3: "))
diem4 = float(input("Nhập điểm môn 4: "))
# Tính điểm trung bình
trung_binh = (diem1 + diem2 + diem3 + diem4) / 4
# In kết quả
print(f"Điểm trung bình: {trung_binh:.2f}")
VI. Bài tập về nhà¶
Bài 1: Tính diện tích và chu vi hình tròn¶
Đề bài: Viết chương trình tính diện tích và chu vi hình tròn.
💡 Phân tích đề
Các bước thực hiện:
- Import thư viện math để sử dụng π
- Nhập bán kính hình tròn (float)
- Tính diện tích = π × r²
- Tính chu vi = 2 × π × r
- In kết quả với định dạng 2 chữ số thập phân
Input/Output mẫu:
Input | Công thức | Output |
---|---|---|
r = 5.0 |
S = π×5² = 78.54 |
Diện tích: 78.54 |
P = 2×π×5 = 31.42 |
Chu vi: 31.42 |
Bài 2: Tính thể tích hình cầu¶
Đề bài: Viết chương trình tính thể tích hình cầu.
💡 Phân tích đề
Các bước thực hiện:
- Import thư viện math
- Nhập bán kính hình cầu (float)
- Tính thể tích = (4/3) × π × r³
- In kết quả với định dạng 2 chữ số thập phân
Input/Output mẫu:
Input | Công thức | Output |
---|---|---|
r = 3.0 |
V = (4/3)×π×3³ |
Thể tích: 113.10 |
V = (4/3)×π×27 = 113.10 |
Bài 3: Tính điểm trung bình và xếp loại¶
Đề bài: Viết chương trình tính điểm trung bình và xếp loại học lực.
💡 Phân tích đề
Các bước thực hiện:
- Nhập điểm 5 môn học (float)
- Tính điểm trung bình
- Xếp loại theo tiêu chí: ≥8.0 (Giỏi), ≥6.5 (Khá), ≥5.0 (TB), <5.0 (Yếu)
- In điểm trung bình và xếp loại
Input/Output mẫu:
Test Case | Input | ĐTB | Xếp loại |
---|---|---|---|
Case 1 | 8.5, 7.8, 9.0, 8.2, 8.0 |
8.30 |
Giỏi |
Case 2 | 6.0, 7.0, 6.5, 7.5, 6.0 |
6.60 |
Khá |
Case 3 | 5.0, 4.5, 5.5, 5.0, 5.0 |
5.00 |
Trung bình |
Bài 4: Tính lãi suất kép ngân hàng¶
Đề bài: Viết chương trình tính lãi suất kép cho tiết kiệm ngân hàng.
💡 Phân tích đề
Các bước thực hiện:
- Nhập số tiền gốc, lãi suất năm (%), số năm gửi
- Chuyển lãi suất năm thành lãi suất tháng (chia 12)
- Tính số tiền sau n năm = gốc × (1 + lãi_tháng)^(năm×12)
- Tính tiền lãi = số tiền sau - số tiền gốc
- In kết quả với định dạng có dấu phẩy ngăn cách
Input/Output mẫu:
Thông tin | Input | Tính toán | Output |
---|---|---|---|
Gốc | 100,000,000 VNĐ |
Tiền gốc: 100,000,000 |
|
Lãi suất | 6% năm = 0.5% tháng |
Lãi suất: 6%/năm |
|
Thời gian | 2 năm = 24 tháng |
(1.005)^24 = 1.127 |
Sau 2 năm: 112,700,000 |
Lãi | 112.7M - 100M = 12.7M |
Tiền lãi: 12,700,000 |
VII. Ghi chú quan trọng¶
1. Thứ tự ưu tiên phép toán¶
- Dấu ngoặc
()
- Lũy thừa
**
- Nhân, chia, chia lấy dư
*
,/
,//
,%
- Cộng, trừ
+
,-
2. Lưu ý khi sử dụng math¶
- Cần import thư viện math
- Các hàm lượng giác tính bằng radian
- Sử dụng
math.pi
thay vì 3.14
3. Làm tròn số¶
round()
: Làm tròn theo quy tắc toán họcmath.floor()
: Làm tròn xuốngmath.ceil()
: Làm tròn lên