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

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

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.

Quảng cáo

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ử.

Quảng cáo

Lời giải Chuyên đề Tin 11 Bài 5: Thực hành tổng hợp ứng dụng chia để trị hay, ngắn gọn khác:

Xem thêm lời giải bài tập Chuyên đề học tập Tin học 11 Cánh diều hay, ngắn gọn khác:

Săn SALE shopee Tết:

ĐỀ THI, GIÁO ÁN, SÁCH LUYỆN THI DÀNH CHO GIÁO VIÊN VÀ PHỤ HUYNH LỚP 11

Bộ giáo án, bài giảng powerpoint, đề thi, sách dành cho giáo viên và gia sư dành cho phụ huynh tại https://tailieugiaovien.com.vn/ . Hỗ trợ zalo VietJack Official

Tổng đài hỗ trợ đăng ký : 084 283 45 85

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.


Giải bài tập lớp 11 sách mới các môn học
Tài liệu giáo viên