Bài 14: Thực Hành Kĩ Thuật Duyệt Quay Lui | Chuyên đề học tập Tin học 11 (Định hướng khoa học máy tính) | Chuyên Đề 3: Thực Hành Thiết Kế Thuật Toán Theo Kĩ Thuật Duyệt - Lớp 11 - Kết Nối Tri Thức Với Cuộc Sống

Chuyên đề học tập Tin học 11 - Bài 14: Thực Hành Kĩ Thuật Duyệt Quay Lui - Sử dụng kĩ thuật quay lui giải bài toán in ra tất cả các dạng mạch đơn của ADN và sinh ra các câu văn từ tập hợp từ vựng.

Nội Dung Chính

  1. NHIỆM VỤ 1
  2. NHIỆM VỤ 2

(Trang 61)

Sau bài này em sẽ:

  • Biết cách sử dụng kĩ thuật duyệt quay lui giải quyết một số bài toán phù hợp với kĩ thuật này và cài đặt thuật toán.

hinh-anh-bai-14-thuc-hanh-ki-thuat-duyet-quay-lui-13830-0

Theo em kĩ thuật duyệt quay lui thường được áp dụng cho những loại bài toán nào? Em có thể nêu ra một vài ví dụ không?

NHIỆM VỤ 1

Phân tích chuỗi ADN gồm chuỗi các nucleotit thuộc bốn dạng A, T, G, và X. Viết chương trình in ra tất cả các dạng mạch đơn của một đoạn phân tử ADN với chiều dài gồm n nucleotit, trong đó n được người dùng nhập từ bàn phím. Lưu ý đo sự bùng nổ của tổ hợp, chỉ nên kiểm thử chương trình với số n nhỏ hơn 10.

Hướng dẫn:

Phân tích:

Bài toán là tổng quát của bài toán sinh các dãy nhị phân mà chúng ta đã biết. Điểm khác biệt là cần sinh tổ hợp của 4 phần tử "A", "T", "G", "X". Chúng ta định nghĩa dictDNA là xấu nhị phân "ATGX" lưu các kí tự từ điển DNA.

Chúng ta sẽ thiết lập hàm sinh các dãy nucleotit này theo kĩ thuật quay lui, kết quả lưu trong dãy A. Dãy A ban đầu được khởi tạo bao gồm n kí tự rỗng. Hàm sinh dãy nucleotit là genDNASection(A, k) có tính năng sinh các phần tử tại vị trí thứ k.

Chương trình 1:

1 # Hàm trìinh đệ quy sinh các chuỗi ADN

2 def genDNASection(A,k):

 if k == n:

4     print(A)

5   else:

6     for i in range(4):

7       A[k] = i

8       genDNASection(A,k+1)

10  #Chương trình chính

11 n = int(input("Hãy nhập độ dài đoạn ADN:"))

12 dictDNA = "ATGX"

13 A = [''] * n

14 genDNASection(A,0)

Giải thích:

– Tại dòng 13, khởi tạo mảng biểu diễn chuỗi ADN gồm n kí tự rỗng, rồi gọi hàm đệ quy ở dòng 14.

(Trang 62)

Trong hàm genDNASection, tham số k thể hiện vị trí nucleotit đã được thiết lập. Nếu k bằng chiều dài n thì đã hoàn thành 1 nghiệm bài toán (là chuỗi ADN gồm n nucleotit). Kiến chương trình sẽ in ra ở dòng 4. Nếu k < n thì lần lượt gán phần tử thứ k dòng A với 4 loại nucleotit (ATGX) và gọi đệ quy hàm genDNASection để sinh phần tử tiếp theo.

NHIỆM VỤ 2

Một câu trong các ngôn ngữ tự nhiên được xây dựng bằng cách sắp xếp các từ vựng lại với nhau. Xét trường hợp đơn giản: cho một tập hợp từ vựng, hãy viết chương trình sinh ra các câu văn gồm tất cả các từ đó, mỗi từ chỉ xuất hiện một lần.

Hướng dẫn:

Phân tích: Chúng ta có thể giải quyết bài toán sinh ra các câu văn ở trên bằng cách bắt đầu với một câu gồm tất cả các từ đã cho trong từ điển, sau đó thực hiện duyệt quay lui để hoán vị tất cả các vị trí của các từ.

Chương trình 2:

1 # Định nghĩa hàm đệ quy duyệt quay lui sinh ra các câu

2def genSentence(words, dictionary, k):

3   if k == len(dictionary):

4     sentence = ''.join(words) # Sinh câu từ danh sách từ vựng

5     print(sentence)

6   else:

7     for w in dictionary:

8       if not w in words:

9         words.append(w)

10         genSentence(words, dictionary, k + 1)

11        words.pop()

Chương trình chính sẽ chạy như sau:

1 dictionary = ["tôi", "quyết", "bạn"]
2 words = []
3 genSentence(words, dictionary, 0)

hinh-anh-bai-14-thuc-hanh-ki-thuat-duyet-quay-lui-13830-1

LUYỆN TẬP

1. Sửa lại chương trình trong Nhiệm vụ 1 với yêu cầu thay đổi là cần in ra kết quả là các xấu kí tự chỉ bao gồm các kí tự "A", "T", "G", "X".

2. Trong Nhiệm vụ 2, động tác "quay lui" nằm ở đâu? Việc hoán vị được thực hiện như thế nào?

hinh-anh-bai-14-thuc-hanh-ki-thuat-duyet-quay-lui-13830-2

