Giáo án Tin học Lớp 11 - Bài 16: Kiểu dữ liệu tiệp - Trường THPT Thăng Long
I. MỤC TIÊU
1. Kiến thức:
- Biết khái niệm về kiểu dữ liệu tệp.
- Biết các lệnh khai báo tệp văn bản.
- Biết các bước làm việc với tệp:
- Biết một số hàm và thủ tục chuẩn làm việc với tệp.
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 về kiểu dữ liệu tệp
a) Mục tiêu: Nắm được về kiểu dữ liệu tệp
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 Tên bài dạy KIỂU DỮ LIỆU 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: - Biết khái niệm về kiểu dữ liệu tệp. - Biết các lệnh khai báo tệp văn bản. - Biết các bước làm việc với tệp: - Biết một số hàm và thủ tục chuẩn làm việc với tệp. 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 về kiểu dữ liệu tệp a) Mục tiêu: Nắm được về kiểu dữ liệu tệp 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ụ: * 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 I. Vai trò của kiểu tệp Tất cả các dữ liệu thuộc các kiểu dữ liệu đã học đều được lưu trữ ở bộ nhớ RAM và do đó dữ liệu sẽ bị mất khi tắt máy => Với bài toán có khối lượng dữ liệu lớn, có yêu cầu lưu trữ để xử lí nhiều lần, cần có kiểu tệp Đặc điểm của kiểu tệp: Dữ liệu được lưu trữ lâu dài ở bộ nhớ ngoài và không bị mất khi tắt nguồn điện Lượng dữ liệu lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa 2) Phân loại tệp Trong Python, file có 2 loại: Text File · Được cấu trúc như một dãy các dòng, mỗi dòng bao gồm một dãy các kí tự và một dòng tối thiểu là một kí tự dù cho dòng đó là dòng trống. · Các dòng trong text file được ngăn cách bởi một kí tự newline và mặc định trong Python chính là kí tự escape sequence newline \n. Binary File · Các file này chỉ có thể được xử lí bởi một ứng dụng biết và có thể hiểu được cấu trúc của file này. · Và chúng ta ở đây với mức độ cơ bản chỉ xử lí text file. Hoạt động 2: Tìm hiểu các thao tác cơ bản với tệp a) Mục tiêu: Nắm được Khai báo tệp và các thao tác cơ bản với tệp 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 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ụ: * 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 Hoặc: f=open("FPRIME.inp",'r') g=open("FPRIME.out",'w') n=int(f.readline()) i=2 while n>1: while n%i==0: g.write(str(i)+" ") n=n//i i=i+1 f.close() g.close() Chương trình bài 3 f=open("GCDSEQ.inp",'r') g=open("GCDSEQ.out",'w') n=int(f.readline()) a=list(map(int,f.readline().split())) def ucln(x,y): r=x%y while r!=0: x=y; y=r; r=x%y return y for i in range(0,len(a)-1): u=ucln(a[i+1],a[i]) g.write(str(u)) f.close() g.close() II. Thao tác với tệp văn bản 1) Mở tệp để đọc Cú pháp: = open(tên_tệp, mode=’r’) 2) Mở tệp để ghi Cú pháp: = open(tên_tệp, mode=’w’) Ví dụ: f = open(‘vd.inp’, ‘r’) g = open(‘vd.out’, ‘w’) 3) Đọc và ghi tệp Phương thức readline Cú pháp: .readline() Công dụng: · Chỉ đọc một dòng có nghĩa là đọc tới khi nào gặp newline hoặc hết file thì ngừng. · Con trỏ file cũng sẽ đi từ dòng này qua dòng khác. · Kết quả đọc được trả về dưới dạng một chuỗi. · Nếu không đọc được gì, phương thức sẽ trả về một chuỗi có độ dài bằng 0 Ví dụ: f = open(‘vd.inp’, ‘r’) s = f.readline() Chú ý: muốn đọc 1 số nguyên làm như sau s = int(f.readline() Phương thức write Cú pháp: .write(text) Công dụng: Phương thức này sẽ trả về số kí tự mà chúng ta ghi vào. Ví dụ: g = open(‘vd.out’, ‘w’) g.write(s) Lưu ý: Mỗi lần sử dụng write. Con trỏ file sẽ được đặt ngay sau kí tự cuối cùng được ghi Để ghi dữ liệu trên nhiều dòng, ta có thể xuống dòng bằng câu lệnh .write(t”\n”) Đóng tệp Cú pháp: .close() Ví dụ: f.close() g.close() Ví dụ: Đọc từ tệp text vd.inp một mảng a gồm các số nguyên dương. Tính tổng các phần tử trong mảng và ghi kết quả ra tệp văn bản vd.out Hướng dẫn: Đọc chuỗi trong tệp ra Tách chuỗi thành các số nguyên Tính tổng Ghi vào tệp Bài tập Bài 1: Cho 3 số nguyên dương p, q, r Yêu cầu: Kiểm tra 3 số này, theo thứ tự có tạo thành một cấp số nhân hay không. Nếu có thì in ra “YES”, ngược lại thì in ra “NO” Dữ liệu vào: Từ file văn bản MULSEQ.INP: Gồm một dòng chứa 3 số nguyên dương p, q, r (p, q ≤ 109). Các số viết cách nhau một dấu cách Dữ liệu ra: Ghi ra file văn bản MULSEQ.OUT - Gồm 1 dòng ghi YES hoặc NO tương ứng với kết quả của bài toán dãy số là cấp số nhân hay không là cấp số nhân f=open("MULSEQ.inp",'r') g=open("MULSEQ.out",'w') s=f.readline() p,q,r=map(int,s.split()) if q*q==p*r: g.write("YES") else: g.write("NO") f.close() g.close() Bài 2: Cho một số nguyên dương n Yêu cầu: Phân tích n thành tích các thừa số nguyên tố. In ra tích các thừa số nguyên tố theo thứ tự từ bé đến lớn Dữ liệu vào: Từ file văn bản FPRIME.INP: Gồm một số nguyên dương n (2 ≤ n ≤ 106). Dữ liệu ra: Ghi ra file văn bản FPRIME.OUT - Gồm 1 dòng ghi ra số theo yêu cầu của đề bài, mỗi số cách nhau một dấu cách f=open("FPRIME.inp",'r') g=open("FPRIME.out",'w') n=int(f.readline()) i=2 while n>1: while n%i!=0: i=i+1 g.write(str(i)+" ") n=n//i f.close() g.close() Bài 3: Cho một dãy số nguyên dương có n phần tử Yêu cầu: Tìm ước chung lớn nhất của dãy số đó Dữ liệu vào: Từ file văn bản GCDSEQ.INP gồm: Dòng 1: gồm một số nguyên dương n (n ≤ 1000). Dòng 2: gồm n số nguyên dương là các phần tử của dãy số. (Các số có giá trị không vượt quá 106 và các số cách nhau 1 dấu cách) Dữ liệu ra: Ghi ra file văn bản GCDSEQ.OUT - Gồm 1 số nguyên duy nhất là ước chung lớn nhất của dãy số 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: - Nhắc lại các thao tác trên tệp văn bản? - Hãy đoán xem đoạn chương trình trên thực hiện công việc gì? 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: Trong tệp ‘bai2.txt’ trên ổ C có nội dung: 5 10 15 tương ứng với các biến a,b,c (kiểu nguyên). hãy đọc dữ liệu từ tệp ‘bai2.txt’ và tính giá trị biểu thức: T= ghi kết quả vào tệp ‘bai3.txt’ * 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_16_kieu_du_lieu_tiep_truong_thpt.docx