Skip to content

Trang Học trực tuyến

  • Môn Toán

Trang Học trực tuyến

  • Home » 
  • Tin học lớp 11

Giải Chuyên đề Tin học 11 Cánh diều Bài 5: Thực hành tổng hợp ứng dụng chia để trị

By admin 11/10/2023 0

Giải Chuyên đề Tin học 11 Bài 5: Thực hành tổng hợp ứng dụng chia để trị

Thực hành 1 trang 47 Chuyên đề Tin học 11: Áp dụng trực tiếp thuật toán sắp xếp trộn ở trên để mô tả chi tiết phương pháp chia để trị giải bài toán đếm số lượng nghịch thế ở trên.

Lời giải:

Khi chia mảng A thành hai mảng con T và P, số lượng nghịch thế từ những cặp phần tử mà một phần tử thuộc mảng T và một phần tử thuộc mảng P sẽ không thay đổi nếu ta sắp xếp các phần tử trong từng mảng T và P tăng dần. Nhận xét này giúp cho chúng ta có thể áp dụng trực tiếp các bước của thuật toán sắp xếp trộn ở trên như sau:

1. Chia: Sử dụng thuật toán chia của hàm Merge_sort(A).

2. Trị: Gọi đệ quy hàm Merge_sort(T)và Merge_sort(P) để giải từng bài toán con, đồng thời cập nhật kết quả đếm số lượng nghịch thế từng bài toán con vào một biến đếm.

3. Kết hợp: Sử dụng thuật toán trộn của hàm Merge(A), đồng thời cập nhật số lượng nghịch thế từ những cặp phần tử mà một phần tử thuộc mảng T và một phần tử thuộc mảng P, các phần tử trong hai mảng này đều đã được sắp xếp tăng dần.

Gợi ý: Trong hàm Merge(A), mỗi khi xảy ra điều kiện T[i]>P[j], nghĩa là các phần tử từ T[i+1] đến phần tử cuối cùng của mảng T đều lớn hơn P[j], số lượng nghịch thế cần được cập nhật thêm là len (T) −i, với len (T) là số lượng phần tử của mảng T.

Em hãy mô tả chi tiết kết quả từng bước trong các hướng dẫn 1, 2, 3 trên cho một trường hợp mảng số cụ thể, ví dụ thực hành trên mảng gồm 7 số có các giá trị lần lượt là 9, 44, 7, 2, 8, 17, 31.

Thực hành 2 trang 47 Chuyên đề Tin học 11: Viết chương trình nhập vào một số nguyên dương n và n giá trị A0,A1,…,An-1 đôi một khác nhau, đưa ra số lượng nghịch thế của mảng vừa nhập vào.

Lời giải:

Hướng dẫn: Sử dụng chương trình thuật toán sắp xếp trộn trong Bài 4 và phần hướng dẫn thuật toán trong Thực hành 1 để hoàn thiện chương trình cho bài toán này.

Kiểm thử chương trình:

Em hãy nhập vào một số ví dụ mảng đầu vào và đưa ra kết quả để kiểm thử chương trình có cho kết quả đúng hay không.

Nếu kết quả kiểm thử trên một số bộ dữ liệu bị sai thì in ra các giá trị trung gian trong chương trình để quan sát sự thay đổi theo từng bước của thuật toán.

Em hãy tạo một mảng đầu vào có kích thước lớn (n khoảng 1 triệu phần tử) và được sắp xếp giảm dần. Từ đó thử chạy chương trình với mảng đầu vào đó.

Bảng 1 là một số ví dụ thử nghiệm, em hãy tự tạo các ví dụ thử nghiệm khác.

Chuyên đề Tin học 11 Cánh diều Bài 5: Thực hành tổng hợp ứng dụng chia để trị | Khoa học máy tính 11

