Tin học 11 Bài 22: Thực hành bài toán sắp xếp

Tin học 11 Bài 22: Thực hành bài toán sắp xếp

Giải bài tập SGK Tin học 11 trang 104, 105 sách Kết nối tri thức với cuộc sống giúp các em học sinh lớp 11 xem gợi ý giải các câu hỏi Bài 22: Thực hành bài toán sắp xếp thuộc Chủ đề 6: Kỹ thuật lập trình.

Bạn đang đọc: Tin học 11 Bài 22: Thực hành bài toán sắp xếp

Soạn Tin học 11 Kết nối tri thức Bài 22 giúp các bạn học sinh nắm được kiến thức về cách thực hành các thuật toán trong tin học. Đồng thời qua tài liệu này giúp giáo viên nhanh chóng xây dựng hoàn thiện giáo án dạy học của mình. Vậy sau đây là nội dung chi tiết bài soạn Tin học 11 Bài 22: Thực hành bài toán sắp xếp mời các bạn cùng theo dõi.

Tin học 11 Bài 22: Thực hành bài toán sắp xếp

    Luyện tập Tin học 11 Bài 22

    Câu 1

    Sử dụng thuật toán sắp xếp chọn viết lại chương trình trong Nhiệm vụ 1.

    Gợi ý đáp án

    def selection_sort(arr):

    for i in range(len(arr) – 1):

    min_idx = i

    for j in range(i + 1, len(arr)):

    if arr[j]

    min_idx = j

    arr[i], arr[min_idx] = arr[min_idx], arr[i]

    # Đọc dữ liệu từ file kho.inp

    with open(‘kho.inp’, ‘r’) as file:

    lines = file.readlines()

    quantities = [int(line.strip()) for line in lines]

    # Sắp xếp danh sách số lượng các mặt hàng theo thứ tự tăng dần

    selection_sort(quantities)

    # In danh sách số lượng các mặt hàng đã được sắp xếp ra màn hình

    print(“Danh sách số lượng các mặt hàng sau khi sắp xếp:”)

    for quantity in quantities:

    print(quantity)

    Câu 2

    Sử dụng thuật toán sắp xếp nổi bọt viết lại chương trình trong Nhiệm vụ 2.

    Gợi ý đáp án

    def bubble_sort(arr):

    n = len(arr)

    for i in range(n – 1):

    for j in range(0, n – i – 1):

    if arr[j]

    arr[j], arr[j + 1] = arr[j + 1], arr[j]

    # Đọc dữ liệu từ file diem.inp

    with open(‘diem.inp’, ‘r’) as file:

    lines = file.readlines()

    scores = [float(line.strip()) for line in lines]

    # Sắp xếp danh sách điểm trung bình giảm dần

    bubble_sort(scores)

    # In danh sách điểm trung bình đã được sắp xếp ra màn hình

    print(“Danh sách điểm trung bình giảm dần:”)

    for score in scores:

    print(score)

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

    Vận dụng trang 105 Tin học 11: Một người đi mua hàng với danh sách các mặt hàng cần mua, đơn giá từng mặt hàng và số lượng hàng cần mua được lưu trong tệp văn bản muahang.inp. Hãy sử dụng thuật toán nỗi bọt để sắp xếp các mặt hàng theo thứ tự thành tiền của các mặt hàng tăng dần rồi in ra tên các mặt hàng và thành tiền tương ứng.

    Gợi ý đáp án

    # Đọc dữ liệu từ file muahang.inp

    with open(‘muahang.inp’, ‘r’) as file:

    lines = file.readlines()

    mat_hangs = []

    for line in lines:

    data = line.strip().split(‘,’)

    ten = data[0]

    don_gia = float(data[1])

    so_luong = int(data[2])

    thanh_tien = don_gia * so_luong

    mat_hangs.append((ten, thanh_tien))

    # Sắp xếp danh sách các mặt hàng theo thứ tự thành tiền tăng dần

    n = len(mat_hangs)

    for i in range(n – 1):

    for j in range(0, n – i – 1):

    if mat_hangs[j][1] > mat_hangs[j + 1][1]:

    mat_hangs[j], mat_hangs[j + 1] = mat_hangs[j + 1], mat_hangs[j]

    # In danh sách các mặt hàng và thành tiền tương ứng ra màn hình

    print(“Danh sách các mặt hàng và thành tiền tương ứng:”)

    for mat_hang in mat_hangs:

    print(“Tên mặt hàng: “, mat_hang[0])

    print(“Thành tiền: “, mat_hang[1])

    print(“—–“)

    Để lại một bình luận

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *