Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

MỘT SỐ LỆNH LÀM VIỆC VỚI DỮ LIỆU DANH SÁCH

Thời gian thực hiện: 4 tiết

I. MỤC TIÊU
1. Kiến thức:

❖ Biết cách duyệt danh sách bằng toán tử In

❖ Biết và thực hiện được một số phương thức thường dùng với danh sách

2. Năng lực:
- Năng lực chung:
+ Giải quyết được những nhiệm vụ học tập một cách độc lập, theo nhóm và thể hiện sự
sáng tạo.
+ Góp phần phát triển năng lực giao tiếp và hợp tác qua hoạt động nhóm và trao đổi
công việc với giáo viên.
- Năng lực riêng:
+ HS được phát triển tư duy và khả năng giải quyết được vấn đề, năng lực giao tiếp, hợp
tác, sáng tạo, tự chủ và tự học.
3. Phẩm chất: Nghiêm túc, tập trung, tích cực chủ động.
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1. Giáo viên
- Chuẩn bị Bài giảng, máy chiếu, máy chiếu vật thể.
2. Học sinh
- Sách giáo khoa, vở ghi
- Kiến thức đã học
III. TIẾN TRÌNH DẠY HỌC
1. HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
- Mục tiêu: Tạo hứng thú học tập cho học sinh
- Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi
- Sản phẩm: Từ yêu cầu Hs vận dụng kiến thức để trả lời câu hỏi GV đưa ra
- Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài
? Trong bài trước chúng ta đã biết cách dùng append để thêm phần tử vào cuối một
danh sách. Vậy Python có lệnh nào dùng để:
- Xóa nhanh một danh sách?
- Chèn thêm phần tử vào đầu hay giữa danh sách?
- Kiểm tra một phần tử có nằm trong một danh sách không?
HS: trả lời câu hỏi
2. HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu cách duyệt danh sách với toán tử in
- Mục Tiêu: + Biết cách sử dụng toán tử in trong danh sách
- Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV
- Sản phẩm: Hs hoàn thành tìm hiều kiến thức
- Tổ chức thực hiện:
Sản phẩm dự kiến Hoạt động của giáo viên và học sinh
1. Duyệt danh sách với toán tử IN *‌‌Bước‌‌1:‌‌Chuyển‌‌giao‌‌nhiệm‌‌vụ:‌‌
Ví dụ 1. Dùng toán tử in để kiểm tra một giá GV: Nêu đặt câu hỏi
trị có nằm trong danh sách hay không Quan sát ví dụ sau để biết cách dùng toán
>>> A = [1, 2, 3, 4, 5] tử in để duyệt một danh sách
>>> 2 in A ← Số nguyên 2 nằm trong dãy A

kết quả trả lại True.
HS: Thảo luận, trả lời
True
*‌‌Bước‌‌2:‌‌Thực‌‌hiện‌‌nhiệm‌‌vụ:‌‌‌
>>> 10 in A ← Số 10 không nằm trong dãy A
‌+‌‌HS:‌‌Suy‌‌nghĩ,‌‌tham‌‌khảo‌‌sgk‌‌trả‌‌lời‌‌câ
kết quả trả lại False
u‌‌hỏi‌‌
False
+‌‌GV:‌‌quan‌‌sát‌‌và‌‌trợ‌‌giúp‌‌các‌‌cặp.‌‌‌
Ví dụ 2. Sử dụng toán tử in để duyệt từng
*‌‌Bước‌‌3:‌‌Báo‌‌cáo,‌‌thảo‌‌luận:‌‌‌
phần tử của danh sách.
+‌‌HS:‌‌Lắng‌‌nghe,‌‌ghi‌‌chú,‌‌một‌‌HS‌‌phát‌‌
>>> A = [10, 11, 12, 13, 14, 15]
biểu‌‌lại‌‌các‌‌tính‌‌chất.‌‌‌
>>> for k in A ← khi thực hiện lệnh này,
+‌‌Các‌‌nhóm‌‌nhận‌‌xét,‌‌bổ‌‌sung‌‌cho‌‌nhau.‌‌‌
biến k sẽ lần lượt nhận các giá trị từ dãy A.
*‌‌Bước‌‌4:‌‌Kết‌‌luận,‌‌nhận‌‌định:‌‌GV‌‌chín
print (k, end = “ “)
h‌‌xác‌‌hóa‌‌và‌‌gọi‌‌1‌‌học‌‌sinh‌‌nhắc‌‌lại ‌ ‌kiến‌
10 11 12 13 14 15
‌thức‌‌
Ghi nhớ
Câu hỏi:
● Tính toán tử in dùng để kiểm tra một phần ?1. Giả sử A = [“0”, “1”, “01”, “10]. Các

