Giải VTH Tin học lớp 7 Bài 16: Thuật toán sắp xếp
Giải VTH Tin học 7 trang 76 Câu hỏi
Câu hỏi 16.1 trang 76 vở thực hành Tin lớp 7: Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách
A. Chọn phần tử có giá trị bé nhất đặt vào đầu danh sách.
B. Chọn phần tử có giá trị lớn nhất đặt vào đầu danh sách.
C. Hoán đổi nhiều lần các phần tử liền kề nếu giá trị của chúng không đúng thứ tự.
D. Chèn phần tử vào vị trí thích hợp để đảm bảo danh sách sắp xếp theo đúng thứ tự.
Gợi ý: Thuật toán sắp xếp nổi bọt sắp xếp danh sách, so sánh hai phần tử kề nhau, nếu phần tử nào không đúng thứ tự thì đổi chỗ.
Trả lời:
Đáp án đúng là: C
Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách hoán đổi nhiều lần các phần tử liền kề nếu giá trị của chúng không đúng thứ tự.
Câu hỏi 16.2 trang 76 vở thực hành Tin lớp 7: Em hãy viết vào vở cụ thể các bước của vòng lặp thứ 2, 3, 4 được mô tả trong hình 16.1.
Gợi ý: Thuật toán sắp xếp chọn sẽ lấy phần tử ở vị trí sắp xếp và so sánh với các phần tử còn lại chưa được sắp xếp, nếu thấy phần tử nào nhỏ hơn thì đổi chỗ với phần tử được chọn, duyệt đến khi hết dãy thì kết quả là phần tử tại vị trí được chọn sẽ là phần tử nhỏ nhất của dãy chưa sắp xếp.
Hết vòng lặp thứ nhất, phân tử nhỏ nhất được đưa vào vị trí đầu tiên .
Kết thúc vòng lặp thứ nhất là các dãy số 1, 4, 3, 5, 2
Vòng lặp Thứ hai: Bắt đầu từ vị trí thứ hai, so sánh phần tử ở vị trí thứ hai với phần tử ở vị trí thứ 3, nếu phần tử ở vị trí thứ 3 nhỏ hơn thì đổi chỗ, tiếp tục so sánh phần tử ở vị trí thứ hai với phần tử ở vị trí thứ tư, thứ năm nếu các phần tử đó nhỏ hơn phần tử đang ở vị trí thứ hai thì đổi chỗ. Cuối vòng lặp thứ hai, phần tử nhỏ thứ hai trong dãy ban đầu được đưa vào vị trí thứ hai.
Vòng lặp thứ ba và vòng lặp thứ tư em thực hiện tương tự.
Trả lời:
Câu hỏi 16.3 trang 77 vở thực hành Tin lớp 7: Chọn phương án đúng
Tại sao chúng ta chia bài toán thành những bài toán nhỏ hơn?
A. Để thay đổi đầu vào của bài toán.
B. Để thay đổi yêu cầu đầu ra của bài toán.
C. Để bài toán dễ giải quyết hơn.
D. Để bài toán khó giải quyết hơn.
Gợi ý: Việc chia một bài toán thành những bài toán nhỏ hơn giúp việc giải bài toán đó dễ dàng hơn đồng thời việc mô tả thuật toán dễ hiểu và dễ thực hiện hơn.
Trả lời:
Đáp án đúng là: C
Chia một bài toán thành những bài toán nhỏ hơn giúp thuật toán dễ hiểu và dễ thực hiện hơn.
Giải VTH Tin học 7 trang 77 Luyện tập
Luyện tập 16.4 trang 77 vở thực hành Tin lớp 7: Em hãy liệt kê các bước của thuật toán sắp xếp nổi bọt để sắp xếp các số 3, 2, 4, 1, 5, theo thứ tự tăng dần.
Gợi ý: Thuật toán sắp xếp nổi bọt sắp xếp một dãy, mỗi vòng lặp duyệt phần tử từ cuối dãy lên vị trí đầu tiên, so sánh hai phần tử liền kề nhau, nếu không đúng thứ tự thì đổi chỗ. Vậy phần tử đầu tiên được sắp xếp sẽ ở cuối dãy. Nếu yêu cầu sắp xếp theo chiều tăng dần, phần tử cuối dãy được sắp xếp sẽ có giá trị lớn nhất. Thuật toán nổi bọt trình bày trong SGK duyệt phần tử cuối dãy đến đầu dãy, nhưng ta có thể duyệt phần tử theo chiều nào cũng được, nếu duyệt phần tử từ đầu đến cuối dãy thì phần tử nhỏ nhất sẽ được sắp xếp đầu tiên và ở đầu dãy.
Trả lời:
Luyện tập 16.5 trang 78 vở thực hành Tin lớp 7: Em hãy liệt kê các bước của thuật toán sắp xếp chọn để sắp xếp các số 3, 2, 4, 1, 5 theo thứ tự tăng dần.
Gợi ý: Thuật toán sắp xếp chọn sắp xếp dãy theo thứ tự tăng dần sẽ lấy phần tử ở vị trí cần sắp xếp và so sánh với các phần tử còn lại chưa được sắp xếp nếu thấy phần tử nào nhỏ hơn thì đổi chỗ với phần tử ở vị trí cần sắp xếp. Mỗi vòng lặp duyệt từ phần tử ở vị trí cần sắp xếp đến cuối dãy, kết thúc vòng lặp tại vị trí cần sắp xếp sẽ là phần tử nhỏ nhất của dãy chưa sắp xếp. Khác với thuật toán nổi bọt là đổi vị trí của hai phần tử liền kề khi chúng không đúng thứ tự, thuật toán chọn so sánh phần tử ở vị trí sắp xếp với phần tử còn lại chưa sắp xếp và đổi chỗ nếu chúng không đúng thứ tự.
Trả lời:
Giải VTH Tin học 7 trang 78 Vận dụng
Vận dụng 16.6 trang 78 vở thực hành Tin lớp 7: Em hãy ghi lại kết quả điểm học tập môn Tin học của các bạn trong tổ. Thực hiện thuật toán sắp xếp chọn hoặc sắp xếp nổi bọt để sắp xếp điểm theo thứ tự giảm dần. Dựa trên kết quả sắp xếp, hãy cho biết danh sách tên các bạn tương ứng theo kết quả sắp xếp đó.
Hướng dẫn: Bảng điểm thường có dạng như bảng sau.
Em cần tách phần điểm thành các dãy số. Sau đó tiến hành sắp xếp dãy số này theo thứ tự giảm dần.
a) Các vòng lặp thực hiện thuật toán sắp xếp nổi bọt để sắp xếp điểm theo thứ tự giảm dần: Mỗi vòng lặp sẽ duyệt các phần tử từ cuối danh sách, so sánh với phần tử trước đó nếu phần tử trước nhỏ hơn thì đổi chỗ.
b) Các vòng lặp thực hiện thuật toán sắp xếp chọn để sắp xếp điểm theo thứ tự giảm dần: Mỗi vòng lặp sẽ duyệt phần tử từ vị trí cần sắp xếp đến cuối dãy, nếu phần tử nào lớn hơn sẽ đổi chỗ với phần tử tại vị trí cần sắp xếp. Sau đó mỗi vòng lặp phần tử lớn nhất trong khoảng từ vị trí sắp xếp đến cuối dãy sẽ được đưa vào vị trí sắp xếp.
Sau khi sắp xếp điểm theo thứ tự giảm dần em điền tên các bạn tương ứng với điểm để được bạn đã sắp xếp như sau:
Trả lời:
Các em tham khảo hướng dẫn bên trên và ví dụ minh họa sau để hoàn thành yêu cầu bài tập.
Bảng điểm
Sắp xếp:
Đầu ra:
Giải VTH Tin học 7 trang 80 Bổ sung
Bổ sung 16.7 trang 80 vở thực hành Tin lớp 7: Em sử dụng thuật toán sắp xếp chọn để sắp xếp hàng cho các bạn trong Hình 16.2 theo thứ tự từ thấp đến cao.
Gợi ý: Kết quả sắp xếp sẽ là Hoa, Nam, Tuyết, Hải, Hồng.
Mỗi vòng lặp sẽ duyệt từ bạn đứng ở vị trí cần sắp xếp đến cuối hàng, nếu bạn nào nhỏ hơn sẽ đổi chỗ với bạn tại vị trí cần sắp xếp. Sau mỗi vòng lặp bạn nhỏ nhất từ vị trí sắp xếp đến cuối hàng sẽ được di chuyển vào vị trí sắp xếp.
Ở vòng lặp lần thứ nhất, bạn Hoa sẽ được sắp xếp vào vị đầu tiên.
Ở vòng lặp thứ hai, bạn Nam sẽ được sắp xếp vào vị trí thứ hai.
Ở vòng lặp thứ ba, bạn Tuyết sẽ được sắp xếp vào vị trí thứ ba.
Ở vòng lặp thứ tư, bạn Hải sẽ được sắp xếp vào vị trí thứ tư, bạn Hồng sẽ ở vị trí cuối hàng.
Trả lời:
Vòng lặp thứ nhất: Bạn Nam sẽ đổi chỗ cho bạn Hoa. Kết thúc vòng lặp thứ nhất thứ tự sắp xếp sẽ là Hoa, Hải, Nam, Tuyết, Hồng.
Vòng lặp thứ hai: Bạn Hải sẽ đổi chỗ cho bạn Nam. Kết thúc vòng lặp thứ hai thứ tự sắp xếp sẽ là Hoa, Nam, Hải, Tuyết, Hồng.
Vòng lặp thứ ba: Bạn Hải sẽ đổi chỗ cho bạn Tuyết. Kết thúc vòng lặp thứ ba thứ tự sắp xếp sẽ là Hoa, Nam, Tuyết, Hải, Hồng.
Vòng lặp thứ tư: Bạn Hải và Hồng đều đã đúng vị trí. Kết thúc vòng lặp thứ tư thứ tự sắp xếp sẽ là Hoa, Nam, Tuyết, Hải, Hồng.
Thứ tự sau khi sắp xếp sẽ là: Hoa, Nam, Tuyết, Hải, Hồng.
Xem thêm các bài giải VTH Tin học lớp 7 Kết nối tri thức hay, chi tiết khác:
Bài 12: Định dạng đối tượng trên trang trình chiếu
Bài 13: Thực hành tổng hợp: Hoàn thiện bài trình chiếu
Bài 14: Thuật toán tìm kiếm tuần tự
Bài 15: Thuật toán tìm kiếm nhị phân
Bài 16: Thuật toán sắp xếp