Giáo án Tin học Lớp 11 - Học kỳ II - Năm học 2013-2014
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức
- Biết khái niệm về kiểu dữ liệu tệp.
- Biết khái niệm tệp định kiểu và tệp văn bản.
- Biết các lệnh khai báo tệp kiểu và tệp văn bản.
- Biết các bước làm việc với tệp: gán tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp.
- Biết một số hàm và thủ tục chuẩn làm việc ví i tệp.
2. Kỹ năng
- Khai báo đúng tên tệp.
- Sử dụng một số hàm và thủ tục chuẩn làm việc ví i tệp.
3. Thái độ
- Ham thích môn học, có tính kỷ luật cao và tính thần làm việc theo nhóm.
- Tiếp tục rèn luyện các phẩm chất cần thiết của người lập trình như: xem xét vấn đề một cách cẩn thận, chu đáo, sáng tạo, không thỏa mãn ví i các kết quả ban đầu đạt được,
II. CHUẨN BỊ
1. Gv. Máy chiếu, máy tính, giáo án, sgk.
2. Hs. Sgk, vở ghi
III. PHƯƠNG PHÁP
- Thuyết trình, vấn đáp
IV. NỘI DUNG
1. Ổn định lớp
2. Kiểm tra bài cũ
Câu 1: Có pháp khai báo biến kiểu xâu, mảng 1 chiều, 2 chiều?
Câu 2: Những kiểu dữ liệu này được lưu trữ ở RAM, khi tắt máy thì sao?
3. Bài mới
I. MỤC ĐÍCH, YÊU CẦU
1. Kiến thức
Củng cố lại kiến thức đã học về tệp trong chương 5 thông qua ví dụ.
2. Kỹ năng
Sử dụng được các hàm và thủ tục liên quan để giải quyết các bài tập.
3. Thái độ
- Thấy được sự cần thiết và tiện lợi của kiểu dữ liệu tệp.
- Có ý thức lưu trữ dữ liệu một cách khoa học.
II. CHUẨN BỊ
1. Gv: Giáo án, máy chiếu Projector để hướng dẫn
2. Hs: SGK, vở.
III. PHƯƠNG PHÁP
- Thuyết trình và giảng giải, kết hợp các hình ảnh trực quan.
- Sử dụng các câu hỏi gợi mở, nêu vấn đề cho học sinh trả lời
IV. NỘI DUNG
1. Ổn định lớp
2. Kiểm tra bài cũ
* Câu hỏi: Sắp xếp các bảng dưới đây theo thứ tự các bước mở tệp để ghi và để đọc?
Assign(
* Đáp án:
- Mở để ghi: + Assign(
- Mở để đọc: + Assign(
3. Bài mới
* Đặt vấn đề
- Bài học trước các em đã được làm quen với một kiểu dữ liệu mới đó là kiểu dữ liệu tệp, để các em nắm chắc hơn phần kiến thức lí thuyết đã học, bài học hôm nay chúng ta sẽ đi vào tìm hiểu một số ví dụ cụ thể.
* Triển khai
I.MỤC ĐÍCH, YÊU CẦU
1.Kiến thức
- Ôn lại các kiến thức về bản ghi: cú pháp khai biến, cách tham chiếu, một số câu lệnh liên quan đến thao tác xử lý bản ghi.
- Nắm được một số thuật toán: Nhập và thông báo kết quả các trường, sắp xếp dữ liệu.
2.Kỹ năng
- Khai báo được kiểu bản ghi trong NNLT Pascal.
- Nhập xuất dữ liệu cho biến bản ghi
- Tham chiếu đến từng trường của kiểu bản ghi.
- Sử dụng kiểu bản ghi để giải quyết một số bài toán.
3.Thái độ
Tiếp tục rèn luyện các phẩm chất cần thiết của nguời lập trình như: ý thức chọn và xây dựng kiểu dữ liệu, ý thức rèn luyện kỹ năng,.
III. CHUẨN BỊ
1. Gs Giáo án, SGK, máy chiếu, giấy A0 và bút.
2. Hs. Chuẩn bị bài ở nhà.
II. PHƯƠNG PHÁP
Vấn đáp tái hiện + Thảo luận nhóm
IV. NỘI DUNG
1.Ổn định lớp
2. Kiểm tra bài cũ
Câu 1: Hãy nêu cú pháp về khai báo biến bản ghi?
Câu 2: Hãy khai báo biến bản ghi của ví dụ sau:
BẢNG ĐIỂM TRUNG BÌNH NĂM HOC 2007-2008
thủ tục, vị trí khai báo của thủ tục, lời gọi thủ tục. HS: Quan sát, theo dõi ví dụ. GV: Vị trí của thủ tục nằm ở phần nào trong chương trình chính? HS: Ở phần khai báo, sau phần khai báo biến. GV: Cấu trúc của thủ tục gồm có mấy phần? HS: Ba phần: tên, khai báo, phần than. GV: Phân biệt sự giống và khác nhau giữa chương trình chính và chương trình con. HS: Giống: cấu trúc chung. Khác: trong phần tên, từ khoá đặt tên Prcedure có các tham số. GV: Yêu cầu học sinh xác định cấu trúc chung của thủ tục. - Lời gọi thủ tục ta viết ở phần nào trong chương trình? HS: Trong phần thân của chương trình. 1. Cách viết và sử dụng thủ tục a. Cấu trúc của thủ tục Procedure []; [] Begin [] End; * Trong đó: - Phần đầu gồm tên dành riêng và tên thủ tục, danh sách tham số (có thể có hoặc không); - Phần khai báo: dùng để xác định các hằng, kiểu, biến và cũng có thể xác định các chương trình con khác được sử dụng trong thủ tục. - Dãy câu lệnh được viết giữa cặp tên dành riêng Begin và End tạo thành thân thủ tục. Hoạt động 2: (Theo từng nhóm) (10p) GV: Chiếu ví dụ 2, yêu cầu học sinh nhận xét về thủ tục ve_HCN của ví dụ này với ví dụ trước. * Tổ chức hoạt động nhóm; - Phân nhóm từ 4-6 em - Công việc: Xác định bản chất của thủ tục ve_HCN; - Câu hỏi: câu lệnh nào thực hiện vẽ cạnh trên, hai cạnh bên và câu lệnh nào thực hiện vẽ cạnh dưới. - Kết thúc hoạt động: thu kết quả của các nhóm, yêu cầu các nhóm trình bày kết quả của nhóm. - Cho các nhóm nhận xét kết quả bài làm của nhau. - GV: nhận xét kết quả và đưa ra kết luận (có thể cho điểm các nhóm nếu bài làm tốt) GV: Trong chương trình chính ta vẽ tất cả bao nhiêu thủ tục. GV: Giới thiệu và tham số giá trị bvà tham số biến. b. Ví dụ về thủ tục * Ví dụ 1; Program VD_thutuc2; Uses crt; Var a, b, i: integer; Procedure Ve_HCN(chdai, chrong: integer); Var i,j: integer; Begin {Ve canh tren cua hinh chu nhat} For i:=1 to chdai do write(‘*’); Writeln; For j:=1 to chrong-2 do write(‘ ’); Begin Write(‘*’); For i:=1 to chdai-2 do write(‘ ’); Writeln(‘*’); End; For i:=1 to chdai do write(‘*’); Writeln; End; BEGIN {Bat dau chuong trinh chinh} Clrscr; Ve_HCN(25,10); Writeln; Writeln; Ve_HCN(5,10); Readln; Clrscr; a:=4; b:=2; For i:=1 to 4 do Begin Ve_HCN(a,b); Readln; clrscr; a:=a*2; b:=b*2; end; Readln; END. * Tham số giá trị: có hai chức năng - Đưa dữ liệu vào cho chương trình con; - Đưa dữ liệu chương trình con tìm được ra. * Tham số biến: trong lệnh gọi thủ tục, các tham số hình thức được thay bằng các tham số thực sự tương ứng là tên các biến chứa dữ liệu ra được gọi là các tham số biến. Hoạt động 3: Chung cả lớp GV: Chiếu VD_thambien1 len bảng. Hỏi: thủ tục trên thực hiện công việc gì; HS: Hoán đổi giá trị hai biến dữ liệu vào cho nhau. GV: Chạy chương trình và thực hiện đổi phần khai báo thành: Procedure Hoan_doi (x: integer; var y: integer); để HS quan sát và nhận xét sự khác nhau giữa tham biến và tham trị. Program VD_thambien1; Uses crt; Var a, b: integer; Procedure Hoan_doi (var x, y: integer); Var TG: integer; Begin TG:=x; x:=y; y:=TG; End; BEGIN Clrscr; A:= 5; b:=10; Writeln(a:6, b:6); Hoan_doi(a,b); Writeln(a:6,b:6); END. 4. Củng cố, dặn dò - Khi nào thì cần khai báo tham số trong phần khai báo của chương trình con theo kiểu tham biến, khi nào thì theo kiểu tham trị. - Phân biệt sự giống và khác nhau giữa tham biến và tham trị. - Xem tiếp nội dung còn lại của bài. - Viết thủ tục tìm và thông báo ra màn số lớn nhất giữa ba số a, b, c. V. PHỤ LỤC Tuần: 27 Ngày soạn: 24/02/2014 Tiết: 44 Ngày dạy: 03/03/2014 Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON I. MỤC ĐÍCH, YÊU CẦU 1. Kiến thức - Giúp học sinh nắm được: - Cấu trúc chung của thủ tục trong chương trình. - Phân biệt được tham số và tham trị. - Các khái niệm về biến toàn cục và biến cục bộ. 2. Kỹ năng - Nhận biết được các thành phần trong đầu của thủ tục. - Nhận biết được hai loại tham số hình thức trong đầu của hai thủ tục. - Biết cách khai báo hai loại chương trình con cùng với tham số hình thức của chúng. - Cách viết lời gọi chương trình con trong thân chương trình chính. - Phân biệt được sự khác nhau cơ bản giữa hàm và thủ tục. - Phân biệt và sử dụng đúng biến toàn cục và biến cục bộ. 3. Thái độ - Tiếp tục rèn luyện các phẩm chất của người lập trình như tinh thần hợp tác, sẵn sàng làm việc theo nhóm, tuân thủ theo yêu cầu vì một việc chung. - Có ý thức lưu trữ dữ liệu một cách khoa học. II. CHUẨN BỊ 1. Giáo viên: Giáo án, máy chiếu Projector để hướng dẫn 2. Học sinh: SGK, vở. III. PHƯƠNG PHÁP - Thuyết trình và giảng giải, kết hợp các hình ảnh trực quan. - Sử dụng các câu hỏi gợi mở, nêu vấn đề cho học sinh trả lời, tổ chức hoạt động theo nhóm IV. NỘI DUNG 1. Ổn định tổ chức (1p) 2. Kiểm tra bài cũ 3. Bài mới a. Đặt vấn đề (1p) - Bài học trước các em đã được tìm hiểu về chương trình con, cấu trúc và phân loại. Vậy chương trình con được viết như thế nào, sử dụng chúng ra sao, có gì giống và khác với chương trình chính không? Bài học hôm nay chúng ta sẽ tìm hiểu nội dung này. b. Triển khai bài HOẠT ĐỘNG GV & HS NỘI DUNG Hoạt động 1: theo từng nhóm GV: Cho biết tên và cách sử dụng một số hàm đã học? HS: Hàm abs(), sqrt(),.. - Viết tên hàm cần gọi và các tham số. - Lời gọi hàm được viết trong các biểu thức như một toán hạng, thậm chí là tham số của một hàm khác. GV: Chuẩn xác. - Điểm khác biệt giữa thủ tục và hàm là gì? HS: Trong than hàm cần có lệnh gán giá trị cho tên hàm. GV: hãy so sánh sự giống và khác nhau giữa hàm và thủ tục? HS: giống: có cấu trúc tương tự, có các tham số,.. - Khác: Tên hàm phải quy định kiểu dữ liệu; Trong than hàm phải có lệnh: tên_hàm:= biểu_thức; Bắt đầu của hàm là từ khoá Function. §18 Ví dụ về cách viết và sử dụng chương trình con 1. Cách viết và sử dụng hàm a. Cấu trúc của thủ tục Function []: ; [] Begin [] := ; End; Hoạt động 2: Theo từng nhóm Hoạt động 2: (Theo từng nhóm) (15p) GV: Chiếu ví dụ rút gọn phân số. - Trong chương trình có sử dụng bao nhiêu hàm. HS: một hàm. GV: hàm UCLN(x,y) dùng để làm gì? - Lời gọi hàm nằm ở đâu? Có gì khác với thủ tục trong lời gọi hàm? HS: Lệnh a:=UCLN(tuso, mauso) ; - Lời gọi hàm phải được đặt trong một lệnh hoặc trong một lời gọi chương trình con khác. GV: Có những biến nào được sử dụng trong chương trình? Các biến đó được khai báo ở chổ nào trong chương trình chính? HS: tuso, mauso, a : khai báo trong chương trình chính. - sodu: được khai báo trong chương trình con. GV: Yêu cầu học sinh phân biệt sự giống và khác nhau của biến toàn cục và biến cục bộ. GV: chạy chương trình để học sinh kiểm nghiệm và tự rút ra kết luận. b. Ví dụ về hàm * Ví dụ 1; Program Rutgon_Phanso; Uses crt; Var a, tuso, mauso: integer; Function UCLN(x,y: integer):integer; Var sodu: integer; Begin While y0 do Begin Sodu:= x mod y; X:= y; Y:= sodu; End; UCLN:=x; End; BEGIN {Bat dau chuong trinh chinh} Clrscr; Write(‘Nhap tu so va mau so: ‘); readln(tuso,mauso); A:=UCLN(tuso, mauso); If a>1 then Begin Tuso:= tuso div a; Mauso:= mauso div a; end; Writeln(tuso:5, ‘/’ ,mauso:5); Readln; END. Hoạt động 3: Chung cả lớp GV: Chiếu ví dụ Minbaso lên bảng minh hoạ cho học sinh cách gọi hàm. HS: Chú ý quan sát và theo dõi. * Ví dụ 2: Program Minbaso; Uses crt; Var a, b, c: real; Function Min(a,b: real):real; Begin If a<b then min:=a Else min:=b; End; BEGIN {Bat dau chuong trinh chinh} Clrscr; Write(‘Nhap vao ba so: ‘); readln(a,b,c); Writeln(‘So nho nhat trong ba so la: ‘,min(a,b,c); Readln END. 4. Củng cố, dặn dò - Phân biệt sự giống và khác nhau giữa hàm và thủ tục - Phân biệt sự giống và khác nhau giữa biến toàn cục và biến cục bộ - Xem trước nội dung bài thực hành số 6. - Viết hàm tìm số lớn nhất giữa ba số a, b, c. V. PHỤ LỤC Tuần: 28 Ngày soạn: 03/03/2014 Tiết: 45 Ngày dạy: 10 /03/2014 BÀI TẬP I. MỤC ĐÍCH, YÊU CẦU 1. Kiến thức Củng cố lại cho học sinh các kiến thức cơ bản của chương 2. Kỹ năng: - Nâng cao kĩ năng sử dụng một số lệnh kiểu dữ liệu tệp. - Gắn tên tệp; + Mở tệp; + Đóng tệp; - Biết giải một số bài toán cụ thể thường gặp. 3. Thái độ Góp phần rèn luyện tác phong, tư duy lập trình: Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm kiến thức. II. CHUẨN BỊ 1. Gv. Giáo án, một số bài tập và đáp án. 2. Hs. SGK, sách bài tập và bài tập đã làm ở nhà. III. PHƯƠNG PHÁP - Thuyết trình và giảng giải, kết hợp với hình ảnh trực quan. - Sử dụng các câu hỏi gợi mở, nêu vấn đề cho học sinh trả lời IV. NỘI DUNG 1. Ổn định tổ chức (1p) 2. Kiểm tra bài cũ 3. Bài mới. a. Đặt vấn đề b. Triển khai bài mới HOẠT ĐỘNG GV & HS NỘI DUNG Hoạt động 1: Làm bài tập 1 Viết chương trình đọc và hiển thị ra màn hình nội dung một tập tin dạng văn bản, với tên tập tin được nhập từ bàn phím (có kiểm tra sự tồn tại của tập tin). GV: Gọi học sinh lên bảng viết chương trình (Không cần kiểm tra sự tồn tại của tập tin). GV: Có thể đưa ra một số câu hỏi gợi ý sau: - Biến tên tập tin có kiểu gì? - Trước khi gắn tên tệp cho biến tệp ta cần phải làm gì? - Để đọc được dữ liệu từ tệp ta cần dùng câu lệnh nào để mở tệp? - Để đọc hết dữ liệu trong tệp ta làm thế nào? - Khi nào thì xuất dữ liệu ra màn hình? HS: Nghiên cứu, vận dụng kiến thức đã học để trả lời. GV: Yêu cầu học sinh viết chương trình hoàn thiện. HS: Viết chương trình. GV: Đánh giá, hoàn thiện và cho điểm. Program Doc_tep; Var tep: string; ch: char; f: text; Begin Write('Nhap ten File can doc: '); readln(tep); Assign(f,tep); reset(f); While not eof(f) do begin read(f,ch); write(ch); end; close(f); readln; End. Hoạt động 2: cách lồng hàm và hoàn thiện chương trình Gv. hướng dẫn cho học sinh cách lồng hàm kiểm tra sự tồn tại của tập tin vào trong chương trình và hoàn thiện nội dung bài tập 1 Program Doc_tep; Var tep: string; ch: char; f: text; FUNCTION FileExists(FileTest: string): Boolean; Var f: File; Begin {$I-} Assign(f,FileTest); reset(f); Close(f); {$I+} FileExists
File đính kèm:
- Giao_an_11_k2.doc