Bài 16_ Thực hành

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Lê Thị Thu Hường
Ngày gửi: 09h:37' 04-10-2024
Dung lượng: 4.1 MB
Số lượt tải: 542
Nguồn:
Người gửi: Lê Thị Thu Hường
Ngày gửi: 09h:37' 04-10-2024
Dung lượng: 4.1 MB
Số lượt tải: 542
Số lượt thích:
0 người
CHỦ ĐỀ
5
Giải quyết vấn đề với sự trợ
giúp của máy tính
Bài 16. THỰC
HÀNH:
LẬP CHƯƠNG
TRÌNH MÁY
NHIỆM VỤ 1. TÍNH LƯƠNG
Yêu cầu
Theo thuật toán được mô tả ở Bài 15, em hãy lập chương trình tính và hiển thị
tiền lương của một nhân viên khi biết mức lương (tiền lương trong một giờ làm
việc) và số giờ làm việc trong tuần của họ bằng ngôn ngữ lập trình Scratch.
Hướng dẫn
a) Cài đặt thuật toán
Bước 1. Tạo các biến nhớ
– Biến đầu vào: muc_luong, tgian_ laodong.
– Biến đầu ra: tien_luong.
– Biến trung gian: tgian_dmuc, tgian_vuot, luong_dmuc, luong_vuot.
Bước 2. Mô tả lại thuật toán theo ngôn ngữ lập trình
Vì chương trình là bản mô tả thuật toán theo quy tắc của ngôn ngữ lập trình nên đôi khi em phải hiệu
chỉnh cách mô tả thuật toán để có thể cài đặt được bằng những công cụ của ngôn ngữ lập trình.
Bước nhập dữ liệu tgian_laodong sử dụng cấu trúc lặp với điều kiện sau (Hình 16.1a) cần phải
chuyển thành những câu lệnh sử dụng vòng lặp với điều kiện trước (Hình 16.1b) để phù hợp với cấu
trúc lặp có sẵn trong ngôn ngữ lập trình trực quan (Hình 16.1c).
Bước 3. Tạo chương trình
Nhận dạng các khối lệnh trong
Hình 16.2 tương ứng với từng phần
của sơ đồ khối đã được trình bày
trong Bài 15 (Hình 15.2) và lắp
ghép chúng lại theo đúng thứ tự.
Lưu ý: Hệ số 1,5 trong sơ đồ thuật
toán cần phải thay bằng 1.5 (sử
dụng dấu chấm thay cho dấu phẩy
ngăn cách phần nguyên và phần
thập phân) trong chương trình.
b) Gỡ lỗi
Lập các bộ dữ liệu kiểm thử chương trình (Bảng 16.1). Mỗi bộ đại diện cho một tình huống dữ
liệu để kiểm tra hoạt động của chương trình. Nếu chương trình hoạt động không đúng yêu cầu,
chương trình đã gặp lỗi, cần phải sửa.
– Với mỗi bộ giá trị đầu vào (từ tình huống 1 đến tình huống 4), chương trình cần trả lại đúng giá
trị đầu ra.
– Bộ giá trị ở tình huống 5 đại diện cho
trường hợp cần nhập lại dữ liệu như đã
được mô tả trong thuật toán.
– Bộ giá trị ở tình huống 6 cho thấy có
những giá trị đầu vào chưa hợp lí. Em
cần chỉnh sửa chương trình để có một
chương trình hoạt động tốt.
NHIỆM VỤ 2. TÌM
GIÁ TRỊ LỚN
NHẤT
Yêu cầu
Tìm và hiển thị giá trị lớn nhất của một dãy số nguyên dương được nhập vào từ bàn phím. Số lượng
các số trong dãy không được biết trước khi nhập dữ liệu, chỉ biết rằng quá trình nhập các số của dãy
sẽ kết thúc khi nhập vào số 0.
Hướng dẫn
a) Cài đặt thuật toán
Bước 1. Tạo các biến
– Biến đầu vào: x.
– Biến đầu ra: max.
Bước 2. Tạo chương trình
Nhận dạng các khối lệnh trong Hình 16.3 tương ứng với từng phần của sơ đồ khối đã được trình
bày trong bài trước và lắp ghép chúng lại theo đúng thứ tự.
b) Gỡ lỗi
Khi chạy chương trình, lần lượt nhập các số trong bộ dữ liệu kiểm thử (Bảng 16.2).
Cần nhập từng số và nhấn phím Enter trước khi nhập số tiếp theo cho đến khi kết thúc bằng
số 0.
Mặc dù bài toán yêu cầu đầu vào là những số nguyên dương nhưng chương trình sẽ tốt hơn
nếu phát hiện được và loại bỏ những dữ liệu không đúng yêu cầu.
– Với mỗi bộ giá trị đầu vào (từ tình huống 1 đến tình huống 4), chương trình cần trả lại đúng
giá trị đầu ra.
– Bộ giá trị ở tình huống 5 đại diện trường hợp không có số nguyên dương nào được nhập.
– Tình huống 6, 7 có những giá trị đầu vào không hợp lệ nhưng chương trình vẫn xử lí đúng.
– Bộ giá trị ở tình huống 8 cho thấy có những giá trị đầu vào không hợp lệ, dẫn đến kết quả
sai. Việc chỉnh sửa chương trình để có một chương trình hoạt động tốt trong tình huống này là
bài tập vận dụng.
LUYỆN
TẬP
Bộ giá trị ở tình huống 6 (Bảng 16.2) cho thấy có những giá trị
đầu vào chưa hợp lí. Em hãy chỉnh sửa chương trình để có một
chương trình hoạt động tốt.
VẬN
DỤNG
Ngôn ngữ
lập trình trực quan không phân biệt dữ liệu đầu vào là dạng số hay dạng chữ.
Vì vậy, chương trình được lập trong Nhiệm vụ 2 cho kết quả sai khi thực hiện với bộ dữ liệu ở tình
huống 8 (Bảng 16.2). Em hãy sửa chương trình để có thể xác thực dữ liệu và bỏ qua dữ liệu dạng
chữ trong bộ dữ liệu đầu vào.
5
Giải quyết vấn đề với sự trợ
giúp của máy tính
Bài 16. THỰC
HÀNH:
LẬP CHƯƠNG
TRÌNH MÁY
NHIỆM VỤ 1. TÍNH LƯƠNG
Yêu cầu
Theo thuật toán được mô tả ở Bài 15, em hãy lập chương trình tính và hiển thị
tiền lương của một nhân viên khi biết mức lương (tiền lương trong một giờ làm
việc) và số giờ làm việc trong tuần của họ bằng ngôn ngữ lập trình Scratch.
Hướng dẫn
a) Cài đặt thuật toán
Bước 1. Tạo các biến nhớ
– Biến đầu vào: muc_luong, tgian_ laodong.
– Biến đầu ra: tien_luong.
– Biến trung gian: tgian_dmuc, tgian_vuot, luong_dmuc, luong_vuot.
Bước 2. Mô tả lại thuật toán theo ngôn ngữ lập trình
Vì chương trình là bản mô tả thuật toán theo quy tắc của ngôn ngữ lập trình nên đôi khi em phải hiệu
chỉnh cách mô tả thuật toán để có thể cài đặt được bằng những công cụ của ngôn ngữ lập trình.
Bước nhập dữ liệu tgian_laodong sử dụng cấu trúc lặp với điều kiện sau (Hình 16.1a) cần phải
chuyển thành những câu lệnh sử dụng vòng lặp với điều kiện trước (Hình 16.1b) để phù hợp với cấu
trúc lặp có sẵn trong ngôn ngữ lập trình trực quan (Hình 16.1c).
Bước 3. Tạo chương trình
Nhận dạng các khối lệnh trong
Hình 16.2 tương ứng với từng phần
của sơ đồ khối đã được trình bày
trong Bài 15 (Hình 15.2) và lắp
ghép chúng lại theo đúng thứ tự.
Lưu ý: Hệ số 1,5 trong sơ đồ thuật
toán cần phải thay bằng 1.5 (sử
dụng dấu chấm thay cho dấu phẩy
ngăn cách phần nguyên và phần
thập phân) trong chương trình.
b) Gỡ lỗi
Lập các bộ dữ liệu kiểm thử chương trình (Bảng 16.1). Mỗi bộ đại diện cho một tình huống dữ
liệu để kiểm tra hoạt động của chương trình. Nếu chương trình hoạt động không đúng yêu cầu,
chương trình đã gặp lỗi, cần phải sửa.
– Với mỗi bộ giá trị đầu vào (từ tình huống 1 đến tình huống 4), chương trình cần trả lại đúng giá
trị đầu ra.
– Bộ giá trị ở tình huống 5 đại diện cho
trường hợp cần nhập lại dữ liệu như đã
được mô tả trong thuật toán.
– Bộ giá trị ở tình huống 6 cho thấy có
những giá trị đầu vào chưa hợp lí. Em
cần chỉnh sửa chương trình để có một
chương trình hoạt động tốt.
NHIỆM VỤ 2. TÌM
GIÁ TRỊ LỚN
NHẤT
Yêu cầu
Tìm và hiển thị giá trị lớn nhất của một dãy số nguyên dương được nhập vào từ bàn phím. Số lượng
các số trong dãy không được biết trước khi nhập dữ liệu, chỉ biết rằng quá trình nhập các số của dãy
sẽ kết thúc khi nhập vào số 0.
Hướng dẫn
a) Cài đặt thuật toán
Bước 1. Tạo các biến
– Biến đầu vào: x.
– Biến đầu ra: max.
Bước 2. Tạo chương trình
Nhận dạng các khối lệnh trong Hình 16.3 tương ứng với từng phần của sơ đồ khối đã được trình
bày trong bài trước và lắp ghép chúng lại theo đúng thứ tự.
b) Gỡ lỗi
Khi chạy chương trình, lần lượt nhập các số trong bộ dữ liệu kiểm thử (Bảng 16.2).
Cần nhập từng số và nhấn phím Enter trước khi nhập số tiếp theo cho đến khi kết thúc bằng
số 0.
Mặc dù bài toán yêu cầu đầu vào là những số nguyên dương nhưng chương trình sẽ tốt hơn
nếu phát hiện được và loại bỏ những dữ liệu không đúng yêu cầu.
– Với mỗi bộ giá trị đầu vào (từ tình huống 1 đến tình huống 4), chương trình cần trả lại đúng
giá trị đầu ra.
– Bộ giá trị ở tình huống 5 đại diện trường hợp không có số nguyên dương nào được nhập.
– Tình huống 6, 7 có những giá trị đầu vào không hợp lệ nhưng chương trình vẫn xử lí đúng.
– Bộ giá trị ở tình huống 8 cho thấy có những giá trị đầu vào không hợp lệ, dẫn đến kết quả
sai. Việc chỉnh sửa chương trình để có một chương trình hoạt động tốt trong tình huống này là
bài tập vận dụng.
LUYỆN
TẬP
Bộ giá trị ở tình huống 6 (Bảng 16.2) cho thấy có những giá trị
đầu vào chưa hợp lí. Em hãy chỉnh sửa chương trình để có một
chương trình hoạt động tốt.
VẬN
DỤNG
Ngôn ngữ
lập trình trực quan không phân biệt dữ liệu đầu vào là dạng số hay dạng chữ.
Vì vậy, chương trình được lập trong Nhiệm vụ 2 cho kết quả sai khi thực hiện với bộ dữ liệu ở tình
huống 8 (Bảng 16.2). Em hãy sửa chương trình để có thể xác thực dữ liệu và bỏ qua dữ liệu dạng
chữ trong bộ dữ liệu đầu vào.
 







Các ý kiến mới nhất