X

SBT Tin học 10 Kết nối tri thức

Trò chơi đoán ngày trong tháng. An bảo Bình, cậu hãy nghĩ đến một ngày trong tháng


Trò chơi đoán ngày trong tháng.

Giải sách bài tập Tin học 10 Bài 4: Hệ nhị phân và dữ liệu số nguyên

Câu 4.9 trang 11 SBT Tin học 10: Trò chơi đoán ngày trong tháng.

An bảo Bình, cậu hãy nghĩ đến một ngày trong tháng, tớ hỏi đúng 5 câu, cậu chỉ được trả lời đúng hay sai là tớ biết ngày cậu nghĩ. Bình nghĩ số 25.

- An hỏi: số đó bé hơn 16? Bình bảo Sai, An ghi vào sổ tay số 1.

 - An hỏi: số đó bé hơn 24? Bình bảo Sai, An ghi vào sổ tay tiếp một số 1 nữa thành 11.

- An hỏi: số đó bé hơn 28? Bình bảo Đúng, An ghi vào sổ tay tiếp nhưng là số 0 thành 110. (Cứ nói sai là ghi 1, nói đúng là ghi 0). 

- An hỏi: Số đó bé hơn 26? Bình bảo Đúng, An ghi vào sổ tay tiếp số 0 thành 1100.

- An hỏi: Số đó bé hơn 25? Bình bảo Sai, An ghi vào sổ tay tiếp số 1 thành 11001 và bảo số cậu nghĩ là 25, đây này 11001 chẳng phải là 25 trong hệ thập phân sao. Bình không hiểu tại sao lại thế. Em có thể giải thích cho Bình được không?

Lời giải:

Cách hỏi của An nhằm xác định từng chữ số trong biểu diễn nhị phân của số.

- Xét các số nhị phân có 5 chữ số. Số nhỏ nhất là 00000 là 0(10) và lớn nhất là 11111 là 31(10).

- Một số nhị phân có biểu diễn d4d3d2d1d0 sẽ có giá trị là:

d4 × 16 + d3 × 8 + d2 × 4 + d1 ×2 + d0.

- Vì thế nếu một số nằm trong khoảng từ 0 đến 31 mà nhỏ hơn 16 thì d4 phải là 0, ngược lại sẽ là 1. Vì thế câu hỏi đầu tiên của An nhằm xác định d4. (d4 = 1 vì số đã nghĩ không nhỏ hơn 16).

- Đối với d3, cần xác định số còn lại sau khi trừ đi 16, là nhỏ hơn 8 hay ngược lại. Điều này tương đương với việc xác định số đó có nhỏ hơn 16 + 8 = 24 hay không. (d3 = 1 vì số đã nghĩ không nhỏ hơn 24).

- Đối với d2 cần xác định số còn lại sau khi trừ đi 16 + 8, là nhỏ hơn 4 hay ngược lại. Điều này tương đương với việc xác định số đó nhỏ hơn 16 + 8 +4 = 28 hay không. (d2 = 0 vì số đã nghĩ nhỏ hơn 28).

- Đối với d1 khi d2 đã bằng 0 thì số chỉ có dạng d4 × 16 + d3 × 8 + d1 × 2 + d0 thì câu hỏi tiếp theo cần xác định số còn lại sau khi trừ đi 16 + 8 là nhỏ hơn 2 hay ngược lại. Điều này tương đương với việc xác định số đó nhỏ hơn 26 hay không. (d1 = 0 vì số đã nghĩ nhỏ hơn 26).

- Còn với d0, do d1 = 0 nên lúc này số chỉ còn có dạng d4 × 16 + d3 × 8 + d0 thì câu hỏi tiếp theo cần xác định số còn lại sau khi trừ đi 16 + 8 là nhỏ hơn 1 hay ngược lại. Điều này tương đương với việc xác định số đó nhỏ hơn 25 hay không. (d0 = 1 vì số đã nghĩ không nhỏ hơn 25).

⇒ Vậy chúng ta đã xác định được biểu diễn nhị phân của số Bình nghĩ.

Xem thêm các bài giải sách bài tập Tin học lớp 10 Kết nối tri thức hay, ngắn gọn khác: