Tin học 11 Bài 7: Lập trình giải bài toán tìm kiếm Tin học lớp 11 trang 117 sách Cánh diều

Giải bài tập SGK Tin học 11 trang 117, 118, 119, 120, 121 sách Cánh diều giúp các em học sinh lớp 11 xem gợi ý giải các câu hỏi Bài 7: Kiểu mảng và cấu trúc mảng thuộc Chủ đề Fcs: Giải quyết vấn đề với sự trợ giúp của máy tính (Giới thiệu nghề quản trị cơ sở dữ liệu).

Soạn Tin học 11 Cánh diều Bài 7 giúp các em học sinh hiểu được kiến thức về thuật toán nhị phân. Đồng thời, cũng giúp thầy cô tham khảo để soạn giáo án Tin học lớp 11 cho học sinh của mình theo chương trình mới.

Vận dụng Tin học 11 Bài 7

Viết chương trình tìm kiếm vị trí tên của một người trong mỗi danh sách sau đây:

a. Danh sách học sinh của lớp em.

b. Danh sách tên của các chủ tài khoản ngân hàng (kí tự không dấu) và đã sắp thứ tự theo bảng chữ cái.

Lời giải:

a) Gợi ý

Gán i = 0

Gán j = 0

Nếu A[j] > A[j + 1] thì đối chỗ A[j] và A[j + 1]

Nếu j < n – i – 1:

Đúng thì j = j + 1 và quay lại bước 3

Sai thì sang bước 5

Nếu i < n – 1:

Đúng thì i = i + 1 và quay lại bước 2

Sai thì dừng lại

b) Gợi ý:

#include

#include

int main() {

char s[4][20];

char t[20];

int i, j;

int size = 4;

printf("\nNhap 4 chuoi bat ky: \n");

for (i = 0; i < size; i++) {

scanf("%s", s[i]);

}

// sap xep chuoi

for (i = 1; i < size; i++) {

for (j = 1; j < size; j++) {

if (strcmp(s[j - 1], s[j]) > 0) {

strcpy(t, s[j - 1]);

strcpy(s[j - 1], s[j]);

strcpy(s[j], t);

}

}

}

printf("\nSap xep thu tu cua cac chuoi:");

for (i = 0; i < size; i++) {

printf("\n%s", s[i]);

}

return(0);

}

Câu hỏi tự kiểm tra Tin học 11 Bài 7 trang 120

Câu 1

Em hãy nêu ra một vài ví dụ về bài toàn tìm kiếm trong thực tế

Lời giải:

- Tìm kiếm sản phẩm trong cơ sở dữ liệu của một trang thương mại điện tử.

- Tìm kiếm thông tin liên hệ của một người trong danh sách khách hàng của một doanh nghiệp.

- Tìm kiếm một file hoặc thư mục trong hệ thống tệp của máy tính.

- Tìm kiếm các bản ghi trong cơ sở dữ liệu y tế để tìm kiếm bệnh nhân cần điều trị.

- Tìm kiếm các bản ghi trong cơ sở dữ liệu của một trang tuyển dụng để tìm kiếm ứng viên phù hợp.

Câu 2

Theo em, với dãy đã sắp thứ tự và cho một số x cụ thể

a) Trường hợp nào tìm kiếm tuần tự nhanh hơn tìm kiếm nhị phân?

b) Về trung bình thuật toán tìm kiếm tuần tự hay thuật toán tìm kiếm nhị phân tốt hơn?

Lời giải:

a. Ví dụ một bài toán tìm kiếm trong thực tế: Giáo viên muốn tìm tên bạn Chung trong danh sách lớp sau:

Các bước thực hiện thuật toán tìm kiếm nhị phân cho bài toán trên:

- Bước 1: Xét vị trí ở giữa dãy, đó là vị trí số 5

- Vì sau bước 2 đã tìm thấy tên học sinh nên thuật toán kết thúc.

b) Thuật toán tìm kiếm nhị phân

- Thuật toán tìm kiếm nhị phân thu hẹp được phạm vi tìm kiếm chỉ còn tối đa là một nửa sau mỗi lần lặp. Thuật toán chia bài toán thành những bài toán nhỏ hơn giúp tăng hiệu quả tìm kiếm.

Thuật toán tuần tự

- Mô tả thuật toán phải cụ thể, rõ ràng, đầy đủ, đầu vào là gì, đầu ra là gì và chỉ rõ sự kết thúc thuật toán.

- Cần mô tả thuật toán cho tốt thì người máy hay máy tính mới hiểu đúng và thực hiện được.

- Nếu không, kết quả thực hiện thuật toán có thể không như mong đợi.

Chia sẻ bởi: 👨 Trịnh Thị Thanh
Mời bạn đánh giá!
  • Lượt tải: 11
  • Lượt xem: 89
  • Dung lượng: 179,6 KB
Sắp xếp theo