tử có nằm trong danh sách đã cho không. biểu thức sau trả về giá trị đúng hay sai?
Kết quả trả lại True (Đúng) hoặc False
Sản phẩm dự kiến Hoạt động của giáo viên và học sinh
(Sai). a) 1 in A
<giá trị> in <danh sách> b) "01" in A
2. Hãy giải thích ý nghĩa từ khoá in trong
● Có thể duyệt nhanh từng phần tử của danh
câu lệnh sau:
sách bằng toán tử in và lệnh for mà không
for i in range(10):
cần sử dụng lệnh range ().
<các lệnh>

Hoạt động 2: Tìm hiểu một số lệnh làm việc với danh sách
a) Mục tiêu: Nắm được những hàm thường dùng trong danh sách và thao tác xử lí danh
sách
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Sản phẩm dự kiến Hoạt động của GV và HS
2. MỘT SỐ LỆNH LÀM VIỆC VỚI DANH SÁCH *‌‌B1:‌‌Chuyển‌‌giao‌‌nhiệm‌‌vụ:‌‌
Ví dụ 1. Lệnh clear() xóa toàn bộ một danh sách GV: Quan sát ví dụ sau để tìm
>> A = [1, 2, 3, 4, 5] hiểu một số lệnh làm việc với dữ
>> A.clear() liệu kiều danh sách,
Sau khi thực hiện lệnh clear() danh sách gốc trở thành rỗng HS: Thảo luận, trả lời
>> A HS: Lấy các ví dụ trong thực tế.
[]
Ví dụ 2. Lệnh remove(value) sẽ xoá phần tử đầu tiên của *‌‌B‌2:‌‌Thực‌‌hiện‌‌nhiệm‌‌vụ:‌
danh sách có giá trị value. Nếu không có phần tử nào như ‌+‌‌HS:‌‌Suy‌‌nghĩ,‌‌tham‌‌khảo‌‌sgk‌‌tr
vậy thì sẽ báo lỗi ả‌‌lời‌‌câu‌‌hỏi‌‌
>> A = [1, 2, 3, 4, 5] +‌‌GV:‌‌quan‌‌sát‌‌và‌‌trợ‌‌giúp‌‌các‌
>> A.remove(1) ‌cặp.‌‌‌
>>>A
[2, 3, 4, 5]
>>> A.remove(10) # Lệnh lỗi vì giá trị không có trong danh
sách
Ví dụ 3. Lệnh insert(index, value) có chức năng chèn giá *‌‌B‌3:‌‌Báo‌‌cáo,‌‌thảo‌‌luận:‌‌‌
trị value vào danh sách tại vị trí index +‌‌HS:‌‌Lắng‌‌nghe,‌‌ghi‌‌chú,‌‌một‌‌H
Sản phẩm dự kiến Hoạt động của GV và HS
>> A = [1, 2, 6, 10] S‌‌phát‌‌biểu‌‌lại‌‌các‌‌tính‌‌chất.‌‌‌
>> A.insert(2, 5) +‌‌Các‌‌nhóm‌‌nhận‌‌xét,‌‌bổ‌‌sung‌‌ch
>>> A o‌‌nhau.‌‌‌
[1, 2, 5, 6, 10]
- Chú ý: nếu k nằm ngoài phạm vi chỉ số của danh sách thì *‌‌Bước‌‌4:‌‌Kết‌‌luận,‌‌nhận‌‌định:‌‌
lệnh vẫn có tác dụng nếu: index < -len() thì chèn vào đầu GV‌‌chính‌‌xác‌‌hóa‌‌và‌‌gọi‌‌1‌‌học‌‌si
danh sách, nếu index > len( ) thì chèn vào cuối danh sách. nh‌‌nhắc‌‌lại‌‌kiến‌‌thức‌
>> A = []
>> A.insert(-10, 1)
>>> A.insert(100, 2)
>>> A
[1, 2]
Một số lệnh làm việc với dữ liệu danh sách: Câu hỏi:
Bổ sung phần tử x vào cuối danh ?1. Khi nào thì lệnh A.append(1)
A.append(x)
sách A và A.insert(0, 1) có tác dụng
giống nhau
A.insert(k, Chèn phần tử x vào vị trí k của
2. Danh sách A trước và sau lệnh
x) danh sách A
insert() là [1, 4, 10, 0] và [1, 4,
Xóa toàn bộ dữ liệu của danh sách 10, 5, 0]. Lệnh đã dùng là gì?
A.clear( )
A

A.remove(x) Xóa phần tử x từ danh sách

Hoạt động 3: Thực hành


