Trang chủ Lớp 11 SGK Tin học 11 - Kết nối tri thức Chủ đề 6. Kĩ thuật lập trình Bài 30. Thiết lập thư viện cho chương trình trang 137 Tin học 11 Định hướng khoa học máy tính Kết nối tri thức: Vì sao lại cần thư viện chương trình?...

Bài 30. Thiết lập thư viện cho chương trình trang 137 Tin học 11 Định hướng khoa học máy tính Kết nối tri thức: Vì sao lại cần thư viện chương trình?...

Trả lời bài 30. Thiết lập thư viện cho chương trình trang 137 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức. Em hãy tìm thêm các ví dụ thực tế của mô hình danh sách liên kết...Vì sao lại cần thư viện chương trình?

Câu hỏi:

Khởi động

Em hãy tìm thêm các ví dụ thực tế của mô hình danh sách liên kết.

Hướng dẫn giải :

Tra cứu trên internet, sách, báo,…kết hợp kiến thức thực tế của bản thân để trả lời câu hỏi.

Lời giải chi tiết :

Một số ví dụ thực tế của mô hình danh sách liên kết:

-Quản lý danh bạ: Một ứng dụng quản lý danh bạ điện thoại di động có thể sử dụng mô hình danh sách liên kết đơn để lưu trữ danh sách các liên hệ. Mỗi liên hệ có thể được biểu diễn là một đối tượng trong danh sách liên kết, trong đó mỗi đối tượng chứa thông tin như tên, số điện thoại, địa chỉ, và liên kết đến liên hệ tiếp theo trong danh sách.

-Trình quản lý tập tin: Một trình quản lý tập tin trên hệ điều hành có thể sử dụng mô hình danh sách liên kết đôi để duyệt qua các thư mục và tập tin trong hệ thống tập tin. Mỗi thư mục hoặc tập tin có thể được biểu diễn là một đối tượng trong danh sách liên kết đôi, trong đó mỗi đối tượng chứa thông tin như tên, đường dẫn, kích thước, và liên kết đến thư mục hoặc tập tin trước và sau nó trong danh sách.

-Quản lý bài đăng trên mạng xã hội: Một mạng xã hội có thể sử dụng mô hình danh sách liên kết kép để quản lý các bài đăng của người dùng. Mỗi bài đăng có thể được biểu diễn là một đối tượng trong danh sách liên kết kép, trong đó mỗi đối tượng chứa thông tin như nội dung, người đăng, thời gian đăng, và liên kết đến bài đăng trước và sau nó trong danh sách.

-Duyệt web: Một trình duyệt web có thể sử dụng mô hình danh sách liên kết kép để duyệt qua các trang web đã xem trước đó. Mỗi trang web có thể được biểu diễn là một đối tượng trong danh sách liên kết kép, trong đó mỗi đối tượng chứa thông tin như URL, tiêu đề, nội dung, và liên kết đến trang web trước và sau nó trong danh sách.


Câu hỏi:

Câu hỏi mục I Hoạt động1

nh

Hoạt động 1 trang 137 Tin học 11: Em hãy đọc, thảo luận và trả lời các câu hỏi sau:

1. Vì sao lại cần thư viện chương trình?

2. Ý nghĩa của các hàm trong thư viện chương trình là gì?

Hướng dẫn giải :

Vận dụng kiến thức mục 1 trang 137, 138 SGK và kiến thức thực tế của bản thân để trả lời câu hỏi.

Lời giải chi tiết :

1. Thư viện chương trình là tập hợp các hàm được đặt trong các mô đun độc lập để dùng chung cho nhiều chương trình khác nhau. Các thư viện này có thể được dùng nhiều lần và có thể cập nhật, nâng cấp bất cứ lúc nào.

2. Các hàm trong thư viện chương trình có ý nghĩa là cung cấp các đoạn mã đã được đóng gói lại để thực hiện một chức năng hoặc tính năng cụ thể. Các hàm trong thư viện chương trình thường được thiết kế và cài đặt để hoạt động trong một môi trường cụ thể.


Câu hỏi:

Câu hỏi mục I Câu hỏi

Những câu nào sau đây là sai về ý nghĩa của việc sử dụng thư viện khi viết chương trình?

A. Chương trình sẽ ngắn hơn.

B. Các hàm thư viện được viết một lần và sử dụng nhiều lần.

C. Chương trình sẵn sàng, dễ hiểu hơn.

D. Chương trình sẽ chạy nhanh hơn.

Hướng dẫn giải :

Vận dụng kiến thức mục 1 trang 137, 138 SGK để trả lời câu hỏi.

Lời giải chi tiết :

D. Chương trình sẽ chạy nhanh hơn: Đây là một khẳng định sai vì việc sử dụng thư viện chương trình không nhất thiết đồng nghĩa với việc chương trình sẽ chạy nhanh hơn. Tốc độ thực thi của chương trình phụ thuộc vào cách thức xử lý của thư viện chương trình, cách thức tích hợp vào chương trình chính, cấu hình của hệ thống, và các yếu tố khác. Có thể có những trường hợp thư viện chương trình gây ra độ trễ hoặc ảnh hưởng đến hiệu suất của chương trình. Việc tối ưu hóa hiệu suất là một công việc riêng biệt và phải được thực hiện cẩn thận trong quá trình phát triển phần mềm.


