Giải Tin học 11 trang 142 Kết nối tri thức

Với Giải Tin học 11 trang 142 trong Bài 30: Thiết lập thư viện cho chương trình Tin học lớp 11 Kết nối tri thức hay nhất, ngắn gọn sẽ giúp học sinh dễ dàng trả lời các câu hỏi & làm bài tập Tin 11 trang 142.

Giải Tin học 11 trang 142 Kết nối tri thức

Quảng cáo

Câu hỏi 1 trang 142 Tin học 11: Đoạn chương trình sau thực hiện công việc gì?

from LinkedList import*

L=LL()

insert(L,10)

insert(L,20)

show(L)

Lời giải:

Đoạn mã trên sử dụng thư viện LinkedList và tạo một đối tượng danh sách liên kết mới (gọi là L) bằng cách gọi hàm khởi tạo LL().

Sau đó, thực hiện hai lần gọi hàm insert(L,10) và insert(L,20) để chèn các giá trị 10 và 20 vào danh sách liên kết L.

Quảng cáo

Cuối cùng, gọi hàm show(L) để hiển thị nội dung của danh sách liên kết L sau khi đã chèn các giá trị 10 và 20 vào trong đó.

Vậy đoạn mã này thực hiện việc tạo danh sách liên kết mới, chèn các giá trị 10 và 20 vào danh sách, và hiển thị danh sách liên kết đó.

Câu hỏi 2 trang 142 Tin học 11: Viết đoạn chương trình ngắn sử dụng thư viện LinkedList đề thiết lập một danh sách liên kết L và bổ sung các tên "Bình", "Hoa", "Hà" vào danh sách này.

Lời giải:

from LinkedList import *

# Tạo danh sách liên kết mới

Quảng cáo

L = LL()

# Thêm các tên vào danh sách liên kết

insert(L, "Bình")

insert(L, "Hoa")

insert(L, "Hà")

# Hiển thị nội dung của danh sách liên kết

show(L)

Luyện tập 1 trang 142 Tin học 11: Viết một thư viện bao gồm các hàm nhập dữ liệu là một dãy số và các hàm thư viện bao gồm sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt.

Lời giải:

Quảng cáo

# Thư viện sắp xếp

# Hàm nhập dữ liệu là một dãy số

def input_list():

 n = int(input("Nhập số phần tử trong dãy số: "))

 arr = []

 for i in range(n):

  x = int(input("Nhập phần tử thứ {}: ".format(i+1)))

  arr.append(x)

 return arr

# Hàm sắp xếp chèn

def insertion_sort(arr):

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

  key = arr[i]

  j = i - 1

  while j >= 0 and arr[j] > key:

   arr[j + 1] = arr[j]

   j -= 1

  arr[j + 1] = key

 return arr

# Hàm sắp xếp chọn

def selection_sort(arr):

 for i in range(len(arr)):

  min_idx = i

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

   if arr[j] < arr[min_idx]:

    min_idx = j

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

 return arr

# Hàm sắp xếp nổi bọt

def bubble_sort(arr):

 n = len(arr)

 for i in range(n - 1):

  for j in range(n - i - 1):

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

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

 return arr

Luyện tập 2 trang 142 Tin học 11: Cho trước danh sách liên kết L với cấu trúc như đã mô tả trong bài học, muốn lấy ra khoá của node đầu tiên của danh sách thì dùng lệnh nào?

Lời giải:

Để lấy ra khoá của node đầu tiên trong danh sách liên kết, bạn có thể sử dụng thuộc tính key của đối tượng node đầu tiên trong danh sách.

Vận dụng 1 trang 142 Tin học 11: Cho trước một danh sách liên kết L. Viết một hàm đếm số lượng phần tử của danh sách liên kết này.

Lời giải:

class Node:

 def __init__(self, key=None):

  self.key = key

  self.next = None

def dem_so_luong_phan_tu(head):

 count = 0 # Khởi tạo biến đếm số lượng phần tử là 0

 current = head # Đặt con trỏ current trỏ đến node đầu tiên của danh sách liên kết

 while current is not None: # Duyệt qua từng node trong danh sách liên kết

  count += 1 # Tăng biến đếm lên 1

  current = current.next # Chuyển con trỏ current sang node kế tiếp trong danh sách liên kết

 return count # Trả về số lượng phần tử đếm được

so_luong_phan_tu = dem_so_luong_phan_tu(L)

Vận dụng 2 trang 142 Tin học 11: Viết hàm delete_Jast(L) có chức năng xoá phần tử cuối cùng của danh sách liên kết L.

Lời giải:

class Node:

 def __init__(self, key=None):

  self.key = key

  self.next = None

def delete_Jast(L):

 if L is None or L.next is None: # Nếu danh sách liên kết rỗng hoặc chỉ có một phần tử

  return None # Không cần xoá, trả về None

 current = L # Đặt con trỏ current trỏ đến node đầu tiên của danh sách liên kết

 while current.next.next is not None: # Duyệt đến node trước node cuối cùng

  current = current.next # Chuyển con trỏ current sang node kế tiếp trong danh sách liên kết

 current.next = None # Thay đổi liên kết của node trước node cuối cùng để xoá node cuối cùng

 return L # Trả về đối tượng đầu tiên của danh sách liên kết sau khi xoá

L = delete_Jast(L)

Lời giải bài tập Tin học 11 Bài 30: Thiết lập thư viện cho chương trình hay khác:

Xem thêm lời giải bài tập Tin học lớp 11 Kết nối tri thức hay nhất, ngắn gọn khác:

Ngân hàng trắc nghiệm lớp 11 tại khoahoc.vietjack.com

ĐỀ THI, GIÁO ÁN, GÓI THI ONLINE DÀNH CHO GIÁO VIÊN VÀ PHỤ HUYNH LỚP 11

Bộ giáo án, bài giảng powerpoint, đề thi 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.


Tài liệu giáo viên