Giáo án Tin học Lớp 11 - Bài: Kiểu dữ liệu tệp - Hoàng Thị Thanh Tâm

Giáo án Tin học Lớp 11 - Bài: Kiểu dữ liệu tệp - Hoàng Thị Thanh Tâm

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:

pdf 5 trang Đoàn Hưng Thịnh 02/06/2022 8351
Bạn đang xem tài liệu "Giáo án Tin học Lớp 11 - Bài: Kiểu dữ liệu tệp - Hoàng Thị Thanh Tâm", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Trường: THPT THĂNG LONG 
Tổ: LÝ - CN 
Họ và tên giáo viên 
Hoàng Thị Thanh Tâm 
Mình có đủ bộ giáo án word và pp chuẩn 5512 dạy Python kèm ngân hàng câu 
hỏi trắc nghiệm 191 câu và đáp án (Bạn nào có nhu cầu liên hệ zalo: 0948875129) 
có kèm phí nhỏ ạ 
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ụ: 
? Nêu vai trò kiểu tệp 
? Đặc điểm của kiểu tệp 
? Tệp có mấy loại 
* 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ụ: 
? Các thao tác với tệp là gì? 
? Một số phương thức làm việc với tệp 
* 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. 
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’) 
* 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 
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 
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() 
- 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 
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() 
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:

  • pdfgiao_an_tin_hoc_lop_11_bai_kieu_du_lieu_tep_hoang_thi_thanh.pdf