VẬN DỤNG

1. Viết chương trình sử dụng kĩ thuật duyệt quay lui để kiểm tra xem một biểu thức có hợp lệ về sử dụng các dấu ngoặc đơn hay không.

2. Viết chương trình in ra tất cả các hoán vị của tập hợp S = {1, 2, ..., n} với n được nhập từ bàn phím.

3. Cho các hệ số ak, ak-1, ..., a1, a0, hãy viết chương trình sinh tất cả các đa thức bậc k có thể thành lập từ các hệ số trên, mỗi hệ số sử dụng một lần. Mỗi vị dụ của đa thức trên là akxk + ak-1xk-1 + ... + a1x + a0.

Tin tức mới


Đánh giá

Bài 14: Thực Hành Kĩ Thuật Duyệt Quay Lui | Chuyên đề học tập Tin học 11 (Định hướng khoa học máy tính) | Chuyên Đề 3: Thực Hành Thiết Kế Thuật Toán Theo Kĩ Thuật Duyệt - Lớp 11 - Kết Nối Tri Thức Với Cuộc Sống

Tổng số sao của bài viết là: 5 trong 1 đánh giá
Xếp hạng: 5 / 5 sao

Bình Luận

Để Lại Bình Luận Của Bạn

Tin tức mới

Môn Học Lớp 11 - Kết Nối Tri Thức Với Cuộc Sống

Chuyên đề học tập Mĩ thuật 11

Chuyên đề học tập Toán 11

Chuyên đề học tập Ngữ văn 11

Chuyên đề học tập Vật lí 11

Chuyên đề học tập Hóa học 11

Chuyên đề học tập Sinh học 11

Chuyên đề học tập Giáo dục Kinh tế và Pháp luật 11

Chuyên đề học tập Lịch Sử 11

Chuyên đề học tập Địa lí 11

Chuyên đề học tập Âm nhạc 11

Toán tập 1

Chuyên đề học tập Công nghệ 11 (Công nghệ Cơ khí)

Chuyên đề học tập Công nghệ 11 (Công nghệ chăn nuôi)

Chuyên đề học tập Tin học 11 (Định hướng tin học ứng dụng)

Chuyên đề học tập Tin học 11 (Định hướng khoa học máy tính)

Toán tập 2

Vật lí

Hoá Học

Sinh Học

Ngữ Văn Tập 1

Ngữ Văn Tập 2

Lịch sử

Địa Lý

Công Nghệ

Công Nghệ Công Nghệ Cơ Khí

Giáo Dục Quốc Phòng Và An Ninh 11

Giáo dục Kinh Tế và Pháp Luật

GDTC_Cầu Lông

Giáo dục Thể Chất Bóng Chuyền

GDTC Bóng Đá

Âm Nhạc

Hoạt động trải nghiệm hướng nghiệp

GDTC_Bóng Rổ

Mỹ Thuật Điêu Khắc

Mỹ Thuật Đồ Hoạ_Tranh in

Mỹ Thuật Hội Hoạ

Mỹ Thuật Kiến Trúc

Mỹ Thuật Thiết Kế Công Nghiệp

Tin Học

Mỹ Thuật Thiết Kế Đa Phương Tiện

Tin học 11 - Định hướng khoa học máy tính

Mỹ Thuật Thiết Kế Đồ Hoạ

Mỹ Thuật Thiết Kế Sân Khấu Điện Ảnh

Mỹ Thuật Thiết Kế Thời Trang

Mỹ Thuật_Lý Luận Và Lịch Sử Mỹ Thuật

Giải bài tập Toán 11 Tập 1

Giải bài tập Toán 11 Tập 2

Giải bài tập Vật lý 11

Giải bài tập Hóa học 11

Giải bài tập Sinh học 11

Bộ Sách Lớp 11

Giáo Dục Việt Nam

Bộ Sách Giáo Khoa của Nhà Xuất Bản Giáo Dục Việt Nam

Tài liệu học tập

Đây là tài liệu tham khảo hỗ trợ trong quá trình học tập

Global Success & Bộ Giáo Dục - Đào Tạo

Bộ sách Global Success & Bộ Giáo Dục - Đào Tạo là sự kết hợp giữa ngôn ngữ Tiếng Anh theo lối giảng dạy truyền thống và cập nhật những phương thức quốc tế

Cánh Diều

Bộ sách giáo khoa của Nhà xuất bản Cánh Diều

Kết Nối Tri Thức Với Cuộc Sống

Sách giáo khoa của nhà xuất bản Kết Nối Tri Thức Với Cuộc Sống

Sách Kết Nối Tri Thức Với Cuộc Sống

Lớp 1

Sách giáo khoa dành cho lớp 1

Lớp 6

Sách giáo khoa dành cho lớp 6

Lớp 5

Sách giáo khoa dành cho lớp 5

Lớp 4

Sách giáo khoa dành cho lớp 4

Lớp 2

Sách giáo khoa dành cho lớp 2

Lớp 3

Sách giáo khoa dành cho lớp 3

Lớp 7

Sách giáo khoa dành cho lớp 7

Lớp 8

Sách giáo khoa dành cho lớp 8

Lớp 9

Sách giáo khoa dành cho lớp 9

Lớp 10

Sách giáo khoa dành cho lớp 10

Lớp 11

Sách giáo khoa dành cho lớp 11

Lớp 12

Sách giáo khoa dành cho lớp 12

Liên Kết Chia Sẻ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.