Câu hỏi:

Câu hỏi mục II Hoạt động2

Đọc, trao đổi và thảo luận để biết cấu trúc dữ liệu của danh sách liên kết và các thao tác dữ liệu cơ bản trên danh sách liên kết.

Hướng dẫn giải :

Vận dụng kiến thức trong bài để trả lời câu hỏi.

Lời giải chi tiết :

Danh sách liên kết là cấu trúc dữ liệu bao gồm:

-Cấu trúc note mô tả các phần tử của danh sách. Mỗi node sẽ có dữ liệu khóa (key) là thông tin chính và thông tin next để kết nối sang phần tử tiếp theo của danh sách.

- Cấu trúc head là đầu của mỗi danh sách liên kết. Head luôn chỉ vào node đầu tiên của danh sách.

-Node cuối cùng của danh sách sẽ có thông tin next=None (dữ liệu rỗng). Có thể thiết lập các hàm tìm kiếm, bổ sung hoặc xóa thông tin trên danh sách liên kết.


Câu hỏi:

Câu hỏi mục II - Câu số 1

Đ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)

Hướng dẫn giải :

Vận dụng kiến thức mục 2 trang 139-142 SGK để trả lời câu hỏi.

Lời giải chi tiết :

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

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:

Câu hỏi mục II - Câu số 2

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.

Hướng dẫn giải :

Vận dụng kiến thức mục 2 trang 139-142 SGK và kiến thức thực tế của bản thân để trả lời câu hỏi.

Lời giải chi tiết :

from LinkedList import *

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

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)


Câu hỏi:

Luyện tập 1

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.

Hướng dẫn giải :

Dựa vào kiến thức trong bài kết hợp kiến thức thực tế của bản thân để trả lời câu hỏi.

Lời giải chi tiết :

# 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


Câu hỏi:

Luyện tập 2

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 khóa của node đầu tiên của danh sách thì dùng lệnh nào?

Hướng dẫn giải :

Vận dụng kiến thức thực tế của bản thân để trả lời câu hỏi.

Lời giải chi tiết :

Để lấy ra khóa 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.


Câu hỏi:

Vận dụng 1

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.

Hướng dẫn giải :

Vận dụng kiến thức trong bài để trả lời câu hỏi.

Lời giải chi tiết :

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)


Câu hỏi:

Vận dụng 2

Viết hàm delete_Jast(L) có chức năng xóa phần tử cuối cùng của danh sách liên kết L.

Hướng dẫn giải :

Dựa vào kiến thức trong bài kết hợp kiến thức thực tế của bản thân để trả lời câu hỏi.

Lời giải chi tiết :

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 để xóa 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)

Dụng cụ học tập

Học Tin học cần sách giáo khoa, máy tính, vở ghi chép, bút mực và phần mềm học tập liên quan.

Chia sẻ

Chia sẻ qua Facebook Chia sẻ

Sách Giáo Khoa: Kết nối tri thức với cuộc sống

- Bộ sách Kết nối tri thức với cuộc sống được biên soạn cho tất cả học sinh phổ thông trên mọi miền của đất nước, giúp các em hình thành và phát triển những phẩm chất và năng lực cần có đối với người công dân Việt Nam trong thế kỉ XXI. Với thông điệp “Kết nối tri thức với cuộc sống”, bộ SGK này được biên soạn theo mô hình hiện đại, chú trọng vai trò của kiến thức, nhưng kiến thức cần được “kết nối với cuộc sống”, bảo đảm: 1) phù hợp với người học; 2) cập nhật những thành tựu khoa học hiện đại, phù hợp nền tảng văn hóa và thực tiễn Việt Nam; 3) giúp người học vận dụng để giải quyết những vấn đề của đời sống: đời sống cá nhân và xã hội, đời sống tinh thần (đạo đức, giá trị nhân văn) và vật chất (kĩ năng, nghề nghiệp).

Đọc sách

Có thể bạn chưa biêt?

Tin học là môn khoa học nghiên cứu về quá trình tự động hóa thông tin bằng máy tính. Đây là nền tảng của kỷ nguyên số, mở ra những cơ hội mới trong mọi lĩnh vực từ y học đến truyền thông, và đóng vai trò quan trọng trong phát triển kinh tế và xã hội.

Nguồn : Wikipedia - Bách khoa toàn thư

Lời chia sẻ Lớp 11

Lớp 11 - Năm học quan trọng, bắt đầu hướng đến những mục tiêu sau này. Hãy học tập chăm chỉ và tìm ra đam mê của mình để có những lựa chọn đúng đắn cho tương lai!'

- Học nhưng cũng chú ý sức khỏe nhé!. Chúc các bạn học tập tốt.

Nguồn : Sưu tập

Copyright © 2024 Loi Giai SGK