Trường: THPT PHẠM VĂN ĐỒNG Tổ:CN - TIN Tên dạy KIỂU DANH SÁCH LIST Môn học: Tin Học; Lớp: 11 Thời gian thực hiện:2 tiết I MỤC TIÊU Kiến thức - Hiểu khái niệm list, thao tác với list - Hiểu cách khai báo truy cập đến phần tử list Năng lực - Năng lực giải vấn đề, sáng tạo - Năng lực tự học, đọc hiểu - Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết - Năng lực tính tốn, Năng lực thực hành Phẩm chất - Phẩm chất: Giúp học sinh rèn luyện thân phát triển phẩm chất tốt đẹp: yêu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU Giáo viên: Sách giáo khoa, máy tính điện tử Học sinh: đồ dùng học tập, SGK, ghi, máy tính III TIẾN TRÌNH DẠY HỌC A HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU) a) Mục tiêu: Tạo tình khơi gợi tinh thần cho học sinh b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi c) 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 d) Tổ chức thực hiện: GV giới thiệu dẫn dắt vào bài: B HÌNH THÀNH KIẾN THỨC MỚI Hoạt động 1: Tìm hiểu kiểu liệu danh sách a) Mục tiêu: Giúp học sinh biết khái niệm list 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 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: Hoạt động GV HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ: I Kiểu liệu danh sách (?) Ví dụ: Duy có nhiều sách muốn lập * Bước 2: Thực nhiệm vụ: chương trình quản lý sách + HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi ⇒ Chương trình cần có chức năng: + GV: quan sát trợ giúp cặp - Lưu trữ danh sách tên sách * Bước 3: Báo cáo, thảo luận: - Thêm tên sách vào danh sách + HS: Lắng nghe, ghi chú, HS phát biểu lại - Hiện tên sách danh sách tính chất => Ý tưởng gì? + Các nhóm nhận xét, bổ sung cho 1) Khái niệm * Bước 4: Kết luận, nhận định: GV xác • Danh sách dãy hữu hạn phần tử hóa gọi học sinh nhắc lại kiến thức (có thể khơng kiểu) • Danh sách đặt tên phần tử đánh số • Các phần tử List phân cách dấu phẩy (,) • Được giới hạn cặp ngoặc [ ], tất nằm phần tử Ví dụ: List 2) Cách khởi tạo Cách 1: Sử dụng cặp dấu ngoặc[] đặt giá trị bên Cú pháp: [, , , , ] Ví dụ: lst = [“Tốn học”, “Hình học”, “Tin học”, “Hồn rỗng”] empty_list = [] # khởi tạo list rỗng Cách 2: Sử dụng List Comprehension (bao quát) Cú pháp: [Comprehension] Ví dụ: >>> a = [kteam for kteam in range(3)] >>> a [0, 1, 2] >>> another_lst = [[n, n * 1, n * 2] for n in range(1, 4)] >>> another_lst [[1, 1, 2], [2, 2, 4], [3, 3, 6]] Ví dụ: Nhập liệu cho List phần tử kiểu Cú pháp: = [() for in input().split()] Trong đó: , : đặt theo quy tắc đặt tên biến : kiểu int float tùy vào danh sách nhập vào số nguyên hay thực Cách 3: Sử dụng constructor List Ví dụ: Cú pháp: list (iterable) Lưu ý: iterable đối tượng nói chung container (Ta biết hai iterable chuỗi, List) Ví dụ: >>> lst = list([1, 2, 3]) >>> lst [1, 2, 3] >>> str_lst = list('HOWKTEAM') >>> str_lst ['H', 'O', 'W', 'K', 'T', 'E', 'A', 'M'] >>> list(1) Traceback (most recent call last): File "", line 1, in TypeError: 'int' object is not iterable * Hàm map() Cú pháp map(function, iterable 1, iterable 2, ) Trong đó: function: hàm thực thi cho phần tử iterable - iterable: list, tuple, dictionary … muốn duyệt Ý nghĩa: - Duyệt tất phần tử iterable (list, tuple, dictionary ) qua hàm cho trước trả list kết sau thực thi - Giá trị trả từ map() gọi map object Đối tượng truyền vào hàm list() (để tạo list Python), hay set() (để tạo set phần tử mới)… 4) Đưa danh sách hình - Cú pháp: for in : print() Hoặc: print() Hoạt động 2: Tìm hiểu thao tác List Python a) Mục tiêu: Nắm cách khai báo mảng chiều 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 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: Hoạt động GV HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ: II Các thao tác List Python Giải thích ví dụ rõ để học sinh phân biệt tên kiểu 1) Các phép toán mảng, tên biến mảng Phép toán Ý nghĩa - Yêu cầu học sinh cho ví dụ cách khai báo Ghép nhiều danh sách thành * Bước 2: Thực nhiệm vụ: + + HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi + GV: quan sát trợ giúp cặp Tạo danh sách lặp lặp * Bước 3: Báo cáo, thảo luận: * lại xâu gốc với số lần nhân + HS: Lắng nghe, ghi chú, HS phát biểu lại tính chất Cho biết phần tử có xuất + Các nhóm nhận xét, bổ sung cho list hay không, * Bước 4: Kết luận, nhận định: GV xác h in có nhận giá trị True, ngược lại óa gọi học sinh nhắc lại kiến thức nhận giá trị False Hàm len() Trả số phần tử danh sách 2) Đánh số thao tác với số List a) Đánh số phần tử list: đến độ dài list - b) Tham chiếu tới phần tử list số đặt cặp ngoặc [ ] Ví dụ: ds = [“-1”, 0, 1.5, 2, “…”, 123, 23.4, “Tâm”] ds[2] = 1.5 c) Sao chép danh sách: để tạo list đoạn list gốc từ số bắt đầu đến số dừng – ta viết: tên_list[vị trí bắt đầu:vị trí dừng] Ví dụ: ds = [“-1”, 0, 1.5, 2, “…”, 123, 23.4, “Tâm”] ds[1:3] = [0, 1.5] d) Thay đổi giá trị phần tử danh sách Ví dụ: ds = [“-1”, 0, 1.5, 2, “…”, 123, 23.4, “Tâm”] ds[0] = “ -” => ds = [“ -”, 0, 1.5, 2, “…”, 123, 23.4, “Tâm”] e) Chèn phần tử vào danh sách Cú pháp: .insert (i, x) Ý nghĩa: Thêm phần tử x vào vị trí i danh sách f) Sắp xếp danh sách Cúpháp: .sort(key=None, reverse=False) Ýnghĩa: Sắp xếp phần tử cách so sánh trực tiếp Chúý: • Từ khóa reverse cho giá trị, True, hai False Nếu False, phần tử xếp từ bé đến lớn, ngược lại từ lớn đến bé • Các phần tử danh sách phải so sánh với Vídụ: g) Thêm phần tử vào cuối danh sách Cú pháp: .append(x) Ý nghĩa: Thêm phần tử x vào cuối danh sách Hoạt động 3: Tìm hiểu Bài tập a) Mục tiêu: Nắm thao tác mảng chiều 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 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: Hoạt động GV HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ: Bài 1: Hãy cho biết chương trình đưa (?) hình nội dung gì? * Bước 2: Thực nhiệm vụ: + HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi + GV: quan sát trợ giúp cặp * Bước 3: Báo cáo, thảo luận: + HS: Lắng nghe, ghi chú, HS phát biểu lại tính chất + Các nhóm nhận xét, bổ sung cho * Bước 4: Kết luận, nhận định: GV xác hóa gọi học sinh nhắc lại kiến thức Bài 2: Viết chương trình đọc vào số thực tương ứng nhiệt độ từ thứ hai đến chủ nhật tuần tới, đưa hình thơng tin sau: - Các ngày có nhiệt độ 10 độ - Nhiệt độ thấp nhất, cao ngày Bài 3: Viết chương trình nhập vào số nguyên dương n n số nguyên dương tương ứng chiều cao n bạn Khi xếp hàng bạn đứng theo thứ tự tăng dần theo chiều cao Em đưa hình dãy xếp để thấy thứ tự xếp hàng n bạn n=int(input("Nhập vào số nguyên dương n= ")) ls=[] print("Nhập vào chiều cao của",n,"bạn:") for x in range(1,n+1): a=float(input()) ls.append(a) print("Dãy xếp theo thứ tự tăng dần chiều cao ") ls.sort() print(ls) C 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 tập c Sản phẩm: Bài làm học sinh, kĩ giải nhiệm vụ học tập d Tổ chức thực hiện: GV yêu cầu HS: D HOẠT ĐỘNG VẬN DỤNG a Mục tiêu: Vận dụng kiến thức vừa học vấn đề học tập thực tiễn b Nội dung: HS sử dụng SGK vận dụng kiến thức để trả lời câu hỏi c Sản phẩm: HS vận dụng kiến thức vào giải nhiệm vụ đặt d Tổ chức thực hiện: Viết chương trình nhập dãy N số nguyên (N