Một số bài tập để củng cố cách sử dụng tham biến và tham trị khi viết chương trình con trong pascal

12 293 0
Một số bài tập để củng cố cách sử dụng tham biến và tham trị khi viết chương trình con trong pascal

Đ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

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT NGA SƠN MỘT SỐ BÀI TẬP ĐỂ CỦNG CỐ CÁCH SỬ DỤNG THAM BIẾN VÀ THAM TRỊ KHI VIẾT CHƯƠNG TRÌNH CON TRONG PASCAL Họ tên: Nguyễn Văn Hải Chức vụ: Giáo viên Đơn vị công tác : Trường THPT Nga Sơn SKKN thuộc mơn: Tin học THANH HỐ NĂM 2019 MỤC LỤC NỘI DUNG I Mở đầu 1.1 Lí chọn đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng nghiên cứu 1.4 Phương pháp nghiên cứu II Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lý luận sáng kiến kinh nghiệm a Tham số hình thức b Tham số thực c Tham biến d Tham trị e Truyền tham số theo trị f Truyền tham số theo biến 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm 2.3 Các giải pháp giải vấn đề 2.3.1 Các tập tham biến tham trị a Bài tập b Bài tập c Bài tập d Bài tập e Bài tập 2.3.2 Truyền theo trị hay truyền theo biến 2.4 Kết thu III.Kết luận, kiến nghị 3.1 Kết luận 3.2 Kiến nghị TRANG 2 3 3 3 4 4 4 5 9 10 10 10 MỞ ĐẦU 1.1 Lí chọn đề tài Sự phát triển vũ bão khoa học công nghệ - kỹ thuật đại đặt giáo dục vào thử thách mới, nhằm đào tạo hệ tương lai vừa có phẩm chất, vừa phải có lực tiếp cận khoa học hội nhập với xu chung xã hội Hiện trường phổ thông trọng tới vấn đề Nghị Hội nghị Trung ương khóa XI đổi bản, toàn diện giáo dục đào tạo nêu rõ: “Tiếp tục đổi mạnh mẽ phương pháp dạy học theo hướng đại; phát huy tính tích cực, chủ động, sáng tạo vận dụng kiến thức, kỹ người học; khắc phục lối truyền thụ áp đặt chiều, ghi nhớ máy móc Tập trung dạy cách học, cách nghĩ, khuyến khích tự học, tạo sở để người học tự cập nhật đổi tri thức, kỹ năng, phát triển lực Chuyển từ học chủ yếu lớp sang tổ chức hình thức học tập đa dạng, ý hoạt động xã hội, ngoại khóa, nghiên cứu khoa học Đẩy mạnh ứng dụng công nghệ thông tin truyền thông dạy học” [1] Điều 24.2 Luật giáo dục qui định: “Phương pháp giáo dục phổ thơng phải phát huy tính tích cực, tự giác, chủ động học sinh; phù hợp với đặc điểm lớp học, môn học; bồi dưỡng phương pháp tự học, rèn luyện kỹ vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh”[2] Để thực tốt mục tiêu đổi bản, toàn diện GD&ĐT theo Nghị số 29-NQ/TW, Luật giáo dục, giáo viên cần có nhận thức chất đổi phương pháp dạy học theo định hướng phát triển lực người học số biện pháp đổi phương pháp dạy học theo hướng Nếu trước môn Tin học chủ yếu truyền đạt cho em kiến thức lý thuyết, hàn lâm trọng tới thực hành giải tập, giúp em làm quen với lập trình máy tính, trường phổ thông trang bị sở vật chất phục vụ dạy học: phòng máy, phòng nghe nhìn chuẩn hóa, học sinh ý thức môn học nên tập trung hơn, Tuy nhiên, thay đổi chưa thực mang lại hiệu cao việc tiếp thu nhận thức học học sinh phần lớn học sinh chưa có điều kiện để tiếp cận với nhiều tài liệu, thời gian để làm việc với máy tính Mơn Tin học học sinh mơn khó, đặc biệt chương trình lớp 11 kiến thức lập trình đa số với nhiều học sinh khó tiếp cận Trong q trình giảng dạy chương trình lớp 11 học sinh gặp nhiều khó khăn việc giải tập lập trình : việc soạn thảo chương trình, gỡ lỗi chương trình, chạy chương trình, kiểm thử [1] Nghị Hội nghị TW8 – Khóa XI đổi bản, toàn diện giáo dục đào tạo [2] Luật Giáo dục 2005 Việc dạy học nội dung chương trình con, khái niệm như: tham số hình thức, tham biến, tham trị khái niệm trừu tượng học sinh, em thường gặp khó khăn việc tiếp thu kiến thức lập trình Do để phần giúp học sinh viết lựa chọn tham biến, tham trị viết chương trình tơi chọn sáng kiến kinh nghiệm : “Một số tập để củng cố cách sử dụng tham biến tham trị viết chương trình pascal ” 1.2 Mục đích nghiên cứu Đưa khái niệm tham biến tham trị để qua thấy chất hai khái niệm pascal Củng cố cách viết sử dụng chương trình pascal 1.3 Đối tượng nghiên cứu - Nghiên cứu khái niệm tham biến tham trị viết chương trình pascal số tập chương trình - Thực trạng học làm tập môn Tin học học sinh khối 11 trường THPT Nga Sơn 1.4 Phương pháp nghiên cứu - Phương pháp nghiên cứu lý thuyết - Phương pháp nghiên cứu thực tiễn - Phương pháp thực nghiệm sư phạm - Phương pháp thống kê toán học NỘI DUNG SÁNG KIẾN KINH NGHIỆM Khi học sinh học học Bài 18 ‘Ví dụ cách viết sử dụng chương trình con’ học sinh gặp nhiều khó khăn, nhầm lẫn việc lựa chọn cách sử dụng hàm, sử dụng thủ tục toán Sáng kiến kinh nghiệm giúp học sinh củng cố cách sử dụng tham biến tham trị sử dụng chương trình pascal 2.1 Cơ sở lí luận Việc sử dụng chương trình thể qua số khái niệm tham biến, tham trị, biến toàn cục, biến địa phương, tham số hình thức, tham số thực Trong sáng kiến kinh nghiệm xin trình bày phần tham biến tham trị a Tham số hình thức: Các biến khai báo cho liệu vào/ra chương trình gọi tham số hình thức[3] b Tham số thực : Trong lời gọi chương trình con, biến thay tương ứng tham số hình thức gọi tham số thực [3] [3]: Hồ Sĩ Đàm – SGK Tin học 11 c Tham biến: Trong lời gọi chương trình tham số hình thức thay tương ứng tên biến chứa liệu gọi tham biến [3] d Tham trị: Trong lời gọi chương trình tham số hình thức thay tương ứng giá trị cụ thể gọi tham trị [3] Để phân biệt tham trị tham biến, ngôn ngữ lập trình pascal sử dụng từ khóa var để khai báo tham số biến e Truyền tham số theo trị: Việc thực truyền tham số theo trị thực qua Giá trị bên (hằng, biến, hàm, biểu thức) chép vào vùng nhớ cấp phát tương ứng với kích thước tham số Chương trình làm việc với liệu chứa theo lệnh xây dựng cho tham số tương ứng.Nếu chương trình có lệnh làm thay đổi giá trị tham số hình thức thay đổi khơng có ảnh hưởng đến giá trị biến truyền đầu vào thay đổi thực tương ứng f Truyền tham số theo biến: Việc truyền tham số theo biến thực vào địa biến truyền, nghĩa lệnh chương trình tham số hình thức lệnh biến Do truyền tham số theo trị làm thay đổi giá trị tham số hình thức thay đổi thay đổi biến truyền 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Mặc dù công tác dạy học môn Tin học trường phổ thông quan tâm, sở vật chất trang bị chất lượng học sinh chưa thực nâng cao Tại trường THPT Nga Sơn, phần lớn học sinh có ý thức học tập hứng thú với môn tin học Các tiết học sử dụng máy chiếu, phòng thực hành nhiều giúp cho học sinh học tập sinh động, trực quan Tuy nhiên có thực tế mà tơi đồng nghiệp tổ nhiều băn khoăn, trăn trở chất lượng học sinh khối lớp 11 chưa cao Các tập sử dụng chương trình con, giải tập lập trình chưa nhiều Những khái niệm chương trình như: tham số hình thức, tham biến, tham trị nhiều học sinh lúng túng tỉ lệ giải tốn thấp Do học sinh ngại , khó khăn làm tập chương trình 2.3 Các giải pháp để giải vấn đề 2.3.1 Các tập tham biến tham trị [3]: Hồ Sĩ Đàm – SGK Tin học 11 a Bài tập 1[3]: Viết chương trình thực hốn đổi giá trị hai số nguyên a b nhập vào từ bàn phím Program baitap1; Var a,b : longint; Procedure hoan_doi(x,y: longint); Var tg: longint; Begin tg:=x; x:=y; y:=tg; End; BEGIN Write('Nhap gia tri cua a va b'); read(a,b); Writeln('Gia tri cua a va b truoc hoan doi'); Writeln(a:6,b:6); Hoan_doi(a,b); Writeln('Gia tri cua a va b sau hoan doi'); Writeln(a:6,b:6); Readln; Readln; END Giá trị nhập vào 6 Kết lấy Trong tập thủ tục hoan_doi(x,y: integer) dùng để hoán đổi giá trị hai biến nguyên x y Tuy nhiên chạy chương trình giá trị hai biến nhập vào không thay đổi Lỗi học sinh khai báo thủ tục hoan_doi(x,y) khai báo truyền theo trị nên giá trị biến x y không bị ảnh hưởng Nếu sửa lại việc khai báo tham số thủ tục hoán đổi truyền theo biến( thêm từ khóa Var trước tên tham số x y) chương trình cho kết mong muốn b Bài tập 2[4]: Viết chương trình thực tối giản phân số với tử số a mẫu số b (b ≠0) Các số a b nhập vào từ bàn phím Program baitap2; Var a,b,d : longint; Function UCLN( var x,y: longint): longint; [3]: Hồ Sĩ Đàm – SGK Tin học 11 [4]: Nguyễn Tơ Thành - Lập trình nâng cao ngôn ngữ pascal Begin While (x>0) and (y>0) If x>y then x:=x mod y else y:= y mod x; UCLN:=x+y; End; BEGIN Write('Nhap gia tri cua tu so a='); read(a); Write('Nhap gia tri cua mau so b='); read(b); d:= UCLN(a,b); Writeln('Phan so toi gian', a div d, '/' ,b div d); readln; readln; END Giá trị nhập vào Kết lấy 1/0 Chương trình đưa hình dạng tối giản phân số nhập từ bàn phím tử số mẫu số Chương trình xây dựng hàm UCLN(x,y) trả ước chung lớn hai số nguyên dương x y, dùng hàm để tính d ước chung lớn tử mẫu nhập Dạng tối giản phân số nhận cách chia lấy nguyên tử mẫu cho số d Với giá trị nhập vào a b tương ứng ta kết hình 1/0 Đây kết khơng chương trình tìm ước chung lớn tham số khai báo tham biến Để có kết chương trình cần sửa lại phần đầu chương trình tham số khai báo tham trị c Bài tập 3[4]: Viết chương trình thực tính tổng s=f(x)+f(x) với f(x)=x+1 , x nhập vào từ bàn phím Program baitap3; Var x:integer; Function F(var y:integer):integer; Begin y:=y+1; F:=y; End; BEGIN Write('Moi nhap x'); read(x); writeln(F(x)+F(x)); Readln; readln; END [4]: Nguyễn Tô Thành - Lập trình nâng cao ngơn ngữ pascal Giá trị nhập vào Kết lấy 13 Chương trình đơn giản với x nhập vào cách suy luận thông thường ta nhận kết 12 Tuy nhiên chạy chương trình nhận thông báo 13 Bây sửa lại biểu thức F(x) +F(x) biểu thức 2*F(x) ta nhận kết 12 Sự khác thật khó giải thích cho học sinh lập trình Chương trình viết thực biểu thức F(x) +F(x) , giá trị F(x) gọi hai lần Lần gọi thứ x=5 F(x)=6 , lần gọi thứ hai x=6 F(x)=7 ta nhận kết 13 Biểu thức 2*F(x) tính lần nên kết 12 Chương trình sửa lại truyền cho đối số x hàm F theo trị ta kết mong muốn d Bài tập 4[5]: Lập trình nhập vào bốn số nguyên a,b,c,d Tính giá trị số c=a-b; d= a+b; a=2*a Đưa kết hình Program baitap4; Var a,b,c,d :integer; Procedure tong_hieu( a, b : integer; var c, d: integer); Begin c:= a-b; d:=a+b; a:=2*a; End; BEGIN Write('Moi nhap a, b, c, d'); read(a,b,c,d); Tong_hieu(a,b,c,d); Write(a,' ', b,' ', c,' ', d); Readln; readln; END Giá trị nhập vào Kết lấy 10 10 13 Chương trình thực với giá trị nhập vào tương ứng theo a, b, c, d 10, 3, 5, nhiều học sinh cho kết a=20, b= 3, c=7 ,d =13 thực chương trình kết hoàn toàn khác Trong thủ tục tong_hieu tham số a b khai báo tham trị nên giá trị không thay đổi nên kết a=10 b=3 tham số c d khai báo tham biến nên kết thay đổi tương ứng với giá trị 13 [5]: Một số tập internet e Bài tập 5[5]: Viết chương trình thực xếp mảng a b có kiểu liệu nguyên Program baitap5; type mang=array[1 100] of integer; var a,b: mang; n:byte; { } Procedure nhap(c:mang); var i: integer; begin for i:=1 to n begin write('nhap phan tu thu i= ',i,' '); read(c[i]); end; end; { } Procedure sapxep(c:mang); var i,j,tg: integer; Begin for i:=1 to n-1 for j:=i+1 to n if c[i]>c[j] then begin tg:=c[i]; c[i]:=c[j]; c[j]:=tg; end; End; { } procedure in_mang(c:mang); var i: integer; begin for i:=1 to n write(c[i],' '); writeln; end; { -} BEGIN write('nhap so phan tu cua hai mang a va b'); read(n); nhap(a); nhap(b); [5]: Một số tập internet sapxep(a); sapxep(b); in_mang(a); in_mang(b); readln; readln; END Giá trị nhập vào Kết lấy 3421 3675 0000 0000 Chương trình với giá trị n nhập vào 4, mảng a nhập giá trị phần tử 3,4,2,1; mảng b nhập giá trị 3,6,7,5 Sau thực lời gọi xếp mảng a xếp mảng b ta nhập kết lấy số 0, lỗi người sử dụng tổ chức chương trình theo kiểu tham trị chương trình Để chương trình chạy kết mong muốn người viết chương trình sửa lại phần đầu đoạn chương trình con: phần nhập phần khai báo truyền tham số theo biến 2.3.2 Truyền theo trị hay truyền theo biến Từ tập ta rút kết luận việc truyền tham số chương trình :  Nếu thân chương trình khơng có lệnh làm thay đổi giá trị tham số hình thức việc truyền tham số theo trị hay truyền theo biến không gây khác biệt kết mà chương trình mang lại  Trong trường hợp chương trình có lệnh làm thay đổi giá trị tham số hình thức phải tùy vào nhiệm vụ chương trình tham số mà định truyền:  Nếu chương trình có nhiệm vụ phải thay đổi tham số thực phải tổ chức truyền theo biến cho tham số  Nếu tham số dùng để gửi giá trị đầu vào cho chương trình hoạt động mà khơng làm hỏng giá trị phải tổ chức truyền theo trị cho tham số Việc truyền tham số theo biến hay tham số theo trị tùy tiện dẫn đến kết khác 2.4 Kết thu Trong trình trao đổi, thảo luận, trình bày học sinh thể khả vận dụng, hiểu biết nên em tỏ hăng hái việc giơ tay phát biểu, tranh luận Đồng thời tiết học trở nên sinh động hơn, giáo viên khơng đóng vai trò người xây dựng lý luận mà học sinh người chủ động để giải vấn đề Tiến hành giảng dạy lớp, nhận thấy sau hướng dẫn học sinh biết làm tập Từ đó, kết kiểm tra, đánh giá có thay đổi theo hướng tích cực, kết cụ thể lớp áp dụng dạy lớp đối chứng sau: 11E 11G 11H 11I Tỉ lệ (%)\Lớp (lớp dạy) (lớp đối chứng) (lớp dạy) (lớp đối chứng) Giỏi 25 14 10 Khá 15 40 14 13 Trung bình 15 12 22 23 Yếu 13 20 Kém 0 3 KẾT LUẬN, KIẾN NGHỊ 3.1 Kết luận Sau vận dụng vào để củng cố, hướng dẫn học sinh thực hiện, nhận thấy: - Học sinh tiếp thu tốt hơn, em làm tập, chạy chương trình tạo hứng thú học tập - Kết kiểm tra, đánh giá nâng lên Ở lớp hướng dẫn thực hiện, tỉ lệ đạt giỏi tăng lên, khơng học sinh yếu tỉ lệ thấp - Khi vận dụng vào hướng dẫn cho học sinh đòi hỏi thân phải tiếp cận nhiều tài liệu để có nguồn tri thức phong phú, điều kiện để tơi nâng cao tính tự học, nâng cao kiến thức 3.2 Kiến nghị - Đối với đồng nghiệp cần tăng cường hướng dẫn học sinh làm nhiều tập, thực hành để học sinh có kỹ lập trình giải nhiều dạng toán - Đối với nhà trường cần quan tâm xây dựng sở vật chất, thiết bi để việc giảng dạy tin học đặc biệt thực hành thuận lợi - Đối với Sở Giáo dục, cần thường xuyên tập huấn chuyên môn để giáo viên có hội trao đổi, học hỏi chuyên môn nghiệp vụ giáo viên trường THPT khác XÁC NHẬN CỦA THỦ TRƯỞNG Thanh Hóa, ngày 25 tháng năm 2019 ĐƠN VỊ Tôi xin cam đoan SKKN viết, khơng chép nội dung người khác 10 Nguyễn Văn Hải TÀI LIỆU THAM KHẢO Nghị Hội nghị TW8 – Khóa XI đổi bản, toàn diện giáo dục đào tạo Luật Giáo dục 2005 Hồ Sĩ Đàm - Sách giáo khoa tin học 11 Nguyễn Tơ Thành - Lập trình nâng cao ngôn ngữ pascal Một số tập tham khảo Internet 11 ... sinh củng cố cách sử dụng tham biến tham trị sử dụng chương trình pascal 2.1 Cơ sở lí luận Việc sử dụng chương trình thể qua số khái niệm tham biến, tham trị, biến toàn cục, biến địa phương, tham. .. viết chương trình tơi chọn sáng kiến kinh nghiệm : Một số tập để củng cố cách sử dụng tham biến tham trị viết chương trình pascal ” 1.2 Mục đích nghiên cứu Đưa khái niệm tham biến tham trị để. .. niệm pascal Củng cố cách viết sử dụng chương trình pascal 1.3 Đối tượng nghiên cứu - Nghiên cứu khái niệm tham biến tham trị viết chương trình pascal số tập chương trình - Thực trạng học làm tập

