Giải Chuyên đề Tin học 11 Bài 1: Kĩ thuật duyệt
Khởi động trang 49 Chuyên đề Tin học 11: Để 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.
Lời giải:
Đáp án B biểu diễn cho số 8.
1. Ý tưởng kĩ thuật duyệt
Hoạt động 1 trang 50 Chuyên đề Tin học 11: Cho biết phương trình x3 + 2x2 + 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
Lời giải:
Nghiệm của phương trình là: B. -1
2. Bài toán Chọn mua đồ dùng học tập
Hoạt động 2 trang 51 Chuyên đề Tin học 11: 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.
3. Các bước thực hiện kĩ thuật duyệt
Luyện tập 1 trang 52 Chuyên đề Tin học 11: 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.
Lời giả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 trang 53 Chuyên đề Tin học 11: Xét phương trình ax5 + 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.
Lời giả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 trang 54 Chuyên đề Tin học 11: 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à bi (cm), bạn nữ thứ j (0 ≤ j ≤ n – 1) có chiều cao là gj (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ố b0, b1, …bn-1 và g0, g1,…,gn-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.
Lời giả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 trang 54 Chuyên đề Tin học 11: 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.
Lời giả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.
Xem thêm lời giải bài tập Chuyên đề học tập Tin học lớp 11 Cánh diều hay, chi tiết khác:
Bài 5: Thực hành tổng hợp ứng dụng chia để trị
Bài 1: Kĩ thuật duyệt
Bài 2: Kĩ thuật quay lui
Bài 3: Thực hành kĩ thuật quay lui
Bài 4: Thực hành tổng hợp kĩ thuật duyệt