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