Chuyên đề học tập Tin học 12

Giải Vận dụng 2 trang 63 Chuyên đề Tin học 12

Bài 10. Thực hành sử dụng phần mềm tính xác suất   Đã kiểm chéo

Đề bài

Kết hợp các hàm RAND, INT tạo 5 số nguyên ngẫu nhiên trong đoạn [10, 16].

Lời giải

Phân tích yêu cầu

Ta cần tạo các số nguyên ngẫu nhiên nằm trong đoạn $[10, 16]$, tức là các giá trị nguyên có thể nhận: $10, 11, 12, 13, 14, 15, 16$ (gồm $7$ giá trị).

a) Nhắc lại công thức tổng quát

- Hàm `RAND()` trả về một số thực ngẫu nhiên thuộc nửa khoảng $[0; 1)$.
- Để có số nguyên ngẫu nhiên trong đoạn $[a; b]$, ta dùng công thức:

$$\text{=INT(RAND()}\ast(b-a+1))+a$$

Giải thích: `RAND()*(b−a+1)` cho số thực trong $[0;\ b-a+1)$; hàm `INT` lấy phần nguyên nên được một trong các số nguyên $0, 1, \dots, (b-a)$; cộng thêm $a$ ta dời về đoạn $[a; b]$.

b) Thay số cho đoạn [10, 16]

Với $a = 10$ và $b = 16$ thì $b - a + 1 = 16 - 10 + 1 = 7$. Do đó công thức là:

$$\text{=INT(RAND()}\ast 7)+10$$

c) Tạo 5 số ngẫu nhiên

Nhập công thức trên vào ô A1, rồi sao chép (kéo thả nút điền) xuống các ô A2, A3, A4, A5:

| Ô | Công thức |
|---|-----------|
| A1 | `=INT(RAND()*7)+10` |
| A2 | `=INT(RAND()*7)+10` |
| A3 | `=INT(RAND()*7)+10` |
| A4 | `=INT(RAND()*7)+10` |
| A5 | `=INT(RAND()*7)+10` |

d) Kiểm tra lại

- `RAND()` $\in [0; 1)$ nên `RAND()*7` $\in [0; 7)$.
- `INT(RAND()*7)` nhận một trong các số nguyên $0, 1, 2, 3, 4, 5, 6$.
- Cộng $10$: kết quả nhận một trong các số $10, 11, 12, 13, 14, 15, 16$ — đúng đoạn $[10; 16]$.

Mỗi lần bảng tính tính lại (nhấn phím F9) sẽ cho một bộ 5 số nguyên ngẫu nhiên mới trong đoạn này. Ví dụ một kết quả có thể thu được: $12,\ 16,\ 10,\ 13,\ 15$.

Đáp số

Công thức tại mỗi ô (A1:A5): =INT(RAND()*7)+10

Lời giải do Thư viện nhà trường biên soạn, giải và kiểm chéo độc lập theo SGK 2026-2027.