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:
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:
giao_an_tin_hoc_lop_11_bai_kieu_du_lieu_tep_hoang_thi_thanh.pdf