Thực hành 3 trang 48 Chuyên đề Tin học 11: Viết chương trình thực hiện thuật toán đơn giản bằng vòng lặp để đếm số lượng nghịch thế. Tiếp theo, em hãy đếm số bước thực hiện bởi thuật toán này so với thuật toán chia để trị ở trên trong một số ví dụ cụ thể.

Lời giải:

Bước 1. Cài đặt thuật toán đơn giản sử dụng hai vòng lặp lồng nhau duyệt qua tất cả các cặp hai phần tử của mảng dãy số để kiểm tra xem từng cặp hai phần tử có phải là nghịch thế hay không. Đồng thời thêm các biến đếm đặt trong vòng lặp thứ để tính số bước thực hiện của chương trình.

Bước 2. Bổ sung các biến đếm vào vị trí thích hợp trong hàm đệ quy của chương trình trong bài Thực hành 2 để tính số bước thực hiện của chương trình.

Vận dụng trang 48 Chuyên đề Tin học 11: Cho một mảng A gồm n phần tử A0, A1,…An-1, hai phân tử bất kì có thể bằng nhau. Hãy tính số lượng những cặp hai phân tử mà không phải là nghịch thể trong mảng.

a) Vận dụng bài Thực hành 1 ở trên để mô tả chi tiết phương pháp chia để trị cho bài toán này.

b) Viết chương trình nhập vào giá trị n và n giá trị A0, A1, …, An-1, đưa ra số lượng các cặp không phải là nghịch thể trong mảng A.

c) Tạo các bộ dữ liệu thử nghiệm để kiểm thử chương trình.

Lời giải:

a) Hướng dẫn: Sử dụng chương trình thuật toán sắp xếp trộn trong Bài 4 và phần hướng dẫn thuật toán trong Thực hành 1 đề hoàn thiện chương trình cho bài toán này.

Kiểm thử chương trình:

Em hãy nhập vào một số ví dụ mảng đầu vào và đưa ra kết quả để kiểm thử chương trình có cho kết quả đúng hay không. Nếu kết quả kiểm thử trên một số bộ dữ liệu bị sai thì in ra các giá trị trung gian trong chương trình để quan sát sự thay đổi theo từng bước của thuật toán. Em hãy tạo một mảng đầu vào có kích thước lớn (khoảng 1 triệu phần tử) và được sắp xếp giảm dần. Từ đó thử chạy chương trình với mảng đầu vào đó.

b) void nhap(int a[], int &n);

void interchangesort(int a[], int n);
void swap(int &x, int &y);
void xuat(int a[],int n);
int main()
{
int a[1000],n,k;
nhap(a,n);
int pos[1000];
for (int i = 0; i < n; ++i)
pos = i;
interchangesort(a,n);
xuat(a,n);
cin>>k;
for (int i = 0; i <k; ++i)
cout<< pos;
}
void nhap(int a[], int &n)
{
cin>>n;
for(int i=0;i<n;i++)
cin>>a;
}
void interchangesort(int a[], int n)
{
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(a<a[j])
swap(a,a[j]);
}
void swap(int &x, int &y)
{
int t =x;
x=y;
y=t;
}
void xuat(int a[],int n)
{
for(int i=0;i<n;i++)
cout<<a<<” “;
}

c) Gợi ý:

Để tạo ra những bộ test data khác nhau, bạn có thể sử dụng nhiều tool khác nhau để tạo ra chúng. ví dụ: Test data được tạo bởi GSApps có thể được sử dụng để tạo ra các data thông minh trong hầu hết các cơ sở dữ liệu hoặc tập tin văn bản. Nó cho phép người sử dụng để:

Hoàn thành test ứng dụng bởi quá trình nhân bản cơ sở dữ liệu với dữ liệu thông minh.

Tạo dữ liệu industry-specific có thể dùng để chứng minh.

Bảo vệ dữ liệu riêng bằng cách tạo ra bản sao của dữ liệu và có ẩn các giá trị.

Đẩy nhanh quá trình tạo dữ liệu và kiểm thử.

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 4: Kĩ thuật chia để trị trong thuật toán sắp xếp trộn

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

