13.10. Cho sơ đồ khối thuật toán tính tiền phạt đối với hàng hoá quá hạn như Hình 13.2.a) Xác định...
Câu hỏi:
13.10. Cho sơ đồ khối thuật toán tính tiền phạt đối với hàng hoá quá hạn như Hình 13.2.
a) Xác định biến, hằng, biểu thức và kiểu dữ liệu tương ứng được sử dụng trong thuật toán.
b) Tạo chương trình Scratch thực hiện thuật toán.
Câu trả lời:
Người trả lời: GV. Đỗ Văn Việt
a) Cách làm:
- Để xác định biến, hằng, biểu thức và kiểu dữ liệu tương ứng được sử dụng trong thuật toán, ta cần lập điều kiện và tính toán theo các bước sau:
1. Biến:
- Ngày hiện tại (kiểu dữ liệu: ngày/tháng/năm)
- Ngày đến hạn (kiểu dữ liệu: ngày/tháng/năm)
2. Hằng số:
- Hằng số phạt (0,3)
- Đơn giá (kiểu dữ liệu: số nguyên, có giá trị cho trước bằng 10)
3. Biểu thức:
- Phạt = Hằng số phạt × Số ngày quá hạn × Đơn giá
b) Chương trình Scratch thực hiện thuật toán:
- Để tạo chương trình Scratch thực hiện thuật toán tính tiền phạt đối với hàng hoá quá hạn, cần thực hiện các bước sau:
1. Tạo script để nhập vào ngày hiện tại và ngày đến hạn.
2. Tính toán số ngày còn lại đến hạn.
3. Nếu số ngày còn lại âm, tính tiền phạt bằng cách sử dụng biểu thức đã xác định ở phần a).
4. Hiển thị số tiền phạt lên màn hình.
Đây là hướng dẫn tổng quát, bạn cần lập trình cụ thể từng bước để có thể thực hiện thuật toán trên chương trình Scratch.
Câu trả lời chi tiết và đầy đủ hơn:
a) Biến:
- Ngày hiện tại (dateToday: kiểu dữ liệu Date)
- Ngày đến hạn (dueDate: kiểu dữ liệu Date)
- Phạt (fine: kiểu dữ liệu số thực)
Hằng số:
- Hằng số phạt (penaltyRate: giá trị 0.3)
- Đơn giá (unitPrice: giá trị 10)
Biểu thức:
- Phạt = penaltyRate * (dueDate - dateToday).Days * unitPrice
b) Chương trình Scratch:
```
when flag clicked
ask "Nhập ngày hiện tại:" and wait
set dateToday to answer
ask "Nhập ngày đến hạn:" and wait
set dueDate to answer
if dueDate < dateToday then
set fine to penaltyRate * (dueDate - dateToday).Days * unitPrice
say "Số tiền phạt là: " & fine
else
say "Không phạt tiền"
end
```
Đây là cách giải câu hỏi về thuật toán tính tiền phạt đối với hàng hoá quá hạn và tạo chương trình Scratch thực hiện thuật toán. Cần lưu ý rằng việc lập trình cụ thể phụ thuộc vào quy tắc lập trình của Scratch và cách thực hiện thuật toán.
- Để xác định biến, hằng, biểu thức và kiểu dữ liệu tương ứng được sử dụng trong thuật toán, ta cần lập điều kiện và tính toán theo các bước sau:
1. Biến:
- Ngày hiện tại (kiểu dữ liệu: ngày/tháng/năm)
- Ngày đến hạn (kiểu dữ liệu: ngày/tháng/năm)
2. Hằng số:
- Hằng số phạt (0,3)
- Đơn giá (kiểu dữ liệu: số nguyên, có giá trị cho trước bằng 10)
3. Biểu thức:
- Phạt = Hằng số phạt × Số ngày quá hạn × Đơn giá
b) Chương trình Scratch thực hiện thuật toán:
- Để tạo chương trình Scratch thực hiện thuật toán tính tiền phạt đối với hàng hoá quá hạn, cần thực hiện các bước sau:
1. Tạo script để nhập vào ngày hiện tại và ngày đến hạn.
2. Tính toán số ngày còn lại đến hạn.
3. Nếu số ngày còn lại âm, tính tiền phạt bằng cách sử dụng biểu thức đã xác định ở phần a).
4. Hiển thị số tiền phạt lên màn hình.
Đây là hướng dẫn tổng quát, bạn cần lập trình cụ thể từng bước để có thể thực hiện thuật toán trên chương trình Scratch.
Câu trả lời chi tiết và đầy đủ hơn:
a) Biến:
- Ngày hiện tại (dateToday: kiểu dữ liệu Date)
- Ngày đến hạn (dueDate: kiểu dữ liệu Date)
- Phạt (fine: kiểu dữ liệu số thực)
Hằng số:
- Hằng số phạt (penaltyRate: giá trị 0.3)
- Đơn giá (unitPrice: giá trị 10)
Biểu thức:
- Phạt = penaltyRate * (dueDate - dateToday).Days * unitPrice
b) Chương trình Scratch:
```
when flag clicked
ask "Nhập ngày hiện tại:" and wait
set dateToday to answer
ask "Nhập ngày đến hạn:" and wait
set dueDate to answer
if dueDate < dateToday then
set fine to penaltyRate * (dueDate - dateToday).Days * unitPrice
say "Số tiền phạt là: " & fine
else
say "Không phạt tiền"
end
```
Đây là cách giải câu hỏi về thuật toán tính tiền phạt đối với hàng hoá quá hạn và tạo chương trình Scratch thực hiện thuật toán. Cần lưu ý rằng việc lập trình cụ thể phụ thuộc vào quy tắc lập trình của Scratch và cách thực hiện thuật toán.
Câu hỏi liên quan:
- 13.1. Biểu thức tính chỉ số BMI của cơ thể là Biểu thức này trả lại giá trị thuộc kiểu dữ liệu...
- 13.2. Hãy xác định kiểu dữ liệu kết quả của mỗi phép toán sau:a)b)c)d)
- 13.3. Giả sử Cân nặng và Chiều cao là hai biến lưu cân nặng (kg) và chiều cao (m) của một người. Em...
- 13.4. Bạn Khoa muốn tạo chương trình tính quãng đường đi của một phương tiện dựa trên vận tốc và...
- 13.5. Thực hành: Em hãy tạo chương trình Scratch tính quãng đường đi của một phương tiện dựa trên...
- 13.6. Cho sơ đồ thuật toán như minh hoạ ở Hình 13.1.a) Thuật toán giải quyết nhiệm vụ gì?b) Xác...
- 13.7. Hãy chọn khối lệnh đúng thực hiện thuật toán trong Hình 13.1.A.B.C.D.
- 13.8. Các biến được sử dụng trong Câu 13.6 là gì? Các biến này lưu trữ giá trị nào? Hãy cho các...
- 13.9. Biến Điểm được sử dụng trong một trò chơi. Khối lệnh sau đây thực hiện trò chơi:Khi chơi,...
Kiểu dữ liệu: daysLate và fine là kiểu số nguyên, finePerDay và totalFine là kiểu số thực.
Biểu thức: totalFine = daysLate * finePerDay
Hằng: giá tiền phạt mỗi ngày quá hạn (finePerDay)
a) Biến: số ngày quá hạn (daysLate), tiền phạt (fine)