Giáo án Tin học 11 - Tiết 37 đến tiết 53

20 13 0
Giáo án Tin học 11 - Tiết 37 đến tiết 53

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

+ Nhận biết được các thành phần trong đầu hàm, các câu lệnh sử dụng hàm ở trong chương trình chính cùng với các tham số thực sự..  Về thái độ : + Tiếp tục rèn luyện các phẩm chất của ng[r]

(1) Bài 14,15 Kiểu Dữ Liệu Tệp Và Thao Tác Với Tệp Tuaàn : 20 Tieát : 37 Chöông V : Ngày soạn : 17/12/08 Ngaøy daïy : / / Tệp Và Thao Tác Với Tệp 3(2,0,1) §14 KIỂU DỮ LIỆU TỆP §15 THAO TÁC VỚI TỆP I/- Muïc ñích – yeâu caàu :  Về kiến thức : + Bieát khaùi nieäm vaø vai9 troø cuûa teäp + Biết hai cách phân loại tệp : theo cách tổ chức liệu và theo cách truy cập + Hieåu baûn chaát cuûa teäp vaên baûn  Veà kyõ naêng : + Khai báo đúng tệp văn + Biết sử dụng số hàm và thủ tục chuẩn làm việc với tệp  Về thái độ : + Thấy cần thiết và tiện lợi kiểu liệu tệp Có ý thức lưu trữ liệu cách khoa học, phòng chống mát nhiễm virus GD thêm ý thức tôn trọng quyền II/- Chuaån bò :  GV : + Phải có giáo án và các đồ dùng dạy học liên quan đến bài dạy  HS : + Đọc trước sách giáo khoa nhà  PP : + Diễn giảng ,phát vấn và gợi mở III/- Hoạt động dạy học : Ổn định lớp : Kiểm tra sĩ số (1’) Kieåm tra baøi cuõ : (4’) Nội dung bài : TG Hoạt Động Của GV Tieát + Đặt vấn đề : Sau chạy Hoạt Động Của HS Noäi Dung Baøi 37 chöông trình ta thaáy keát quaû in leân maøn hình, nhieân muoán sử dụng kết đó thì không Vì nó không lưu trữ lâu dài Để khắc phục nhược ñieåm naøy ta sang baøi 14 kieåu liệu tệp ? Trong MT có loại + Bộ nhớ ngoài và 1/- Vai trò kiểu tệp : nhớ nào ? Loại nhớ nào nhớ - Dữ liệu kiểu tệp lưu trữ lâu dài không bị liệu tắt + Bộ nhớ ngoài nhớ ngoài( đĩa từ, CD, ) và không máy điện ? bò maát ñi taét maùy Tin Hoïc 11  Lop11.com Trang (2)  Bài 14,15 Kiểu Dữ Liệu Tệp Và Thao Tác Với Tệp ? Vậy theo em thì các kiểu liệu đã học lưu trữ nhớ nào ? Theo em liệu kiểu tệp lưu trữ trên nhớ nào ? + Lưu trữ nhớ - Lượng liệu lưu trữ trên tệp lớn (RAM) và phụ thuộc vào dung lượng đĩa + Lưu trữ nhớ ngoài 2/- Phân loại tệp và thao tác với teäp : + Tệp văn : gồm các kí tự tổ chức và quản lí theo dòng Khi truy cập tệp, trỏ tệp di chuyển trên các dòng từ đầu dòng veà cuoái doøng Cuoái moãi doøng có nhóm kí tự điều khiển báo hết dòng và chuyển tới đầu doøng tieáp theo Caùch truy caäp tệp văn thường là truy cập + Teäp coù caáu truùc : laø teäp maø các thành phần nó tổ chức theo cấu trúc định ( Vd tổ chức theo các phần tử cùng kiểu ) Cách truy cập tệp có cấu trúc thường là truy cập trực tiếp, biết kích thước phần tử nên có thể định vị trỏ tệp đến vị trí ( phần tử ) cần truy caäp * Để nắm rõ kiểu liệu tệp, ta sang bài 15 thao tác với tệp + Có thao tác tệp là ghi liệu vào tệp và đọc liệu từ tệp Ta xét xem Pascal caùc thao taùc đó thể nào tệp văn ?  Theo cách tổ chức liệu : ( phân thành loại ) - Teäp vaên baûn - Teäp coù caáu truùc  Theo cách thức truy cập : ( phân thành loại ) - Tệp truy cập - Tệp truy cập trực tiếp §15 THAO TÁC VỚI TỆP 1/- Khai baùo : - Khai baùo bieán teäp vaên baûn coù daïng : Var < Teân bieán teäp > : Text ; Vd : Var F : Text ; + Khai baùo treân xaùc ñònh bieán teäp vaên baûn : A, B Tin Hoïc 11 2/- Thao tác với tệp : a) Gaén teân teäp : - Mỗi tệp liệu có tên tệp để  Lop11.com Trang (3)  Bài 14,15 Kiểu Dữ Liệu Tệp Và Thao Tác Với Tệp + Trong laäp trình, ta khoâng thao tác trực tiếp với tệp liệu treân ñóa maø thoâng qua bieán teäp Có thể hình dung biến tệp NNLT sử dụng đại diện cho teäp tham chiếu Tên tệp là biến xâu haèng xaâu Vd : DULIEU.DAT  ASSIGN(<bieán teäp >, < teân teäp > ) - Lệnh này dùng để gán tên tệp vào bieán kieåu teäp VD : ASSIGN(F, ‘DULIEU.DAT’) - Gaén teân teäp ‘DULIEU.DAT’ vaøo bieán teäp F VD : Để đọc liệu từ tệp INP.DAT đĩa C:\ , ta cần gắn tệp đó với biến teäp F : ASSIGN( F, ‘ C:\INP.DAT ’) b) Mở tệp : VD : Để gắn tên tệp KQ.TXT cho bieán teäp F : ASSIGN(F, ‘KQ.TXT’) + Để mở tệp ta có trường hợp : mở để ghi bài( ghi liệu) và mở để học bài (đọc liệu)  Ta có thủ tục để mở tệp : + Thủ tục Rewrite + Mở tệp để ghi liệu : ? Vaäy ta coù thuû tuïc naøo? vaø thuû tuïc Reset Rewrite(< bieán teäp >) ; + Khi sử dụng thủ tục Ví duï : Rewrite(F), neáu treân ñóa C:\ ASSIGN(F, ‘ C:\KQ.Dat’) ; chöa coù teäp ‘KQ.DAT’ thì teäp Rewrite(F) ; tạo với nội dung rỗng Nếu đã có thì nội dung cũ bị + Mở tệp để đọc liệu : xoá hết và ghi vào liệu Reset(< teân bieán teäp >) ; Ví dụ : Để đọc liệu từ tệp  Chú ý : Trước sử dụng ‘KQ.DAT’ ta duøng leänh : thuû tuïc treân phaûi gaén teân teäp Tentep :=’KQ.DAT’ ; cho biến tệp đồng thời biến tệp ASSIGN(F, tentep) ; phải khai báo từ trước Reset(F) ; Hoặc ASSIGN(F, ‘KQ.DAT’) ; Reset(F) ; c) Đọc/ ghi tệp văn :  Đọc liệu từ tệp : ? Để nhập liệu từ bàn phím +Để đọc DL ta dùng Read/Readln(<Teân bieán teäp>,< danh và in liệu lên màn hình ta Read/Readln saùch bieán >) ; + Để ghi DL ta dùng coù theå duøng thuû tuïc naøo ? - Đọc liệu từ tệp Write/Writeln Vd : Read(F, X1,X2) ; Trong đó : X1,X2 là các biến cùng kiểu với các thành phần tệp  Ghi liệu vào tệp : Tin Hoïc 11  Lop11.com Trang (4)  Bài 14,15 Kiểu Dữ Liệu Tệp Và Thao Tác Với Tệp + Danh saùch keát quaû : goàm moät nhiều phần tử Phần tử có thể là biến đơn biểu thức xâu Và các phần tử caùch baèng daáu phaåy Write/Writeln(< teân bieán teäp >, Danh saùch keát quaû ) Vd : Write(F, 5,x+y,3) - Ghi phần tử : 5, x + y, vào bieán teäp F  Một số hàm chuẩn thường dùng để đọc/ghi tệp văn : - Haøm EOF(< bieán teäp >) : traû veà giaù trị true trỏ tệp tới cuối teäp - Haøm EOLN(< bieán teäp >) : traû veà giá trị true trỏ tệp tới cuoái doøng d) Đóng tệp : Close(< bieán teäp >) ; Vd : Close(F) ; + Caùc em coù theå xem saùch giaùo khoa trang 86, hình 16 thao tác với tệp Cuûng coá :(4’) - Nhắc lại khái quát lại vai trò kiểu tệp và phân loại tệp - Cho HS xem SGK trang 86 hình 16 thao tác với tệp để HS nắm rõ việc đọc và ghi liệu từ tệp Daën doø :(1’) - Học bài và chuẩn trước Bài 16 Ví Dụ Làm Việc Với Tệp SGK trang 87 Hoà Lợi, ngày……Tháng ……Năm 20 Duyeät Tin Hoïc 11  Lop11.com Trang (5)  Bài 16 Ví Dụ Làm Việc Với Tệp Tuaàn : 21 Tieát : 38 Ngày soạn : 29/12/08 Ngaøy daïy : / / §16 VÍ DỤ LAØM VIỆC VỚI TỆP I/- Muïc ñích – yeâu caàu :  Về kiến thức : + Hiểu và hình thành kỹ các thao tác làm việc với tệp : Mở tệp, gán tên tệp cho biến tệp, đọc/ghi liệu tệp, đóng tệp  Veà kyõ naêng : + Sử dụng số hàm và số thủ tục chuẩn làm việc với tệp  Về thái độ : + Thấy cần thiết và tiện lợi kiểu liệu tệp Có ý thức lưu trữ dl cách khoa học, phòng chống mát nhiễm virus Giáo dục thêm ý thức tôn trọng quyền II/- Chuaån bò :  GV : + Phải có giáo án và các đồ dùng dạy học liên quan đến bài dạy + Cần chuẩn bị khổ giấy lớn để ghi lại ví dụ SGK  HS : + Đọc trước sách giáo khoa nhà  PP : + Diễn giảng ,phát vấn và gợi mở III/- Hoạt động dạy học : Ổn định lớp : Kiểm tra sĩ số (1’) Kieåm tra baøi cuõ : (5’) ? Có cách để phân loại tệp và thao tác vớitệp ? ? Hãy trình bày các thủ tục liên quan đến tệp ? Nội dung bài : TG Hoạt Động Của GV Hoạt Động Của HS Noäi Dung Baøi Tieát + Đặt vấn đề : Để làm nắm 38 rõ cách thao tác với tệp ta sang ví dụ một(làm việc với tệp) - Xem ví duï SGK trang 87 + Chương trình sau đọc các cặp toạ độ từ tệp TRAI.TXT, tính roài ñöa maøn hình khoảng cách( với độ chính xác hai chữ số sau dấu chấm thập phân) trại giáo vieân chuû nhieäm vaø traïi cuûa thầy hiệu trưởng Tin Hoïc 11  Ví duï : Program Khoang_cach ; Var d : real ; F :Text ; X,Y : integer ; Begin ASSIGN(F,’TRAI.TXT’) ; Reset(F) ; While not EOF(F) Begin Read(F, x,y) ; d := sqrt(x*x + y*y) ;  Lop11.com Trang (6)  Bài 16 Ví Dụ Làm Việc Với Tệp + Nhắc lại công thức tính khoảng cách điểm biết toạ độ điểm trên mặt phẳng toạ độ ? Hãy cho biết dòng lệnh cuûa chöông trình ? Writeln(‘khoang cach:’, d:10:2) ; End ; Close(F) ; End  Ví duï : töông ñöông Tính điện trở Program Dientro ; Var a : array[1 ] of real ; R1, R2, R3 : real ; F1, F2 : text ; Begin ASSIGN(F1,’RESIST.DAT’) ; Reset(F1) ; ASSIGN(F2,’RESIST.EQU’) ; Rewrite(F2) ; While not EOF(F1) Begin Readln(F1, R1, R2, R3) ; a[1] := R1*R2*R3 /(R1*R2+R1 * R3+R2*R3) ; a[2] := R1*R2 /(R1+ R2)+ R3 ; a[3] := R1*R3 /(R1+R3) + R1 ; a[4] := R2*R3 /(R2+R3) + R1 ; a[5] := R1 + R2 + R3 ; For I := to Write(F2, a[i] :9:3,’’) ; Writeln(f2) ; End ; Close(F) ; Close(F2) ; End + Xem ví duï SGK trang 87 + Ví dụ cho ta biết đọc liệu từ tệp văn thứ và ghi liệu vào tệp Vb thứ hai + Xây dựng chương trình theo tùng bước : - Khai baùo - Gaùn teân teäp cho bieán teäp - Đọc liệu từ tệp -Tính các điện trở tương ñöông - Ghi vaøo teäp - Đóng tệp + Tối ưu hoá chương trình - Chaïy chöông trình Cuûng coá :(4’) - Việc trao đổi liệu với nhớ ngoài thực thông qua kiểu liệu tệp - Để có thể làm việc với tệp cần khai báo biến tệp - Các thao tác với tệp văn : Khai báo biến tệp, mở tệp và đóng tệp, đọc/ ghi Daën doø :(1’) - Học bài và chuẩn trước phần Câu Hỏi Và Bài Tập SGK trang 89 Hoà Lợi, ngày……Tháng ……Năm 20 Duyeät Tin Hoïc 11  Lop11.com Trang (7)  Baøi Taäp Chöông V Tuaàn : 22 Tieát : 39 I/- Muïc ñích – yeâu caàu : BaøØI TAÄP Ngày soạn : 01/01/09 Ngaøy daïy : / /  Về kiến thức : + Củng cố lại kiến thức đã học tiết và chương V gồm : kiểu tệp, biến tệp, thao tác với tệp, gắn tên tệp, mở và đóng tệp, đọc/ghi liệu  Veà kyõ naêng : + Luyeän taäp cho hoïc sinh veà kieåu teäp + Tiếp tục làm quen với các công việc phục vụ việc hiệu chỉnh và khai thác chương trình  Về thái độ : + Thấy cần thiết và tiện lợi kiểu liệu tệp Có ý thức lưu trữ liệu cách khoa học, phòng chống mát nhiễm virus GD thêm ý thức tôn trọng quyền II/- Chuaån bò :  GV : + Phải có giáo án , bài tập và sử dụng thiết bị liên quan đến bài tập + Chuẩn bị trước nhiều câu hỏi phát vấn cho học sinh HS tham gia trả lời + Coù theå chuyeån caùc caâu hoûi 1,2,3,4 veà daïng traéc nghieäm  HS : + Đọc trước sách giáo khoa trước nhà trang 89  PP : + Laøm vieäc theo nhoùm(chia laøm nhoùm) + Dieãn giaûng vaø phaùt vaán III/- Hoạt động dạy học : Ổn định lớp : Kiểm tra sĩ số (1’) Kieåm tra baøi cuõ :(5’) Hãy nhắc lại các thao tác với tệp( các thủ tục và hàm tệp) ? Nội dung bài : TG Tieát 39 Hoạt Động Của GV Hoạt Động Của HS Noäi Dung Baøi + Các em hãy mở sách giáo khoa trang 89 phaàn caâu hoûi vaø baøi taäp Ta sang caâu ? Em hãy nêu số trường + Lượng thông tin 1/- Nêu số trường hợp cần phải hợp cần phải dùng tệp ? lớn, dùng lâu dài, dùng tệp ? - Lượng thông tin lớn, dùng lâu dài, 2/- Trong sơ đồ thao tác với tệp, cần nhập liệu từ tệp phải dùng thao taùc naøo ? Tin Hoïc 11  Lop11.com Trang (8)  Baøi Taäp Chöông V ? Trong sơ đồ thao tác với ASSIGN(F, Fi) ;  Trong sơ đồ thao tác với tệp, tệp, cần nhập liệu từ cần nhập liệu từ tệp phải dùng Rewrite(F) ; tệp phải dùng thao Write(F, x, ‘ ‘ , y, thao tác gắn tên tệp, mở tệp để ghi, taùc naøo ? ‘ ‘ , z) ; ghi liệu vào tệp, đóng tệp để hoàn tất việc ghi liệu Close(F) ; ASSIGN(F, Fi) ; Rewrite(F) ; Write(F, x, ‘ ‘ , y, ‘ ‘ , z) ; Close(F) ; ? Em hãy cho biết + Trước sử dụng cần phải có câu lệnh mở tệp tệp phải có câu lệnh trước đọc/ghi tệp? mở tệp để trình bieân dòch bieát muïc đích mở tệp để đọc hay ghi, đồng thời ñaët troû vaøo vò trí thích hợp ?Em haõy cho bieát taïi + Phaûi duøng caâu phải dùng câu lệnh đóng tệp lệnh đóng tệp sau sau đã kết thúc ghi đã kết thúc ghi lieäu vaøo teäp? liệu vào tệp để + Trước liệu hệ thống hoàn tất thực ghi vào tệp, nó việc ghi liệu lưu trữ trên nhớ đệm tệp Mỗi nhớ đệm đầy có yêu cầu đóng tệp thì liệu trên nhớ đệm( có thể chưa đầy) chuyển và ghi vào tệp 3/- Tại cần phải có câu lệnh mở tệp trước đọc/ghi tệp?  Trước sử dụng tệp phải có câu lệnh mở tệp để trình biên dịch biết mục đích mở tệp để đọc hay ghi, đồng thời đặt trỏ vào vị trí thích hợp 4/- Tại phải dùng câu lệnh đóng tệp sau đã kết thúc ghi liệu vào tệp?  Phải dùng câu lệnh đóng tệp sau đã kết thúc ghi liệu vào tệp để hệ thống hoàn tất việc ghi liệu tệp Cuûng coá :(4’) - Yêu cầu HS viết chương trình đơn giản có sử dụng thao tác đọc/ghi tệp Daën doø :(1’) - Hoïc baøi vaø laøm theâm caùc baøi taäp saùch baøi taäp - Chuẩn bị tiếp Bài 17 Chương Trình Con Và Phân Loại SGK trang 91 Hoà Lợi,ngày……Tháng ……Năm 20 Duyeät Tin Hoïc 11  Lop11.com Trang (9)  Bài 17 Chương Trình Con Và Phân Loại Tuaàn : 23,24 Tieát : 40,41 Chöông VI : Ngày soạn : 03/01/09 Ngaøy daïy : / / Chöông Trình Con Vaø Laäp Trình Coù Caáu Truùc 13(6,6,1) §17 CHƯƠNG TRÌNH CON VAØ PHÂN LOẠI I/- Muïc ñích – yeâu caàu :  Về kiến thức : + Nắm khái niệm chương trình + Sự khác biệt hàm và thủ tục + Phaân ieät ñieåm gioáng vaø khaùc veà caáu truùc cuûa chöông trình vaø chöông trình + Biết mối quan hệ tham số hình thức và tham số thực + Biến cục : Cách khai báo và phạm vi sử dụng  Veà kyõ naêng : + Biết cách khai báo loại chương trình cùng với các tham số hình thức chúng + Biết cách gọi chương trình thực với ngững tham số thực chương trình chính  Về thái độ : + Tiếp tục rèn luyện các phẩm chất người lập trình tinh thần hợp tác, sẵn sàng làm vieäc theo nhoùm, tuaân thuû theo yeâu caàu vì coâng vieäc chung II/- Chuaån bò :  GV : + Phải có giáo án và các đồ dùng dạy học liên quan đến bài dạy  HS : + Đọc trước sách giáo khoa nhà  PP : + Diễn giảng ,phát vấn và gợi mở III/- Hoạt động dạy học : Ổn định lớp : Kiểm tra sĩ số (1’) Kieåm tra baøi cuõ : (5’) Nội dung bài : TG Hoạt Động Của GV Tieát + Đặt vấn đề : Các chương Hoạt Động Của HS Noäi Dung Baøi 40 trình giải các bài toán thường dài và phức tạp, có thể gồm haøng traêm, haøng ngaøn leänh Khi đọc chương trình dài khó nhận biết chương trình thực công việc gì vaø muoán hieäu chænh laïi Tin Hoïc 11  Lop11.com Trang (10)  Bài 17 Chương Trình Con Và Phân Loại chöông trình cuõng raát khoù khaên Vì vấn đề đặt là phải có caáu truùc chöông trình nhö theá nào cho hợp lý Đó chính là chöông trình + Mặc khác, để giải bài toán lớn phức tạp người ta coù theå chia thaønh nhieàu baøi toán và cho nhiều người coù theå tham gia 1/-Khaùi nieäm chöông trình con: + Với bào toán phức tạp hơn, bài toán lại có thể phân chia thành các bài toán nhỏ Quá trình phaân chia nhö vaäy ta goïi laø cách thiết kế từ trên xuống Tương tự, lập trình trên maùy tính coù theå phaân chia chöông trình chính thaønh caùc khoái moâñun ctrình Moãi khối lệnh bao gồm nào đó Vaäy khaùi nieäm chöông trình laø gì? Xét bài toán tính tổng bốn luỹ thừa Tluythua = an + bm + cp + dq Bài toán trên chia thành bài toán : Tính an , bm , cp , dq , có thể giao cho bốn người, người thực bài Giá trị Tluythua là tổng kết bốn bài toán đó a) Khaùi nieäm : Chöông trình laø daõy leänh moâ taû soá thao taùc nhaát định và có thể thực từ nhiều vò trí chöông trình ? Haõy xem ví duï vaø cho bieát  Ví duï : Xem saùch giaùo khoa chöông trình treân coù + Trong chöông trang 92 khối lệnh nào viết trình trên có đoạn tương tự ? lệnh tương tự + Ta coù theå ñaët teân cho chöông trình laø Luythua vaø moãi caàn ta chæ caàn goïi teân chương trình là đủ Ví dụ : để tính an , bm , cp , dq ta gọi Luythua(a,n), Luythua(b,m), Luythua(c,p), Luythua(d,q), - Ví dụ tính Luythua phần treân Tin Hoïc 11 b) Lợi ích việc sử dụng chöông trình : - Tránh việc phải viết viết lại cùng dãy lệnh nào đó  Lop11.com Trang 10 (11)  Bài 17 Chương Trình Con Và Phân Loại - Khi viết ctrình lớn cần chia thaønh nhieàu ctrình nhoû vaø nhiều người cùng tham gia - Người lập trình có thể sử dụng các kết thực chương trình mà không cần quan tâm đến ctrình đó cài đặt nào - Caùc NNLT cung caáp phöông thức đóng gói các ctrình câu lệnh mới.Cho phép người sử dụng mà không cần bieát maõ nguoàn nhö theá naøo - Do chương trình tạo thành từ các chương trình nên chương trình dễ đọc, dễ hieåu, deã kieåm tra vaø hieäu chænh Vaø khoâng gaây aûnh hưởng đến các ctrình khác Tieát  Để nắm rõ 41 chöông trình ta sang phaàn phân loại và cấu trúc chöông trình - Hỗ trợ việc thực các chương trình lớn Vd : - Haøm sqrt(x) nhaän giaù trò x vaø traû veà giaù trò caên baäc cuûa x - Legth(x) nhận xâu x và trả độ daøi cuûa xaâu x a) Phân loại : ( Gồm loại )  Haøm (Function) : Laø chöông trình thực số thao tác nào đó và trả gía trị qua tên nó  Thuû tuïc (Procedure) : Laø chương trình thực các thao taùc nhaát ñònh nhöng khoâng traû veà moät giaù trò naøo qua teân cuûa noù Vd : caùc thuû tuïc vaøo/rachuaån hay thủ tục xử lí xâu : Writeln, readln, delete, insert, + Chöông trình coù caáu truùc tương tự chương trình chính, nhöng nhaát thieát phaûi coù tên và phần đầu dùng để khai baùo teân, neáu laø haøm phaûi khai báo kiểu liệu cho giá trị trả veà cuûa haøm : ta coù caáu truùc sau Tin Hoïc 11 - Phục vụ cho quá trình trừu tượng hoá - Mở rộng khả ngôn ngữ - Thuaän tieän cho phaùt trieån, naâng caáp chöông trình 2/- Phân loại và cấu trúc chöông trình : Laø CTC Hàm Thực số thao tác nào đó Traû veà giaù trò qua teân haøm Laø CTC Thuû Tuïc Thực hieän soá thaotaùc nào đó b) Caáu truùc cuûa chöông trình con: < Phần đầu > ; [ < phaàn khai baùo >] ; < Phaàn thaân > ;  Lop11.com Trang 11 (12)  Bài 17 Chương Trình Con Và Phân Loại ? Caáu truùc cuûa chöông trình + Gioáng : phaàn khai  Phaàn khai baùo : có gì giống và khác với cấu báo và phần thân - Phaàn khai baùo coù theå coù khai baùo truùc cuûa chöông trình ? + Khác : Thêm phần biến cho liệu vào và ra, các đầu và thiết và biến dùng chương trình phaûi coù  Phaàn thaân : laø daõy caùc caâu leänh ( liệu vào hay kết qủa ra) Vd : Luythua(x,k) phần thì x.k là các tham số hình thức và j laø bieán cuïc boä - Các biến khai báo cho liệu vào/ra gọi là tham số hình thức - Các biến khai báo để dùng riêng chương trình gọi laø bieán cuïc boä Vd : Bieán Luythua khai baùo chöông trình chính + Moät chöông trình coù theå có không có tham số hình thức, có thể có không có bieán cuïc boä - Các biến khai báo chương trình chính gọi là biến toàn boä Vd : khai báo tham số thực cho chöông trình Procedure Bp( x : integer) ;  Lời Gọi Thủ Tục Bp(3) ; Vd : Khai baùo tham soá bieán cho chöông trình Procedure Traodoi(Var x,y : integer) ; Lời gọi thủ tục Traodoi(a,b); c) Thực chương trình :  Tham số thực (TSGT) - Để thực chương trình con, ta cần phải có lời gọi thủ tục hay hàm, bao gồm tên chương trình với tham soá(neáu coù) Vd : Sqr(255) Teân ctrình TS thực Cuûng coá :(4’) - Nhắc lại khái niệm chương trình và lợi ích chương trình Phân loại : Hàm và Thủ tục Cấu trúc chương trình Tham số hình thức, tham số thực và cách gọi CTC Biến cục và biến toàn Daën doø :(1’) - Học bài và chuẩn trước Bài 18 Ví Dụ Về Cách Viết Và Sử Dụng Chương Trình Con SGK trang 96 Hoà Lợi, ngày……Tháng ……Năm 20 Duyeät Tin Hoïc 11  Lop11.com Trang 12 (13)  Bài 18 Ví Dụ Về Cách Viết Và Sử Dụng Chương Trình Con Tuaàn : 25, 26 Tieát : 42,43 Ngày soạn : 14/01/09 Ngaøy daïy : / / §18 VÍ DỤ VỀ CÁCH VIẾT VAØ SỬ DỤNG CHÖÔNG TRÌNH CON I/- Muïc ñích – yeâu caàu :  Về kiến thức : + Học sinh biết cấu trúc thủ tục + Hiểu mối quan hệ chương trình và thủ tục + Phân biết tham trị và tham biến + Phân biệt tham số hình thức và tham số thực + Phân biết biến cục và biến toàn + Học sinh cần nắm giống và khác thủ tục và hàm  Veà kyõ naêng : + Nhận biết các thành phần phần đầu thủ tục + Nhận biết hai loại tham số phần đầu thủ tục + Nhận biết lời gọi thủ tục chương trình chính cùng với tham số thực + Nhận biết các thành phần đầu hàm, các câu lệnh sử dụng hàm chương trình chính cùng với các tham số thực  Về thái độ : + Tiếp tục rèn luyện các phẩm chất người lập trình tinh thần hợp tác, sẵn sàng làm vieäc theo nhoùm, tuaân thuû theo yeâu caàu vì coâng vieäc chung II/- Chuaån bò :  GV : + Phải có giáo án và các đồ dùng dạy học liên quan đến bài dạy + Chuẩn bị khổ giấy lớn để trình bày các ví dụ sách giáo khoa  HS : + Đọc trước sách giáo khoa nhà  PP : + Diễn giảng ,phát vấn và gợi mở III/- Hoạt động dạy học : Ổn định lớp : Kiểm tra sĩ số (1’) Kieåm tra baøi cuõ : (5’) ? Chương trình có loại nào ? Cấu trúc chương trình ? Nội dung bài : TG Hoạt Động Của GV Tieát + Đặt vấn đề : Ta có chương Hoạt Động Của HS Noäi Dung Baøi 42 trình vẽ hình chữ nhật, muốn vẽ hình chữ nhật thì ta phaûi duøng chöông trình nhö dùng lệnh writeln nhiều lần Để khắc phục trường Tin Hoïc 11  Lop11.com Trang 13 (14)  Bài 18 Ví Dụ Về Cách Viết Và Sử Dụng Chương Trình Con hợp trên ta có thể dùng thủ tục, vaø moãi caàn ta chæ caàn goïi tên thủ tục cùng với tham soá(neáu coù) + Chuùng ta coù theå xem saùch giáo khoa với ba câu lệnh Writeln (‘* ’) vẽ hình chữ nhật nhö sau : Sau ñaây ta coù theå xeùt chöông trình VD_thutuc1 vaø sau đó gọi thủ tục Ve_hcn ba lần để vẽ ba hình chữ nhật Xem saùch giaùo khoa trang 96 1/- Cách viết và sử dụng thủ tuïc : ? Dựa vào chương trình trên haõy cho bieát caáu truùc cuûa thuû + Caáu truùc cuûa thuû tục và có gì khác với cấu trúc tục bao gồm ba cuûa chöông trình? phaàn, nhöng phaàn tiêu đề và phần thân nhaát thieát phaûi coù + Phần đầu thủ tục : gồm tên daønh rieâng Procedure, tieáp theo laø teân thuû tuïc Danh saùch tham số có thể có không có + Phần khai báo : dùng để xđ caùc haèng, kieåu, bieán vaø cuõng có thể xđ các CTC khác sử dụng thủ tục Thủ tục Ve_Hcn khoâng coù khai baùo haèng Bieán hay CTC naøo + Phaàn thaân thuû tuïc : laø caùc daõy lệnh nằm Begin và End  Chú ý : Khi VCT có sử duïng thuû tuïc vaø phaàn thaân cuûa chöông trình phaûi coù lời gọi thủ tục Program VD_thutuc1 ; Procedure Ve_Hcn ; Begin Writeln(‘* * * * * * * ’) ; Writeln(‘* * ’) ; Writeln(‘* * * * * * * ’) ; End ; Begin Ve_Hcn ; { lời gọi thủ tục} Writeln ; Writeln ; Ve_Hcn ; Writeln ; Writeln ; Ve_Hcn ; Writeln ; Writeln ; End a) Caáu truùc cuûa thuû tuïc : Procedure < Teân thuû tuïc > [< Danh saùch tham soá >] ; [ < phaàn khai baùo >] ; Begin [< daõy caùc leänh >] ; End ; b) Ví duï veà thuû tuïc : Procedure VD1(x, y : integer) ; Procedure VD2(Var x, y : Real) ;  Xeùt thuû tuïc naèm chöông trình có sử dụng tham số giá trị : Tin Hoïc 11  Lop11.com Trang 14 (15)  Bài 18 Ví Dụ Về Cách Viết Và Sử Dụng Chương Trình Con + Thủ tục Ve_Hcn ; đây diễn đạt thuật toán vẽ hình chữ nhật với kích thước chiều dài vaø chieàu roäng tuyø theo giaù trò cuûa caùc tham soá chdai vaø chrong Hai tham số này gọi là tham số thực (TSGT) + Mỗi ta muốn vẽ hình chữ nhật thì ta cần gọi đúng tên thuû tuïc vaø truyeàn tham soá thích hợp  Chuù yù : Neáu thuû tuïc coù tham số thì tham số phải khai baùo sau teân thuû tuïc, cặp dấu ngoặc tròn ( ) Khai baùo tham soá coù nghóa laø chæ nó thuộc loại tham số gì và thuộc kiểu liệu gì 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 := to chdai Write(‘ * ’) ; Writeln ; For j := to chrong -2 {ve canh ben} Begin Write(‘ * ’) ; For i := to chdai – Write(‘ ‘) ; Write(‘ * ’) ; End ; {ve canh duoi} For i := to chdai Write(‘ * ’) ; Writeln ; End ; BEGIN clrscr ; { ve hinh chu nhat voi kich thuoc 25x10} Ve_Hcn(25,10) ; Writeln ; Writeln ; { ve hinh chu nhat voi kich thuoc 5x10} Ve_Hcn(5,10) ; Readln ; Clrscr ; a := ; b := ; For i := to Begin Ve_Hcn(a,b) ; Readln ; a := a*2 ; b := b*2 ; End ; Readln ; END -Caâu leänh goïi thuû tuïc coù daïng < Teân thuû tuïc > [( caùc tham soá thực ) ] ; Vd : Ve_Hcn(25,10) ; Ve_Hcn(5,x) ; Ve_Hcn(3*x+2, 2*x) ; Tin Hoïc 11  Lop11.com Trang 15 (16)  Bài 18 Ví Dụ Về Cách Viết Và Sử Dụng Chương Trình Con + Giới thiệu với HS thủ tục khai baùo tham soá bieán x, y thuoäc kieåu integer + Qua keát quaû chaïy chöông trình cho ta thấy : Trước vaø sau goïi thuû tuïc caùc tham số biến đã thay đổi, giá trị tham biến sau lời gọi thủ tục là giaù trò sau cuøng keát thuùc thực thủ tục - Sau goïi thuû tuïc Hoan_doi, bieán a seõ nhaän giaù trò cuûa bieán b vaøbieán b seõ nhaän giaù trò cuûa biến a và kết trước và sau goïi thuû tuïc nhö sau : 10 10  Xeùt thuû tuïc naèm chöông trình có sử dụng tham số biến : 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 := ; b := 10 ; Writeln(a:6, b :6) ; Hoan_doi(a,b) ; Readln ; END ? Haõy xem Chöông trình VD_thambien2 vaø haõy cho bieát lời gọi thủ tục Hoan_doi sau có hợp lệ không ? + Co.ù - Hoandoi(10, a) ; + Khoâng - Hoandoi(b,10) ; + Khoâng - Hoandoi(b, a+3) ; + Chöông trình VD_thambien2 + Hoandoi(a, 10) đầu thủ tục đổi lại là: Procedure Hoan_doi(Var x : integer ; y : Integer) ; thì keát quaû sau chaïy chöông trình ? Tin Hoïc 11  Lop11.com  Xeùt thuû tuïc naèm chöông trình có sử dụng tham số giá trị và tham soá bieán : Program VD_thambien2 ; Uses crt ; Var a, b : Integer ; Procedure Hoan_doi( x : integer ; Var y : Integer) ; Var TG : integer ; Begin TG := x ; x := y ; y := TG ; End ; BEGIN clrscr ; a := ; b := 10 ; Writeln(a:6, b :6) ; Hoan_doi(a,b) ; END Trang 16 (17)  Bài 18 Ví Dụ Về Cách Viết Và Sử Dụng Chương Trình Con Tieát 43 + Xem theâm vaøi ví duï saùch giaùo vieân trang 135,135 + Đặt vấn đề : Chúng ta đã học cách viết và sử dụng thủ tục, hôm chúng ta tiếp tực tìm hiểu và cách viết và sử duïng haøm Cuõng gioáng nhö thuû tuïc,haøm cuõng laø CTC Ñieåm khác hàm và thủ tục là chổ hàm luôn cho giá trị keát quaû traû veà thuoäc kieåu xaùc định và giá trị đó gán cho teân haøm.Vaäy caùch khai baùo nhö theá naøo ta sang phaàn cách viết và sử dụng hàm ? Haõy so saùnh ñieåm khaùc + Ñieåm khaùc cô baûn cuûa haøm vaø thuû tuïc? thủ tục vaø haøm laø haøm luoân traû veà giaù trò keát quaû thuoäc kieåu xaùc ñònh và giá trị đó gaùn cho teân haøm - Cuõng gioáng nhö thuû tuïc, neáu haøm khoâng coù tham soá hình thức thì không cần danh sách tham soá ? Vậy sử dụng hàm khác với thủ tục chổ nào ? - Vì kết trả đã gán cho tên hàm nên thông thường các tham soá duøng haøm laø tham soá giaù trò Tin Hoïc 11  Chuù yù : - Các tham số có từ khoá Var đứng trước là tham số biến - Các tham số không có từ khoá Var đứng trước là tham số gtrị - Các tham số cùng kiểu và cùng loại ngăn cách dấu phẩy(,), còn các tham số khác kiểu và khác loại cách dấu chấm phẩy(;) Vd : Procedure Beta(Var A, B : Real ; C, D : Real ; I, J : Integer) ; 2/- Cách viết và sử dụng hàm : - Điểm khác thủ tuïc vaø haøm laø haøm luoân traû veà giaù trò keát quaû thuoäc kieåu xaùc ñònh vaø giaù trò đó gán cho tên hàm  Caáu truùc cuûa haøm : Function <Teân haøm > [(< Danh saùch tham số >) ] : < kiểu liệu> ; - Trong đó, kiểu liệu : là kiểu giaù trò maø haøm traû veà vaø chæ coù theå laø kieåu : integer, real, char, boolean, string - Khác chổ thân hàm có lệnh gán + Trong phaàn thaân giaù trò cho teân haøm : cuûa haøm phaûi coù ít câu lệnh gán < Tên hàm > := < biểu thức > ; Teân haøm := bieåu  Ví dụ : VCT thực việc rút thức gọn phân số, đó có sử dụng haøm tính ước chung lớn (UCLN) cuûa soá nguyeân ? Program Rutgon_phanso ; Uses crt ; Var Tuso, Mauso, a : Integer ; Function UCLN( x, y : Integer) : Integer ; Var Sodu : integer ;  Lop11.com Trang 17 (18)  Bài 18 Ví Dụ Về Cách Viết Và Sử Dụng Chương Trình Con Begin While Y <> Do Begin Sodu := x mod y ; X := y ; Y := sodu ; End ; UCLN := x ; End ; BEGIN clrscr ; Write(‘ Nhap vao tu so, mau so’) ; Readln(Tuso, Mauso) ; a := UCLN(Tuso, Mauso) ; If a > then Begin Tuso := Tuso div a ; Mauso := Mauso div a; End ; Writeln(Tuso :5, Mauso :5) ; Readln ; END + Muïc ñích cuûa chöông trình Rutgon_phanso laø minh hoïa cho điểm giống và khác thủ tục và hàm + Việc sử dụng hàm hàm hoàn toàn giống thủ tục , viết leänh goïi haøm goàm : teân haøm và tham số thực tương ứng với các tham số hình thức + Leänh goïi haøm coù theå tham gia vào biểu thức toán haïng vaø thaäm chí laø tham soá lời gọi hàm, thủ tục khác, ví duï : a := * UCLN(tuso,Mauso) +1;  Ví duï : VCT tìm soá nhoû nhaát số nhập vào từ bàn phím đó có sử dụng hàm tìm soá nhoû nhaát cuûa soá + Trong chöông trình Minbaso có sử dụng hàm min, tìm số nhoû hôn hai soá a vaø b Tuy nhiên việc sử dụng hàm Min đây nâng lên mức phức tạp hơn.Để thực caâu leänh : Writeln(‘ So nho nhat ba so la :’, Min(Min(a,b),c)) ; haøm Min gọi thực với tham số thực : tham số thứ là kết thực hàm Min(a,b) còn tham số thứ là giá trị biến c Để có tham số thực Tin Hoïc 11 Program Minbaso ; Var a, b, c : Integer ; { Ham tim so nho nhat hai so a va b} Function Min( a, b : real) : Real ; Begin If a < b Then Min := a Else Min := b ; End ; BEGIN Write(‘ Nhap vao ba so bat ky’) ;  Lop11.com Trang 18 (19)  Bài 18 Ví Dụ Về Cách Viết Và Sử Dụng Chương Trình Con thứ đó, hàm Min(a,b) đã thực hiện, kết trả là số nhoû hôn giaù trò cuûa bieán a vaø bieán b Vaäy keát quaû traû veà cuûa haøm Min(a,b) vaø c seõ cho keát quaû laø soá nhoû nhaát ba bieán a, b, c Readln(a,b,c) ; Writeln(‘ So nho nhat ba so la :’, Min(Min(a,b),c)) ; Readln ; END Cuûng coá :(4’) - Nhắc lại các khái niệm : chương trình con, thủ tục, hàm, tham số hình thức, tham số thực sự, biến toàn cục và biến cục Phân loại : Hàm và Thủ tục Cấu trúc chương trình và cách sử dụng hàm và thủ tuïc Daën doø :(1’) - Học bài và chuẩn trước Bài Tập Và Thực Hành SGK trang 103 Hoà Lợi, ngày……Tháng ……Năm 20 Duyeät Tin Hoïc 11  Lop11.com Trang 19 (20) Bài Tập Và Thực Hành Tuaàn: 27,28 Tieát: 44,45 Ngày soạn: 22/01/09 Ngaøy daïy : / / Bài Tập Và Thực Hành I/- Muïc ñích – yeâu caàu :  Về kiến thức : + Giúp cho HS tìm hiểu các thao tác xử lí xâu, cách tạo hiệu ứng chữ chạy trên màn hình + Củng cố cho HS khái niệm chương trình : Thủ tục, hàm, tham số giá trị, tham số biến, tham số thực sự, biến cục bộ, biến toàn  Veà kyõ naêng : + Tổ chức hoạt động phòng máy để HS có các kĩ việc tổ và sử dụng chương trình lập trình  Về thái độ : + Góp phần hình thành và rèn luyện tư lập trình, tác phong người lập trình II/- Chuaån bò :  GV : + Phải có giáo án và bài tập thực hành + Chuẩn bị sẳn chương trình câu b trên giấy khổ lớn trên đĩa( đĩa cứng máy hay đĩa mềm) và cung cấp chương trình cho số HS vào thời điểm thích hợp + Phân nhóm để thực hành  HS : + Đọc trước sách giáo khoa nhà để chuẩn bị cho bài tập và thực hành  PP : + Hướng dẫn và phát vấn kết hợp với gợi mở III/- Hoạt động dạy học : Ổn định lớp : Kiểm tra sĩ số (1’) Kieåm tra baøi cuõ : ? Hãy cho biết cách viết và sử dụng hàm ? ? Hãy so sánh cách viết và sử dụng hàm và thủ tục có gì giống và khác ? Nội dung bài tập và thực hành : TG Hoạt Động Của GV Hoạt Động Của HS Noäi Dung Ghi Baøi Tiết + Trước hết chúng ta mở máy 44 tính cách ấn nút power để khởi động máy tính + Sau khởi động máy tính xong ta Start  Program  Pascal7 - Trước hết, ta hãy tìm hiểu việc xây dựng hai thủ tục sau đây : a) Trước hết, ta hãy tìm hiểu việc xây dựng thủ tục sau đây : + Thuû tuïc CatDan(s1,s2) taïo xâu s2 từ xâu s1 nhận đầu vào,  Thuû tuïc CatDan(s1,s2) nhaän đầu vào là xâu s1 gồm không quá 79 kí tự, tạo xâu s2 thu từ xâu s1 Tin Hoïc 11  Lop11.com Trang 20 (21)

Ngày đăng: 01/04/2021, 20:45

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan