Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm

Tải giáo án điện tử Chuyên đề học tập Tin học 11 - Khoa học máy tính (kết nối tri thức) Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm. Bộ giáo án chuyên đề được thiết kế sinh động, đẹp mắt. Thao tác tải về đơn giản, dễ dàng sử dụng và chỉnh sửa. Thầy, cô kéo xuống để xem chi tiết.

Xem: => Giáo án tin học 11 theo định hướng khoa học máy tính kết nối tri thức

Click vào ảnh dưới đây để xem 1 phần giáo án rõ nét

Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm
Giáo án điện tử chuyên đề Khoa học máy tính 11 kết nối Bài 12: Thực hành kĩ thuật duyệt cho bài toán tìm kiếm

Xem toàn bộ: Giáo án điện tử chuyên đề Tin học 11 - Khoa học máy tính Kết nối tri thức

XIN CHÀO MỪNG CÁC EM

ĐẾN VỚI BÀI HỌC MỚI!

 

KHỞI ĐỘNG

Có lẽ em đã biết đến tính năng liệt kê danh sách bạn chung giữa những người dùng khác nhau để đề xuất kết bạn của Facebook. Nếu cần lập danh sách bạn chung của em và của một bạn khác trên Facebook thì em sẽ làm như thế nào?

 

BÀI 12. THỰC HÀNH KĨ THUẬT DUYỆT CHO BÀI TOÁN TÌM KIẾM

 

NHIỆM VỤ 1

 

Cho tên các tài khoản Facebook và danh sách bạn bè của tài khoản Facebook đó được lưu trong tệp. Mỗi dòng bao gồm tên tài khoản Facebook được ngăn cách với tên bạn bè bằng dấu hai chấm, tên bạn bè được ngăn cách nhau bởi dấu phẩy như sau:

Viết chương trình đọc dữ liệu danh sách bạn bè từ tệp, sau đó cho phép người dùng nhập tên hai tài khoản Facebook từ bàn phím và in ra số bạn chung của hai tài khoản đó.

 

Hướng dẫn thực hiện

1

Xác định danh sách bạn bè của hai tài khoản Facebook đó.

2

Xác định số phần tử chung của hai danh sách vừa tìm được ở bước 1.

Có thể thực hiện bằng cách duyệt từng phần tử trong một danh sách xem phần tử này có xuất hiện trong danh sách còn lại hay không.

 

1 def banchung(A,B): #tính số phần tử chun có trong 2 danh sách

2 kq = 0

3 for i in range(len(A)):

4 if A[i] in B:

5 kq= kq + 1

6 return kq

7

8 input_file = open(“ban_fb.inp”,encoding = “utf-8”)

9 ten_fb=[]

10 ban_fb=[]

11 for line in input_file.readlines():

12 ten, ban=line.split(“:”)

 

13 ten_fb.append(ten)

14 ban = ban.strip().split(“,”)

15 for i in range(len(ban)):

16 ban[i] = ban[i].strip()

17 ban_fb.append(ban)

18 input_string = input(“Nhập tên 2 tài khoản Facebook cần kiểm tra:”)

19 ten1,ten2 = input_string.split()

20 index1= index2 = -1

21 for i in range(0,len(ten_fb)): #tìm vị trí của tài khoản thứ nhất trong danh sách

22 if ten1==ten_fb[i]:

index1 = i

23 for i in range(0,len(ten_fb)): #tìm vị trí của tài khoản thứ hai trong danh sách

 

24 if ten2==ten_fb[i]:

25 index2 = i

26 if (index1==-1) or (index2==-1)

