Khởi động: Để bảo mật thông tin khi trao đổi, một nhóm bạn đã thống nhất mã hoá các số nguyên dương bằng các thanh ngang và chấm tròn, trong đó mỗi thanh ngang có giá trị là 1, mỗi chấm tròn có giá trị là 3. Em hãy cho biết đáp án nào sau đây biểu diễn cho số 8.
Hướng dẫn trả lời:
Đáp án B biểu diễn cho số 8.
Hoạt động 1: Cho biết phương trình $x^{3} + 2x^{2} + x - 2 = 0$ chỉ có một nghiệm nguyên duy nhất, nghiệm đó là một trong các trường hợp dưới đây. Em hãy cho biết đâu là nghiệm nguyên của phương trình, giải thích cách làm và trình bày ưu nhược điểm của cách làm đó.
A. 1 B. -1 C. 2 D. -2
Hướng dẫn trả lời:
Nghiệm của phương trình là: B. -1
Hoạt động 2: Em hãy tìm hiểu chương trình viết trên ngôn ngữ lập trình Python (Hình 3) giải bài toán trên, soạn thảo và chạy với các bộ dữ liệu thử nghiệm trong Bảng 1.
Lời giải:
Nhập tên đồ dùng học tập (đặt điều kiện mỗi vật dụng), xuất ra màn hình đồ dùng cần mua và không cần mua.
Luyện tập 1 : Chương trình trong Hình 4 giải bài toán Chọn mua hai đồ dùng học tập. Em hãy cho biết dấu ? cần được thay bằng gì để chương trình chạy đúng. Em hãy soạn thảo, hoàn thiện chương trình và chạy với các bộ dữ liệu thử nghiệm trong Bảng 2.
Bảng 2. Một số bộ dữ liệu thử nghiệm cho Câu 1 (Luyện tập)
SỐ THỨ TỰ | DỮ LIỆU VÀO | KẾT QUẢ RA |
1 |
5 200 60 110 100 70 90 5 9 7 7 8 | Chọn mua đồ dùng số 1 và 4 |
2 | 5 160 60 110 100 70 90 5 9 9 7 8
| Chọn mua đồ dùng số 3 và 4 |
3 | 5 120 60 110 100 70 90 5 9 7 7 8
| Không có hai đồ dùng học tập nào có tổng giá trị nhỏ hơn hoặc bằng 120 |
Hướng dẫn trả lời:
Nhập chương trình như hình và xem kết quả xuất ra màn hình
Luyện tập 2: Xét phương trình ax$^{5}$ + bx + c = 0 với a, b, c là các hằng số nguyên khác 0 có giá trị tuyệt đối không vượt quá 106. Theo lược đồ Hoocne, nghiệm nguyên của đa thức sẽ là ước của c. Em hãy lập trình nhập vào ba số nguyên a, b, c. Sau đó, lập trình tìm tất cả các nghiệm nguyên của phương trình và chạy với các bộ dữ liệu thử nghiệm trong Bảng 3.
Bảng 3. Một số bộ dữ liệu thử nghiệm cho Câu 2 (Luyện tập)
SỐ THỨ TỰ | DỮ LIỆU VÀO | KẾT QUẢ RA |
1 |
1 1 2 | Phương trình có các nghiệm nguyên là: -1 |
2 | 1 1 -2
| Phương trình có các nghiệm nguyên là: 1 |
3 | 1 -15 -2
| Phương trình có các nghiệm nguyên là: 2 |
Hướng dẫn trả lời:
a = int(input("nhập hệ số a : "))
b = int(input("nhập hệ số b : "))
c = int(input("nhập hệ số c : "))
a1 = int(input("nhập hệ số a' : "))
b1 = int(input("nhập hệ số b' : "))
c1 = int(input("nhập hệ số c' : "))
if ((a/a1) == (b/b1)) and ((b/b1) == (c/c1)) : print("phương trình có vô số nghiệm")
if ((a/a1) == (b/b1)) and ((b/b1) != (c/c1)) : print("phương trình vô nghiệm")
if (a/a1) != (b/b1) :
print("phương trình có một nghiệm duy nhất")
y = (a * c1 - a1 * c) / (-a1 * b + a * b1)
x = (c - b * y) / a
print("x = ", x ,", y = ", y)
Vận dụng: Một lớp học nhảy có bạn nam và bạn nữ. Bạn nam thứ i (0 ≤ i ≤ n - 1) có chiều cao là b$_{i}$ (cm), bạn nữ thứ j (0 ≤ j ≤ n - 1) có chiều cao là g$_{j}$ (cm). Trong một buổi học, thầy giáo muốn chọn ra một đôi nhảy gồm một bạn nam và một bạn nữ để trình diễn mà bạn nam cao hơn bạn nữ và chênh lệch độ cao của hai bạn là nhỏ nhất. Em hãy lập trình nhập vào hai dãy số $b_{0}, b_{1}, ...b_{n-1}$ và $g_{0}, g_{1},…,g_{n-1}$, đưa ra hai số tương ứng là chiều cao của bạn nam và bạn nữ được chọn. Sau đó, chạy chương trình với các bộ dữ liệu trong Bảng 4.
Bảng 4. Một số bộ dữ liệu thử nghiệm cho Vận dụng
SỐ THỨ TỰ | DỮ LIỆU VÀO | KẾT QUẢ RA |
1 |
180 173 175 167 173 169 | 175 173 |
2 |
180 173 175 170 167 173 169 170
| 170 169 |
3 | 170 175 180 185 165 168 171 173
| 175 173 |
Hướng dẫn trả lời:
Để nhập vào 2 số nguyên a, b mỗi số trên 1 dòng trong Python ta dùng lệnh:b=int(input())b=float(input())
n = int(input("Nhập số nguyên dương n = "))
d = dict()
for i in range(1, n + 1):
d[i] = i * i
print (d)
Câu hỏi tự kiểm tra: Trong những câu sau đây, câu nào đúng khi nói về kĩ thuật duyệt?
a) Kĩ thuật duyệt chỉ cần thử một số trường hợp trong các trường hợp có thể xảy ra là xác định được nghiệm của bài toán.
b) Kĩ thuật duyệt sẽ xét tất cả các trường hợp có thể xảy ra để xác định được nghiệm của bài toán.
c) Kĩ thuật duyệt không đảm bảo tìm được nghiệm đúng.
d) Kĩ thuật duyệt chạy rất nhanh trong mọi trường hợp.
Hướng dẫn trả lời:
b) Kĩ thuật duyệt sẽ xét tất cả các trường hợp có thể xảy ra để xác định được nghiệm của bài toán.