skkn mới nhất môột số kinh nghiệm khi dạy bài chương trình con sgk tin học 11

17 3 0
skkn mới nhất môột số kinh nghiệm khi dạy bài chương trình con sgk tin học 11

Đ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

Mục lục Mục Trang MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục đích yêu cầu 1.3 Đối tượng nghiên cứu 1.4 Phương pháp nghiên cứu NỘI DUNG 2.1 Cơ sở lý luận 2.2 Cơ sở thực tiễn 2.2.1 Cấu trúc chung tốn có sử dụng chương trình 2.2.2 Một số khái niệm biến 2.2.3 Lời gọi chương chương trình 2.2.4 Truyền tham số cho chương trình 13 2.2.5 Tính đệ quy chương trình 14 2.2.6 Một số tập cho học sinh làm thí nghiệm 15 2.2.7 Hiệu sáng kiến kinh nghiệm 15 KẾT LUẬN VÀ ĐỀ XUẤT 16 TÀI LIỆU THAM KHẢO 17 download by : skknchat@gmail.com MỞ ĐẦU 1.1 Lý chọn đề tài Công nghệ thông tin ngành khoa học phát triển mạnh mẽ Sự bùng nổ công nghệ thông tin thời đại ngày đem lại cho giới nhân loại sống văn minh, đại Một sống “ Cơng nghiệp hóa, đại hóa” Ngày nay, cơng nghệ thông tin ảnh hưởng đến hầu hết lĩnh vực đời sống xã hội Lĩnh vực công nghệ thơng tin vơ cùng, chương trình học học sinh THPT đưa đến cho học sinh nhiều kiến thức tin học, SGK Tin học 10 Bộ phát hành Ngoài ra, SGK Tin học 11 Học sinh tìm hữu Ngơn ngữ lập trình Pascal Đây ngôn ngữ xem ngôn ngữ học đường Là ngôn ngữ đầu đời cho em, để em hướng tới ngôn ngữ cao hơn, phức tạp Do người dạy cần phải làm rõ cho học sinh Thế lập trình? Mục đích lập trình để làm gì? Trong thực tế em hiểu đơn giản giải toán dựa ngơn ngữ lập trình máy tính Cịn chương trình ứng dụng thực tế máy tính em chưa biết từ đâu Trong chương trình Tin học 11, “Chương trình con” có lượng kiến thức phức tạp, để học sinh đại trà hiểu vận dụng dễ Tôi mạnh dạn đưa số kinh nghiệm dạy học Chúng ta biết Tin học môn học mẻ học sinh nói chung học sinh THPT nói riêng Đa số học sinh chưa có khái niệm cơng nghệ thơng tin, khái niệm thuật tốn ngơn ngữ lập trình, khó cho việc dạy học download by : skknchat@gmail.com skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 Làm để học sinh hiểu chương trình con? chương trình gì? tác dụng việc sử dụng chương trình tốn phức tạp? 1.2 Mục đích u cầu Đối với tốn đơn giản học sinh hồn tồn giải theo phương pháp học chương trước Nhưng gặp toán phức tạp học sinh cần hình dung chương trình thường có đoạn chương trình hay phép tính lặp lại nhiều lần Nếu lần lặp lại, ta phải viết đoạn lệnh chương trình trở nên dài dịng, rối rắm thời gian vơ ích Để giải trường hợp vậy, Pascal cho phép tạo modul, modul mang đoạn chương trình gọi chương trình (subroutinehay subprogram) Mỗi chương trình mang tên khác Một modul cần viết lần sau truy xuất nhiều lần, nơi chương trình Khi cần thiết, ta việc gọi tên chương trình để thi hành lệnh Học sinh hiểu việc sử dụng chương trình con, chương trình tiết kiệm nhớ Đồng thời, kiểm tra tính logic tiến trình lập trình cho máy tính điện tử, nhanh chóng loại bỏ sai sót cần hiệu chỉnh hay cải tiến chương trình Đây khái niệm ý tưởng lập chương trình có cấu trúc Một q trình tính có nhiều chương trình lồng ghép vào 1.3 Đối tượng nghiên cứu Là học sinh khối 11, cụ thể lớp 11B3,11B5, 11B7 trường THPT Nông Cống 1.4 Phương pháp nghiên cứu Trong phạm vi nghiên cứu chương ta cần làm rõ vấn đề sau: - Chương trình viết hai dạng: thủ tục(procedure) hàm (function) skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 download by : skknchat@gmail.com skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 - So sánh cấu trúc kiểu chương trình tương tự với nhau, cách truy xuất chúng có khác cách trao đổi thơng tin kiểu có điểm khác Hàm (function) trả lại giá trị kết vô hướng thông qua tên hàm hàm sử dụng biểu thức, thủ tục khơng trả giá trị qua tên - Liên hệ số hàm thủ tục chuẩn học: + Hàm chuẩn, hàm sin(x) mà biết chương trước xem chương trình kiểu function với tên sin tham số x + Thủ tục (procedure) không trả lại kết qua tên nó, vậy, ta khơng thể viết thủ tục biểu thức Các lệnh Writeln, Readln chương trước xem thủ tục chuẩn - Một chương trình có chứa chương trình có khối ( block) : - Khối khai báo - Khối chương trình - Khối chương trình Để thực mục tiêu trên, yêu cầu học sinh cần nắm vững số kiến thức sau: Một số khái niệm biến: - Biến toàn cục - Biến cục - Tham số thực - Tham số hình thức - Lời gọi chương trình Về kỹ năng: - Vận dụng để viết số chương trình đơn giản để minh họa Trong chương trình rõ đâu biến tồn cục, biến cục bộ, tham số thực, tham số hình thức … - Cách gọi hàm phép toán biểu thức skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 download by : skknchat@gmail.com skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 NỘI DUNG 2.1 Cơ sở lý luận Trong lập trình Pascal bản, có nhiều tốn phức tạp, giải đơn làm được, tốn rườn rà, khó chỉnh sửa, khó nâng cấp Ngơn ngữ lập trình cung cấp chức cho phép người lập trình xây dựng modul nhỏ ( chương trình con) Chương trình gọi vị trí chương trình Khi tốn có sử dụng chương trình con, tốn trở nên gọn, dễ đọc, dễ nâng cấp Ví dụ tốn sau: Cho mảng chiều gồm N số nguyên( N ; { Các khai báo hằng, biến, kiểu cục } BEGIN { lệnh nội thủ tục } END ; Ví dụ: Tìm số lớn số nguyên Program So_Lon_Nhat; Var a, b, c : integer ; ln : char ; Procedure maximum ; Var max : integer ; Begin if a > b then max := a else max := b ; if c > max then max := c ; BEGIN ln := ‘Y‘ ; While(upcase(ln) = ‘Y ‘) Begin Writeln ( ‘Nhap so nguyen: ‘ ) ; skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 download by : skknchat@gmail.com skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 Readln (a, b, c ) ; maximum ; Write ( ‘ Tiep tuc nhap so moi khong(Y/N) ? ‘ ) ; Readln (ln) ; End; END Trong chương trình trên, thủ tục maximum khai báo trước truy xuất, biến a, b, c gọi nhập vào chương trình biến max định nghĩa bên thủ tục Điều cho ta thấy, lúc cần thiết khai báo biến đầu chương trình b Cấu trúc thủ tục có tham số Khi viết thủ tục, có tham số cần thiết, ta phải khai báo (kiểu, số lượng, tính chất, ) Các tham số gọi tham số hình thức(formal parameters) Một thủ tục có nhiều tham số hình thức Khi tham số hình thức có kiểu ta viết chúng cách dấu phẩy (,) Trường hợp kiểu chúng khác khai báo tham số truyền tham biến truyền tham trị (sẽ học phần sau ) ta phải viết cách dấu chấm phẩy (;) Ví dụ: Tính giai thừa số Program Tinh_Giai_thua ; Var n : integer ; gt : real ; Procedure giaithua (m : integer ); Var i : integer ; Begin gt := ; For i := to m gt := gt * i ; end; PROCEDURE < Tên thủ tục > (); skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 download by : skknchat@gmail.com skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 { Các khai báo hằng, biến, kiểu cục } BEGIN { lệnh nội thủ tục } BEGIN Write(‘Nhap so nguyen n (0 =0 then Begin giaithua (n); Writeln (‘Giai thua cua ‘, n, ‘ la: ‘, gt: 10 : 0) ; End Else Writeln( ‘ khong tinh duoc giai thua!‘ ) ; Readln; END Trong chương trình m tham số hình thức thủ tục giaithua Khi gọi thủ tục giaithua(n) tham số thực n truyền tương ứng cho tham số hình thức m Hàm (Function) : Hàm chương trình cho ta giá trị kiểu vô hướng Hàm tương tự thủ tục trả giá trị thông qua tên hàm lời gọi hàm tham gia biểu thức Cấu trúc hàm sau: Function [()]: [( phần khai báo)] Begin [] End; Trong đó: - Tên hàm tên tự đặt cần tuân thủ theo nguyên tắc đặt tên Pascal skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 10 download by : skknchat@gmail.com skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11skkn.moi.nhat.moot.so.kinh.nghiem.khi.day.bai.chuong.trinh.con.sgk.tin.hoc.11 - Kiểu kết kiểu vô hướng, biểu diễn kết giá trị hàm - Một hàm có hay nhiều tham số hình thức, có nhiều tham số hình thức kiểu giá trị ta viết chúng cách dấu phẩy (,) Trường hợp tham số hình thức khác kiểu ta viết chúng cách dấu chấm phẩy (;) - Trong hàm sử dụng hằng, kiểu, biến khai báo chương trình ta khai báo thêm hằng, kiểu, biến dùng riêng nội hàm Chú ý phải có biến trung gian có kiểu kết hàm để lưu kết hàm trình tính tốn để cuối ta có lệnh gán giá trị biến trung gian cho tên hàm Ví dụ : FUNCTION TINH (x, y : integer ; z : real ) : real ; Đây hàm số có tên TINH với tham số hình thức x, y, z Kiểu x y kiểu số nguyên integer kiểu z kiểu số thực real Hàm TINH cho kết kiểu số thực real Ví dụ: Bài tốn tính giai thừa Program giaithua; Var x : integer ; Function gt(n : integer):integer ; FUNCTION () : ; { khai báo hằng, biến, kiểu cụcbbộ } BEGIN { khai báo nội hàm } Var heso, tichso : integer ; Begin tichso:= ; I fn

Ngày đăng: 03/01/2024, 01:31

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

Tài liệu liên quan