Năm 2112, nước ta đã trở thành một cường quốc kinh tế nhưng giá điện…
Chào các em học sinh lớp 8 thân mến! Với tư cách là giáo viên hướng dẫn môn Tin học, thầy rất vui khi thấy các em bắt đầu làm quen với việc giải quyết các bài toán thực tế thông qua tư duy lập trình. Bài toán tính tiền điện này là một dạng bài tập kinh điển về cấu trúc rẽ nhánh (if-else hoặc if-elif-else).
Để giải quyết bài toán này, chúng ta cần chia số điện x thành các “khoảng” và tính toán lũy tiến. Dưới đây là hướng dẫn chi tiết cách tư duy và thuật toán để các em có thể viết chương trình:
Phân tích bài toán:
Chúng ta chia số điện x thành 4 bậc như sau:
- Bậc 1: 100 kWh đầu tiên, giá 2.000 VNĐ.
- Bậc 2: 100 kWh tiếp theo (từ 101 đến 200), giá 3.000 VNĐ.
- Bậc 3: 100 kWh tiếp theo (từ 201 đến 300), giá 5.000 VNĐ.
- Bậc 4: Phần còn lại (trên 300), giá 10.000 VNĐ.
Cách tính tiền điện:
Tùy vào giá trị của x, chúng ta sẽ có các trường hợp cụ thể:
- Nếu x nhỏ hơn hoặc bằng 100: Số tiền = x nhân 2.000.
- Nếu x từ 101 đến 200: Số tiền = (100 nhân 2.000) cộng với (x trừ 100) nhân 3.000.
- Nếu x từ 201 đến 300: Số tiền = (100 nhân 2.000) cộng (100 nhân 3.000) cộng (x trừ 200) nhân 5.000.
- Nếu x trên 300: Số tiền = (100 nhân 2.000) cộng (100 nhân 3.000) cộng (100 nhân 5.000) cộng (x trừ 300) nhân 10.000.
Gợi ý thuật toán (Pseudo-code):
Các em có thể sử dụng cấu trúc điều kiện để viết mã lệnh như sau:
Bước 1: Nhập vào số x.
Bước 2: Nếu x nhỏ hơn hoặc bằng 100, kết quả = x * 2000.
Bước 3: Ngược lại nếu x nhỏ hơn hoặc bằng 200, kết quả = 200000 + (x – 100) * 3000.
Bước 4: Ngược lại nếu x nhỏ hơn hoặc bằng 300, kết quả = 200000 + 300000 + (x – 200) * 5000.
Bước 5: Nếu x lớn hơn 300, kết quả = 200000 + 300000 + 500000 + (x – 300) * 10000.
Bước 6: In ra kết quả.
Lưu ý dành cho các em:
Khi lập trình, hãy chú ý kiểu dữ liệu của biến. Vì số tiền có thể rất lớn (với x lên đến 100.000), các em cần đảm bảo biến chứa kết quả đủ lớn để không bị tràn số (overflow). Trong Python, điều này thường được tự động xử lý, nhưng nếu dùng các ngôn ngữ khác như C++, các em hãy nhớ dùng kiểu dữ liệu số nguyên lớn nhé!
Chúc các em hoàn thành bài tập thật tốt và hiểu rõ bản chất của việc phân nhánh trong lập trình!
a=int(input("Nhập số kWh điện"))
if x<=100:
t=x*2000
elif x<=200:
t=100*2000+(x-100)*3000
elif x<=300:
t=100*2000+100*3000+(x-200)*5000
else:
t=100*2000+100*3000+100*5000+(x-300)*10000
print(t)
x=int(input())
if x<=100:
tien=x*2000
elif x<=200:
tien=100*2000+(x-100)*3000
elif x<=300:
tien=100*2000+100*3000+(x-200)*5000
else:
tien=100*2000+100*3000+100*5000+(x-300)*10000
print(tien)

Trợ Lý Xưởng In Thiên Nam
Add comment