Share
facebookShare on FacebooktwitterShare on TwitteremailShare on Email
Post navigation
Previous post

Bộ 7 Đề thi Giữa học kì 1 Tiếng Anh lớp 11 Đà Nẵng năm 2023

Next post

15 câu Trắc nghiệm Địa Lí 11 Bài 6 (Chân trời sáng tạo) có đáp án: Một số vấn đề về an ninh toàn cầu

Bài liên quan:

Giải SBT Tin học 11 Kết nối tri thức | Sách bài tập Tin học 11 Kết nối tri thức (hay, chi tiết)

Giải sgk Tin học 11 (KNTT, CD) | Giải bài tập Tin học 11 (hay, chi tiết) | Giải Tin 11 (sách mới)

Giải sgk Tin học 11 Kết nối tri thức | Giải bài tập Tin học 11 KNTT (hay, ngắn gọn) | Soạn Tin 11 KNTT

Giải SGK Tin học 11 Bài 4 (Kết nối tri thức): Bên trong máy tính

Giải SGK Tin học 11 Bài 5 (Kết nối tri thức): Kết nối máy tính với các thiết bị số

Giải SGK Tin học 11 Bài 6 (Kết nối tri thức): Lưu trữ và chia sẻ tệp tin trên internet

Giải SGK Tin học 11 Bài 7 (Kết nối tri thức): Thực hành tìm kiếm thông tin trên Internet

Giải SGK Tin học 11 Bài 8 (Kết nối tri thức): Thực hành nâng cao sử dụng thư điện tử và mạng xã hội

Leave a Comment Hủy