27 print(“Không tồn tại tài khoản cần tìm trong danh sách”

28 else:

29 print(“Số bạn chung của cả hai tài khoản Facebook là:”, banchung(ban_fb[index1],ban_fb[index2]))

 

NHIỆM VỤ 2

 

Cho trước tên các tài khoản Facebook và danh sách nhóm mà tài khoản đó tham gia, được lưu trong tệp. Mỗi dòng bao gồm tên tài khoản Facebook được ngăn cách với tên các nhóm bằng dấu hai chấm, tên các nhóm được ngăn cách nhau bởi dấu phẩy như sau:

Viết chương trình gợi ý kết bạn cho các tài khoản Facebook để gợi ý các bạn có cùng sở thích với tài khoản này. Hai tài khoản được coi là có chung sở thích nếu tham gia ít nhất 3 nhóm chung. In ra màn hình danh sách kết bạn đề xuất cho từng tài khoản.

 

Hướng dẫn thực hiện

1 def nhomchung(A,B): #Tính số phần tử chung có trong hai danh sách

2 kq = 0

3 for i in range(len(A)):

4 if A[i] in B:

5 kq= kq + 1

6 return kq

7

8 input_file = open(“group_fb.inp”, encoding = “utf-8”)

9 ten_fb=[]

10 group_fb=[]

11 for line in input_file.readlines():

 

12 ten, group=line.split(“:”)

13 ten_fb.append(ten)

14 group = group.strip().split(“,”)

15 for i in range(len(group)):

16 group[i] = group[i].strip()

17 group_fb.append(group)

18 print(“Danh sách đề xuất kết bạn cho các tài khoản như sau:”)

19 for i in range(len(ten_fb)):

20 dexuat=[]

21 for j in range(len(ten_fb)):

22 if i! = j: #Không đề xuất kết bạn với chính mình

23 if nhomchung(group_fb[i], group_fb[j] >=3:

24 dexuat.append(ten_fb[j])

25 print(“Đề xuất kết bạn cho”, ten_fb[i], “là”, dexuat)

 

LUYỆN TẬP

Sửa chương trình trong Nhiệm vụ 1 để in ra được danh sách bạn chung của hai tài khoản.

Để in ra danh sách bạn chung của hai tài khoản, trong hàm tính số bạn chung của hai tài khoản, ngoài số bạn chung, chúng ta cần trả về thêm một mảng chứa danh sách bạn chung của hai tài khoản đó. Chương trình trong Nhiệm vụ 1 có thể được sửa lại như sau:

 

1 def banchung (A,B): #tính số phần tử chung có trong hai danh sách

2 kq = 0

3 banchung=[]

4 for i in range(len(A)):

5 if A[i] in B:

6 kq = kq+1

7 banchung.append(A[i])

8 return kq,banchung

9 kq, ban_list = banchung(ban_fb[index1],ban_fb[index2])

10 print(“Số bạn chung của hai tài khoản facebook là: “, kq,ban_list)

 

Sau khi tìm được hai tài khoản Facebook cần kiểm tra, chúng ta có thể sử dụng hàm tính số bạn chung như sau:

9 kq, ban_list = banchung(ban_fb[index1],ban_fb[index2])

10 print(“Số bạn chung của hai tài khoản facebook là: “, kq,ban_list)

 

VẬN DỤNG

  • Bài 1. Trong bài toán đề xuất danh sách kết bạn, không tìm thấy đối tượng phù hợp cho hai bạn Hà, Hùng. Hãy viết chương trình tìm nhóm gợi ý cho một bạn bất kì (được nhập vào từ bàn phím). Nhóm được gợi ý là nhóm các bạn này chưa tham gia và đang có nhiều thành viên nhất.
  • Bài 2. Viết chương trình để tìm ra hai bạn có nhiều bạn chung nhất, hai bạn có nhiều nhóm chung nhất.

 

Bài 1

Để giải quyết được bài toán này, chúng ta phải lần lượt thực hiện các bước sau:

  • Thống kê được danh sách các nhóm.
  • Viết chương trình tính số thành viên hiện có trong nhóm.
  • Sau khi nhập tên người dùng cần gợi ý, duyệt lần lượt các nhóm có trong danh sách nhóm, kiểm tra xem người dùng đã có trong nhóm hay chưa. Trong các nhóm người dùng chưa tham gia, tìm ra nhóm hiện đang có nhiều thành viên nhất.

 

Bài toán này có thể được thực hiện như sau:

1 def member(ten_fb,group_fb,group): #tính số thành viên trong group

2 kq = 0

3 for i in range(len(ten_fb)):

4 if group in group_fb[i]:

5 Kq = kq + 1

6 return kq

7

8 input_file = open(“group_fb.inp”, encoding=“utf8”)

9 ten_fb=[]

10 group_fb=[]

 

11 for line in input_file.readlines():

12 ten, group_line.split(“:”)

13

14 group=group.strip().split(“:”)

15 for i in range(len(group)):

16 group[i]=group[i].strip()

17 group_fb.append(group)

18 all_group = [] #Danh sách các nhóm

19 for i in range(0,len(group_fb)):

20 for j in range(0,len(group_fb[i])):

21 if group_fb[i][j] not in all_group:

22 all_group.append(group_fb[i][j])

23

 

--------------- Còn tiếp ---------------

 

Trên chỉ là 1 phần của giáo án. Giáo án khi tải về có đầy đủ nội dung của bài. Đủ nội dung của học kì I + học kì II

Hệ thống có đầy đủ các tài liệu:

  • Giáo án word (350k)
  • Giáo án Powerpoint (400k)
  • Trắc nghiệm theo cấu trúc mới (200k)
  • Đề thi cấu trúc mới: ma trận, đáp án, thang điểm..(200k)
  • Phiếu trắc nghiệm câu trả lời ngắn (200k)
  • Trắc nghiệm đúng sai (250k)
  • Lý thuyết bài học và kiến thức trọng tâm (200k)
  • File word giải bài tập sgk (150k)
  • Phiếu bài tập để học sinh luyện kiến thức (200k)

Nâng cấp lên VIP đê tải tất cả ở tài liệu trên

  • Phí nâng cấp VIP: 800k

=> Chỉ gửi 450k. Tải về dùng thực tế. Nếu hài lòng, 1 ngày sau mới gửi phí còn lại

Cách nâng cấp:

  • Bước 1: Chuyển phí vào STK: 1214136868686 - cty Fidutech - MB(QR)
  • Bước 2: Nhắn tin tới Zalo Fidutech - nhấn vào đây để thông báo và nhận tài liệu

Xem toàn bộ: Giáo án điện tử chuyên đề Tin học 11 - Khoa học máy tính Kết nối tri thức

ĐẦY ĐỦ GIÁO ÁN CÁC BỘ SÁCH KHÁC

GIÁO ÁN WORD LỚP 11 KẾT NỐI TRI THỨC

 

GIÁO ÁN POWERPOINT LỚP 11 KẾT NỐI TRI THỨC

GIÁO ÁN CHUYÊN ĐỀ LỚP 11 KẾT NỐI TRI THỨC

GIÁO ÁN DẠY THÊM 11 KẾT NỐI TRI THỨC

CÁCH ĐẶT MUA:

Liên hệ Zalo: Fidutech - nhấn vào đây

Tài liệu giảng dạy

Xem thêm các bài khác

Chat hỗ trợ
Chat ngay