Ngày đăng: 21/10/2019, 20:28

Từ khóa liên quan

Mục lục

  • 1. MỞ ĐẦU

    • 1.1. Lí do chọn đề tài.

    • 2. NỘI DUNG SÁNG KIẾN KINH NGHIỆM

      • 2.1 .Cơ sở lí luận

        • a. Tham số hình thức:

        • b. Tham số thực sự :

        • c. Tham biến:

        • d. Tham trị:

        • 2.3. Các giải pháp để giải quyết vấn đề

          • 2.3.1 Các bài tập về tham biến và tham trị

          • a. Bài tập 1[3]: Viết chương trình con thực hiện hoán đổi giá trị của hai số nguyên a và b được nhập vào từ bàn phím.

          • Program baitap1;

            • Giá trị nhập vào

            • Kết quả lấy ra

            • 4 6

            • 4 6

            • 4 6

            • b. Bài tập 2[4]: Viết chương trình con thực hiện tối giản phân số với tử số là a và mẫu số là b (b ≠0). Các số a và b được nhập vào từ bàn phím.

            • [4]: Nguyễn Tô Thành - Lập trình nâng cao trên ngôn ngữ pascal

            • Giá trị nhập vào

            • Kết quả lấy ra

            • 2 6

            • 1/0

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

Tài liệu liên quan