Mục lục

  1. Giải SBT Tin học 11 Kết nối tri thức | Sách bài tập Tin học 11 Kết nối tri thức (hay, chi tiết)
  2. Giải sgk Tin học 11 (KNTT, CD) | Giải bài tập Tin học 11 (hay, chi tiết) | Giải Tin 11 (sách mới)
  3. Giải sgk Tin học 11 Kết nối tri thức | Giải bài tập Tin học 11 KNTT (hay, ngắn gọn) | Soạn Tin 11 KNTT
  4. Giải SGK Tin học 11 Bài 4 (Kết nối tri thức): Bên trong máy tính
  5. Giải SGK Tin học 11 Bài 5 (Kết nối tri thức): Kết nối máy tính với các thiết bị số
  6. Giải SGK Tin học 11 Bài 6 (Kết nối tri thức): Lưu trữ và chia sẻ tệp tin trên internet
  7. Giải SGK Tin học 11 Bài 7 (Kết nối tri thức): Thực hành tìm kiếm thông tin trên Internet
  8. Giải SGK Tin học 11 Bài 8 (Kết nối tri thức): Thực hành nâng cao sử dụng thư điện tử và mạng xã hội
  9. Giải SGK Tin học 11 Bài 9 (Kết nối tri thức): Giao tiếp an toàn trên internet
  10. Giải SGK Tin học 11 Bài 10 (Kết nối tri thức): Lưu trữ dữ liệu và khai thác thông tin phục vụ quản lí
  11. Giải SGK Tin học 11 Bài 11 (Kết nối tri thức): Cơ sở dữ liệu
  12. Giải SGK Tin học 11 Bài 12 (Kết nối tri thức): Hệ quản trị cơ sở dữ liệu và hệ cơ sở dữ liệu
  13. Giải SGK Tin học 11 Bài 13 (Kết nối tri thức): Cơ sở dữ liệu quan hệ
  14. Giải SGK Tin học 11 Bài 14 (Kết nối tri thức): SQL – Ngôn ngữ truy vấn có cấu trúc
  15. Giải SGK Tin học 11 Bài 15 (Kết nối tri thức): Bảo mật và an toàn hệ cơ sở dữ liệu
  16. Giải SGK Tin học 11 Bài 16 (Kết nối tri thức): Công việc quản trị cơ sở dữ liệu
  17. Giải SGK Tin học 11 Bài 17 (Kết nối tri thức): Dữ liệu mảng một chiều và hai chiều
  18. Giải SGK Tin học 11 Bài 18 (Kết nối tri thức): Thực hành dữ liệu mảng một chiều và hai chiều
  19. Giải SGK Tin học 11 Bài 19 (Kết nối tri thức): Bài toán tìm kiếm
  20. Giải SGK Tin học 11 Bài 20 (Kết nối tri thức): Thực hành bài toán tìm kiếm
  21. Giải SGK Tin học 11 Bài 21 (Kết nối tri thức): Các thuật toán sắp xếp đơn giản
  22. Giải SGK Tin học 11 Bài 22 (Kết nối tri thức): Thực hành bài toán sắp xếp
  23. Giải SGK Tin học 11 Bài 23 (Kết nối tri thức): Kiểm thử và đánh giá chương trình
  24. Giải SGK Tin học 11 Bài 24 (Kết nối tri thức): Đánh giá độ phức tạp thời gian thuật toán
  25. Giải SGK Tin học 11 Bài 25 (Kết nối tri thức): Thực hành xác định độ phức tạp thời gian thuật toán
  26. Giải SGK Tin học 11 Bài 26 (Kết nối tri thức): Phương pháp làm mịn dần trong thiết kế chương trình
  27. Giải SGK Tin học 11 Bài 27 (Kết nối tri thức): Thực hành thiết kế chương trình theo phương pháp làm mịn dần
  28. Giải SGK Tin học 11 Bài 28 (Kết nối tri thức): Thiết kế chương trình theo mô đun
  29. Giải SGK Tin học 11 Bài 29 (Kết nối tri thức): Thực hành thiết kế chương trình theo mô đun
  30. Giải SGK Tin học 11 Bài 30 (Kết nối tri thức): Thiết lập thư viện cho chương trình
  31. Giải SGK Tin học 11 Bài 31 (Kết nối tri thức): Thực hành thiết lập thư viện chương trình
  32. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 5: Thực hành thiết kế thuật toán theo kĩ thuật đệ quy
  33. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 4: Tháp Hà Nội
  34. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
  35. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 2: Thiết kế thuật toán đệ quy
  36. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 1: Đệ quy và hàm đệ quy
  37. Chuyên đề Tin học 11 Kết nối tri thức | Giải Chuyên đề học tập Tin học 11 KNTT (hay, ngắn gọn)
  38. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 10: Thực hành giải toán bằng kĩ thuật chia để trị
  39. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 9: Sắp xếp trộn
  40. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 8: Thực hành thiết thuật toán tìm kiếm theo kĩ thuật chia để trị
  41. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 7: Thiết kế thuật toán theo kĩ thuật chia để trị
  42. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 6: Ý tưởng và kĩ thuật chia để trị
  43. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 16: Thực hành thiết kế thuật toán theo kĩ thuật quay lui
  44. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 15: Bài toán xếp hậu
  45. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 14: Thực hành kĩ thuật duyệt quay lui
  46. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 13: Kĩ thuật duyệt quay lui
  47. Giải Chuyên đề Tin học 11 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
  48. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 11: Bài toán tìm kiếm theo kĩ thuật duyệt
  49. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 5: Thiết kế sản phẩm trang trí hoàn chỉnh
  50. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 4: Chỉnh sửa, ghép nối, kết nối các đối tượng đồ họa
  51. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 3: Làm việc với đối tượng đường
  52. Giải Chuyên đề Tin học 11 Kết nối tri thức Bài 2: Làm việc với đối tượng hình khối

Copyright © 2025 Trang Học trực tuyến
  • Sach toan
  • Giới thiệu
  • LOP 12
  • Liên hệ
  • Sitemap
  • Chính sách
Back to Top
Menu
  • Môn Toán