Giáo án Tin học Lớp 11 - Bài tập thực hành 9: Kiểu dữ liệu tệp - Trường THPT Thăng Long
I. MỤC TIÊU
1. Kiến thức
- Luyện cách làm việc với tệp văn bản
- Rèn luyện kỹ năng biên soạn, hiệu chỉnh và thực hiện chương trình.
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: làm một số bài tập
a) Mục tiêu: làm được một số bài tập sử dụng câu lệnh for-do
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
BÀI TẬP THỰC HÀNH 9
KIỂU DỮ LIỆU TỆ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
- Luyện cách làm việc với tệp văn bản
- Rèn luyện kỹ năng biên soạn, hiệu chỉnh và thực hiện chương trình.
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: làm một số bài tập
a) Mục tiêu: làm được một số bài tập sử dụng câu lệnh for-do
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 học sinh thực hiện chương trình với nhiều input khác nhau.
* 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
Ví dụ:
Ví dụ:
Bài 1: Cho N điểm trong mặt phẳng tọa độ Ai = (xi, yi). Khoảng cách Manhattan giữa hai điểm A và B có giá trị D = |xA – xB| + |yA – yB|
Yêu cầu: Tính khoảng cách Manhattan lớn nhất giữa các cặp điểm đã cho
Dữ liệu vào: Từ file văn bản DISTANCE.INP:
Dòng 1: ghi số nguyên dương n (2 ≤ n ≤ 105).
Dòng 2 .. N + 1: mỗi dòng 2 số nguyên thể hiện tọa độ của điểm (|xi|, |yi| ≤ 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 DISTANCE.OUT
- Gồm 1 số nguyên duy nhất là kết quả bài toán
f=open("DISTANCE.INP",'r')
g=open("DISTANCE.out",'w')
n=int(f.readline())
a=[]
for x in range(0,n):
b=list(map(int,f.readline().split()))
a.append(b)
print(a)
def kc(x1,y1,x2,y2):
r=abs(x2-x1)+abs(y2-y1)
return r
d=0
for x in range(len(a)-1):
i=kc(a[x][0],a[x][1],a[x+1][0],a[x+1][1])
if d<i:
d=i
g.write(str(d))
f.close()
g.close()
Bài 2 : Xét dãy số nguyên dương khác nhau từng đôi một: a1, a2, an, trong đó 1 ≤ ai ≤ 106, 1 ≤ n ≤ 105). Với số nguyên x cho trước (1 ≤ x ≤ 200000). Hãy xác định số cặp (ai, aj) thỏa mãn các điều kiện:
+ ai + aj = x
+ 1 ≤ i ≤ j ≤ n
Dữ liệu vào: Từ file văn bản SUMX.INP gồm:
Dòng 1: chứa số nguyên dương n
Dòng 2: chứa n số nguyên a1, a2, an. Các số cách nhau bởi dấu cách
Dòng 3 chứa số nguyên x
Dữ liệu ra: Ghi ra file văn bản SUMX.OUT một số nguyên – số cặp tìm được
f=open("SUMX.inp",'r')
g=open("SUMX.out",'w')
n=int(f.readline())
a=list(map(int,f.readline().split()))
x=int(f.readline())
d=0
for i in range(len(a)):
for j in range(i,len(a)):
if a[i]+a[j]==x:
d=d+1
g.write(str(d))
f.close()
g.close()
Hoạt động 2: làm một số bài tập sử dụng cấu trúc rẽ nhánh, lặp
a) Mục tiêu: làm được một số bài tập sử dụng cấu trúc rẽ nhánh, lặ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ài 1: Nhập vào ba số a,b,c bất kì.
Kiểm tra xem nó có thể là độ dài ba cạnh hay không, nếu không thì in ra màn hình ' Khong la ba canh cua mot tam giac'. Ngược lại, thì in chu vi, diện tích của tam giác đó ra màn hình.
Gv: em hãy xác định input và output của bài toán?
Bài 2: viết chương trình nhập vào số nguyên dương N. Tính tổng các số chẵn từ 1 tới N.
* 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.
Program TAMGIAC;
Uses crt;
Vara, b, c, s, p: real;
Begin
Clrscr;
Write ('nhap a ='); readln(a);
Write ('nhap b ='); readln(b);
Write ('nhap c ='); readln(c);
If (a>0) and (b>0) and (c>0) and
(a+b>c) and (b+c>a) and (a+c>b) then
Begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln('Chu vi tam giac:',2*p:4:2) ;
Writeln('Dien tich tam giac:',s:4:2);
End
Else
+ 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
Writeln(‘ a, b, c khong phai la ba canh cua tam giac') ; Readln;
End.
Var I, N, S: integer;
Begin
S:=0;
Write(‘Nhap N=’); readln(N);
For i:=1 to N do
If (I mod 2=0) then S:=S+I;
Write(‘Tong chan la:’,S);
Readln
End.
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ận xét về ý thức học tập của học sinh và những lỗi thường mắc phải khi thực hành.
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_thuc_hanh_9_kieu_du_lieu_tep.docx