a) Mục tiêu: Rèn kỹ năng lập trình
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Sản phẩm dự kiến Hoạt động của GV và HS
3. Thực hành B1:‌‌Chuyển‌‌giao‌‌nhiệm‌‌vụ:‌‌
Các lệnh làm việc với dữ liệu kiểu danh sách GV: Quan sát ví dụ sau để
Nhiệm vụ 1. Nhập số n từ bàn phím, sau đó nhập danh sách n tìm hiểu một số lệnh làm việc
Sản phẩm dự kiến Hoạt động của GV và HS
tên học sinh trong lớp và in ra danh sách học sinh này, mỗi tên với dữ liệu kiều danh sách,
học sinh trên một dòng. Yêu cầu danh sách được in ra theo thứ HS: Thảo luận, trả lời
tự ngược lại thứ tự đã nhập HS: Lấy các ví dụ trong thực
Hướng dẫn. Chương trình sẽ yêu cầu nhập số tự nhiên n, sau đó tế.
sẽ lần lượt yêu cầu nhập n tên học sinh. Tuy nhiên do yêu cầu in *‌‌B2:‌‌Thực‌‌hiện‌‌nhiệm‌‌vụ:‌‌‌
danh sách học sinh theo thứ tự ngược lại so với thứ tự nhập nên ‌+‌‌HS:‌‌Suy‌‌nghĩ,‌‌tham‌‌khảo‌‌sg
cần dùng lệnh insert() để chèn tên học sinh được nhập vào đầu k‌‌trả‌‌lời‌‌câu‌‌hỏi‌‌
danh sách. Chương trình có thể như sau: +‌‌GV:‌‌quan‌‌sát‌‌và‌‌trợ‌‌giúp‌
‌các‌‌cặp.‌‌‌

Nhiệm vụ 2. Cho trước dãy số A. Viết chương trình xoá đi các


phần tử có giá trị nhỏ hơn 0 từ A
*‌‌B‌3:‌‌Báo‌‌cáo,‌‌thảo‌‌luận:‌‌‌
Hướng dẫn. Duyệt từng phần tử của dãy số A, kiểm tra nếu
+‌‌HS:‌‌Lắng‌‌nghe,‌‌ghi‌‌chú,‌‌m
phần tử này nhỏ hơn 0 thì xoá đi
ột‌‌HS‌‌phát‌‌biểu‌‌lại‌‌các‌‌tính‌
Dùng lệnh remove() để duyệt từng phần tử của A
‌chất.‌‌‌
+‌‌Các‌‌nhóm‌‌nhận‌‌xét,‌‌bổ‌‌sun
g‌‌cho‌‌nhau.‌‌‌

Nhiệm vụ 3. Cho trước dãy số A. Viết phương trình tìm và chỉ


ra vị trí đầu tiên của dãy số A mà ba số hạng liên tiếp có giá trị
*‌‌B‌4:‌‌Kết‌‌luận,‌‌nhận‌‌định:‌‌
là 1, 2, 3. Nếu tìm thấy thì thông báo vị trí tìm thấy, nếu không
GV‌‌chính‌‌xác‌‌hóa‌‌và‌‌gọi‌‌1‌‌họ
thì thông báo “Không tìm thấy mẫu”
c‌‌sinh‌‌nhắc‌‌lại‌‌kiến‌‌thức‌
Hướng dẫn. Soạn thảo chương trình sau rồi thực hiện và kiểm
tra tính đúng đắn của chương trình.
Sản phẩm dự kiến Hoạt động của GV và HS

3. HOẠT ĐỘNG LUYỆN TẬP


a. Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b. Nội dung: HS đọc SGK làm các bài tập.
c. Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d. Tổ chức thực hiện:
Gv Cho HS nhắc lại KT:
Hs: Nhắc lại các vấn đề đã học
1. Cho dãy số [1, 2, 2, 3, 4, 5, 5]. Viết lệnh thực hiện:
A) Chèn số 1 vào ngay sau giá trị 1 của dãy.
B) Chèn số 3 và số 4 vào danh sách để dãy có số 3 và số 4 liền nhau hai lần.
2. Cho trước dãy số A. Viết chương trình thực hiện dãy công việc sau:
- Xóa đi một phần tử ở chính giữa dãy nếu số phần tử của dãy là số lẻ
- Xóa đi hai phần tử ở chính giữa của dãy nếu số phần tử của dãy là số chẵn
4. HOẠT ĐỘNG VẬN DỤNG
a. Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b. Nội dung:.
c. Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d. Tổ chức thực hiện:
Gv đưa câu hỏi về nhà:
1. Viết chương trình nhập n từ bàn phím, tạo và in ra màn hình dãy số A bao gồm n số thứ
tự chẵn đầu tiên.
2. Dãy số Fibonacci được xác định như sau:
Fo = 0
F1 = 1
Fn = Fn-1 + Fn-2(với n>=2).
Viết chương trình nhập n từ bàn phím, tạo và in ra màn hình dãy số A bao gồm n số hạng
đầu của dãy Fibonacci.
5. Hướng dẫn học sinh tự học:
- Hướng dẫn học bài cũ:
- Hướng dẫn chuẩn bị bài mới:
..................................................................................................................................................

..................................................................................................................................................

You might also like