Giáo án Tin học Lớp 11 - Bài tập và thực hành 8: Dữ liệu kiểu danh sách (Tiếp theo) - Trường THPT Thăng Long
I. MỤC TIÊU
1. Kiến thức
- Củng cố kiến thức về dữ liệu kiểu danh sách.
- Xây dựng cấu trúc dữ liệu, thuật toán giải bài toán đơn giản.
2. Năng lực
- Năng lực giải quyết 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 quả.
- Năng lực tính toán, Năng lực thực hành .
3. Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các 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, vở 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 huống 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 ra.
d) Tổ chức thực hiện: GV giới thiệu và 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 dãy số Fibonacci.
a) Mục tiêu: Nhắc lại kiến thức đã học liên quan bài thực hà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
Trường: THPT THĂNG LONG Tổ: LÝ - CN Họ và tên giáo viên Hoàng Thị Thanh Tâm Bài tập và thực hành 8 DỮ LIỆU KIỂU DANH SÁCH (tiếp) 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 1. Kiến thức - Củng cố kiến thức về dữ liệu kiểu danh sách. - Xây dựng cấu trúc dữ liệu, thuật toán giải bài toán đơn giản. 2. Năng lực - Năng lực giải quyết 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 quả. - Năng lực tính toán, Năng lực thực hành . 3. Phẩm chất - Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các 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, vở 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 huống 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 ra. d) Tổ chức thực hiện: GV giới thiệu và 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 dãy số Fibonacci. a) Mục tiêu: Nhắc lại kiến thức đã học liên quan bài thực hà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: Hoạt động của GV và HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ: Nêu cách khai báo kiểu mảng 1 chiều. Nhập từ bàn phím xây dựng mảng một chiều A có 6 phần tử. * Bước 2: Thực hiện nhiệm vụ: + HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi + GV: quan sát và trợ giúp các cặp. * Bước 3: Báo cáo, thảo luận: + HS: Lắng nghe, ghi chú, một HS phát biểu lại các tính chất. + Các nhóm nhận xét, bổ sung cho nhau. * Bước 4: Kết luận, nhận định: GV chính xác hóa và gọi 1 học sinh nhắc lại kiến thức Bài 1: Dãy Fibonacci là dãy số nguyên dương được định nghĩa như sau: f1 = f2 = 1, " i : 3 ≤ i : fi = fi-1 + fi-2 Viết chương trình tìm phần tử thứ n (n <= 100) của dãy Fibonacci có sử dụng mảng Input Output 4 3 10 55 30 832040 100 354224848179261915075 n=int(input("Nhập n = ")) f=[1,1] for x in range(1,n-1): f.append(f[x]+f[x-1]) print("Phần tử thứ ",n,"=",f[n-1]) Bài 2: Nhập vào số nguyên dương n <= 105 và dãy các số nguyên dương a1, a2, , an. Đếm số lượng các số nguyên tố trong dãy trên có sử dụng hàm kiểm tra một số là số nguyên tố Tìm ước chung lớn nhất của a1, a2, , an. import math def nt(k): if k==1: return False else: i=2 while (i<=math.trunc(k**0.5))&(k%i!=0): i=i+1 if i>math.trunc(k**0.5): return True else: return False n=int(input("Nhập n = ")) a=[] for x in range(n): a.append(int(input())) dem=0 for x in range(0,n): if nt(a[x]): dem=dem+1 print("Số lượng số nguyên tố =",dem) # câu b def ucln(x,y): r=x%y while r!=0: x=y; y=r; r=x%y return y for i in range(0,n-1): u=ucln(a[i+1],a[i]) print("UCLN=",u) Hoạt động 2: Tìm hiểu và giải bài toán 3. a) Mục tiêu: Xác định bài toán và tìm hiểu chương 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: Hoạt động của GV và HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ: 1. Chiếu đề bài lên bảng. 2. Xác định bài toán Y/cầu hs xác định dữ liệu vào/ra của bài toán? Tìm hiểu chương trình * Bước 2: Thực hiện nhiệm vụ: + HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi + GV: quan sát và trợ giúp các cặp. * Bước 3: Báo cáo, thảo luận: + HS: Lắng nghe, ghi chú, một HS phát biểu lại các tính chất. + Các nhóm nhận xét, bổ sung cho nhau. * Bước 4: Kết luận, nhận định: GV chính xác hóa và gọi 1 học sinh nhắc lại kiến thức Bài 3: Nhập vào số nguyên dương n <= 1018, chuyển đổi số nguyên dương n sang hệ nhị phân có sử dụng mảng n=int(input("Nhập n = ")) a=[] while n//2!=0: a.append(n%2) n=n//2 a.append(n%2) print("Dãy nhị phân là:") for x in range(len(a)-1,-1,-1): print(a[x],end='') Bài 4: Viết chương trình nhập số nguyên dương n, số nguyên dương v (n <= 105, v ≠ 0) và dãy các số nguyên A = {a1, a2, , an}. Cho biết v có xuất hiện trong dãy A không? Nếu có cho biết vị trí xuất hiện đầu tiên của v trong A n=int(input("Nhập n = ")) v=int(input("Nhập v = ")) print("Nhập dãy a gồm",n,"số:") a=[] for x in range(0,n): a.append(int(input())) i=0 while i <len(a): if a[i]==v: print("YES","vị trí",i+1) break else: i=i+1 if i>len(a)-1: print("NO") Hoạt động 3: Tìm hiểu Chạy CT bài 5 a) Mục tiêu: Chạy CT 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: Hoạt động của GV và HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ: Yêu cầu hs tự nhập dữ liệu với CT có sẵn. Xác định bài toán. - Y/cầu hs xác I/O bài toán? - Yêu cầu hs sửa lại CT theo gợi ý đã nêu * Bước 2: Thực hiện nhiệm vụ: + HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi + GV: quan sát và trợ giúp các cặp. * Bước 3: Báo cáo, thảo luận: + HS: Lắng nghe, ghi chú, một HS phát biểu lại các tính chất. + Các nhóm nhận xét, bổ sung cho nhau. * Bước 4: Kết luận, nhận định: GV chính xác hóa và gọi 1 học sinh nhắc lại kiến thức Bài 5: Cho dãy A = {a0, a1, , an}và số nguyên i (n <= 105, 0 ≤ i ≤ n). Tìm cách xóa các phần tử ai sao cho dãy số sau khi xóa các phần tử còn lại vẫn giữ nguyên thứ tự n=int(input("Nhập n = ")) i=int(input("Nhập i = ")) print("Nhập dãy a[0..n] gồm",n+1,"số:") a=[] for x in range(0,n+1): a.append(float(input())) # cách 1 b=[] for x in range(len(a)): if a[x]!=a[i]: b.append(a[x]) print(b) Cách 2: n=int(input("Nhập n = ")) i=int(input("Nhập i = ")) print("Nhập dãy a[0..n] gồm",n+1,"số:") a=[] for x in range(0,n+1): a.append(float(input())) # cách 2 a.pop(i) # lấy p.tử a[i] ra khỏi list rồi xóa nó tại vị trí i print(a) Bài 6: Cho dãy số nguyên A = {a0, a1, , an}và chỉ số i, giá trị v (n <= 105, 0 ≤ i ≤ n). Tìm cách chèn phần tử v vào trước ai sao cho vẫn giữ nguyên thứ tự các phần tử còn lại n=int(input("Nhập n = ")) i=int(input("Nhập chỉ số i = ")) v=int(input("Nhập v = ")) print("Nhập dãy a[0..n] gồm",n+1,"số:") a=[] for x in range(0,n+1): a.append(int(input())) a.insert(i,v) # chèn v vào vị trí i trong danh sách a print(a) 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 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: Bài 7: Cho mảng A gồm các số nguyên a0, a1, , an (n <= 1000). Hãy sắp xếp lại mảng A sao cho a0 ≤ a1 ≤ ≤ an D. 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: HS sử dụng SGK và 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 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 chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi và bài tập vận dụng. * HƯỚNG DẪN VỀ NHÀ: - Ôn lại bài học hôm nay; - Chuẩn bị trước cho tiết sau. * RÚT KINH NGHIỆM ..................................................................................................................................... .....................
Tài liệu đính kèm:
- giao_an_tin_hoc_lop_11_bai_tap_va_thuc_hanh_8_du_lieu_kieu_d.docx