skkn phương pháp giảng dạy một số nội dung khó trong chương trình tin học 11 thpt trần phú

26 800 0
skkn phương pháp giảng dạy một số nội dung khó trong chương trình tin học 11 thpt trần phú

Đ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

SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 PHƯƠNG PHÁP GIẢNG DẠY MỘT SỐ NỘI DUNG KHĨ TRONG CHƯƠNG TRÌNH TIN HỌC 11 I LÝ DO 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ổ thông tin thời đại ngày nay, tốc độ phát triển công nghệ thông tin khiến cho người thầy dạy hết điều cho học trị, mà dù có kéo dài thời gian để dạy hết điều kiến thức nhanh chóng trở nên lạc hậu, Do người thầy cần phải tìm phương pháp dạy học tích cực để tăng hiệu dạy học Dạy học sinh cách chủ động, phương pháp học, cách học điều mà thực tế đòi hỏi thay chuyển tải lượng kiến thức nhiều đến mức học sinh khơng thể nhớ có nhớ lúc học, cịn lúc cần vận dụng qn hết Môn Tin học môn học mẻ học sinh THPT, 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 Vậy cần phải có phương pháp dạy học cho mơn học hồn tồn Xuất phát từ thực tiễn giảng dạy trường THPT NGÔ SĨ LIÊN thấy rằng, để đạt hiệu cao phần học, tiết học cần có cách thiết kế giảng cho phù hợp với nội dung kiến thức; phương pháp, phương tiện dạy học phải phù hợp với đối tượng học sinh Để qua phần học, tiết học học sinh thích thú với kiến thức mới, qua hiểu kiến thức học lớp, đồng thời học sinh thấy tầm quan trọng vấn đề việc ứng dụng kiến thức trước hết để đáp ứng yêu cầu môn học, sau việc ứng dụng vào công việc thực tiễn đời sống xã hội (nếu có) Trong thời đại thơng tin bùng nổ ngày nay, việc lập chương trình tự hoạt động cho máy tính, máy gia dụng cần thiết Và để làm việc cần có q trình nghiên cứu, học tập ngơn ngữ lập trình lâu dài, qua nhà lập trình chọn ngơn ngữ lập trình thích hợp Tuy nhiên thứ có điểm GV : Trịnh Văn Thịnh Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 khởi đầu nó, với học sinh việc học Pascal khởi đầu cho việc tiếp cận ngơn ngữ lập trình bậc cao, qua giúp em hình dung đời, cấu tạo, hoạt động ích lợi chương trình hoạt động máy tính, máy tự động…Quá giúp em có thêm định hướng, niềm đam mê tin học, nghề nghiệp mà em chọn sau Đồng thời Pascal ngơn ngữ có cấu trúc thể yếu tố: Cấu trúc mặt liệu, cấu trúc mặt lệnh, cấu trúc mặt chương trình Ở khía cạnh khác, chương trình tin học lớp 11, nội dung Bộ GD&ĐT đưa vào phần nội dung giảm tải Vẫn số nội dung mà học sinh tiếp xúc với mơn học Pascal cảm thấy khó tiếp thu, khó hiểu không làm tập áp dụng Xuất phát từ sở trên, chọn đề tài “PHƯƠNG PHÁP GIẢNG DẠY MỘT SỐ NỘI DUNG KHÓ TRONG CHƯƠNG TRÌNH TIN HỌC 11”, nhằm giúp em biết cách tiếp cận với nội dung góc độ dễ hơn, trực quan hơn, từ hiểu rõ ngữ nghĩa cách sử dụng câu lệnh phù hợp để tiếp thu tốt nội dung học làm tốt tập áp dụng, từ cảm thấy u thích mơn tin học nói chung nội dung ngơn ngữ lập trình nói riêng II TỔ CHỨC THỰC HIỆN ĐỀ TÀI Cơ sở lý luận 1.1 Mục đích chọn đề tài Trong trình học vấn đề học sinh cần phải có liên hệ với nội dung học từ trước, phân biệt khác kiểu liệu, cấu trúc câu lệnh Từ hình thành khả tư tiếp thu nội dung học Vấn đề thể rõ học tới nội dung kiểu mảng chiều (là dãy hữu hạn phần tử có kiểu liệu), kiểu xâu (có thể xem mảng chiều mà phần tử kí tự) Một nội dung khác “Chương trình phân loại ” 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 GV : Trịnh Văn Thịnh Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 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 module, module mang đoạn chương trình gọi chương trình (subroutine hay subprogram) Mỗi chương trình mang tên khác Một module 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.2 Phạm vi nghiên cứu Nội dung nghiên cứu nêu phương pháp để làm rõ số vấn đề sau:  Kiểu liệu mảng chiều cần thiết chương trình có sử dụng nhiều giá trị có kiểu liệu giống  Tại kiểu xâu xem mảng chiều sử dụng giống kiểu mảng chiều điểm  Chương trình viết hai dạng: thủ tục (procedure) hàm (function) - 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 - 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 GV : Trịnh Văn Thịnh Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 + Thủ tục (procedure) không trả lại kết thông 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  * Đối tượng, kế hoạch nội dung nghiên cứu Đối tượng: Học sinh lớp 11A1, 11A3, 11A4, 11A5 Trường THPT Ngô Sĩ Liên  Kế hoạch nghiên cứu: Trực tiếp dạy  Nội dung nghiên cứu: Một số nội dung chương trình tin học 11 1.3 Thực trạng thuận lợi khó khăn * Thuận lợi - Trường THPT Ngô Sĩ Liên nằm thị trấn Trảng bom nên đa số học sinh có hộ thị trấn số vùng lân cận, điều dẫn đến việc có đa số học sinh tiếp xúc với máy vi tính số học sinh học môn tin học Pascal chương trình THCS - Học sinh trường đa số có ý thức học tập tốt, ham học hỏi - Đội ngũ giáo viên môn tin học nhiệt tình, có trách nhiệm, ham học hỏi - Nhà trường có phịng thực hành tin học, phịng có 30 máy vi tính phịng học có ứng dụng CNTT điều kiện tốt để em học sinh tiếp cận dễ dàng với môn tin học nói chung mơn Pascal nói riêng * Khó khăn - Học sinh tuyển sinh vào lớp 10 với chất lượng đầu vào chưa thật cao dẫn đến tư em nhiều hạn chế mơn học địi hỏi tư cao - Đội ngũ giáo viên môn tin học nhiệt tình có tránh nhiệm nhiên cịn trẻ nên kinh nghiệm giảng dạy chưa nhiều - Đặc thù môn tin học mơn có kiến thức trừu tượng, đặc biệt môn tin học lớp 11 với số phần kiểu mảng, kiểu xâu chương trình - Một số giáo viên chưa tìm phương pháp phù hợp để truyền đạt kiến thức giúp học sinh tìm kiến thức qua GV : Trịnh Văn Thịnh Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 học môn tin học 11, dẫn đến học sinh tiếp thu cách thụ động, khơng có hứng thú với mơn tin học cảm thấy khó - Giáo viên chưa biết cách đặt vấn đề mang tính cởi mở để học sinh tiếp cận với nội dung chưa nhấn mạnh giải toán lớn phức tạp cần phải chia nhỏ tốn lớn thành tốn nhỏ hơn, mà dạy theo cảm tính trình độ mình, chưa tìm hiểu rõ lực đối tượng học sinh - Học sinh đa phần tiếp xúc với máy tính mơn Tin học chủ yếu để giải trí số kiến thức tin học cịn với mơn lập trình tư trừu tượng em hạn chế - Bài giảng giáo viên số nội dung khó chưa có tính liên hệ với thực tế, với nội dung mơn Tốn học, khó gây hứng thú học sinh việc tìm hiểu kiến thức - Việc sử dụng tư liệu, đồ dùng dạy học giáo viên chưa hợp lý nên chưa đáp ứng nhu cầu học Cụ thể với nội dung này, giáo viên cần sử máy vi tính để trình bày tiết dạy theo dạng trực quan thực hành số ví dụ viết chương trình hồn chỉnh nhằm giúp học sinh thấy kết thực hành hình dung cách sử dụng Chương trình để giải tốn Từ em thấy nội dung học, ý nghĩa phần sử dụng liệu hay câu lệnh cho việc viết chương trình tốn phức tạp giải máy tính Như khó khăn chung số nội dung là: Giáo viên chưa tìm phương pháp phù hợp, chưa nghiên cứu tổng quát hệ thống kiến thức bản, mối quan hệ kiến thức với khác, môn Tin học với Toán học, với thực tế, chưa biết cách đặt tình cho em tìm hiểu, thảo luận Do học sinh khơng nắm rõ khái niệm kiểu mảng chiều, kiểu xâu chương trình tin học, khơng phân biệt điểm giống khác chúng có nắm bắt cách chung chung, phiến diện, tiếp thu học cách hời hợt thụ động GV : Trịnh Văn Thịnh Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 Nội dung, biện pháp thực giải pháp đề tài 2.1 Kiểu mảng Phương pháp giảng dạy bắt đầu cho học sinh làm quen với kiểu mảng chiều Bắt đầu từ kiểu liệu có cấu trúc học sinh tìm hiểu thêm kiểu liệu kiểu mảng chiều giáo viên phải biết cách đặt vấn đề để học sinh hiểu rõ phải có kiểu liệu đó, khơng có liệu mà cần liệu học giải tốn hay khơng hay viết chương trình có tối ưu khơng Trên sở đó, giáo viên đặt câu hỏi để học sinh tự suy nghĩ, trả lời thấy việc cần thiết phải sử dụng kiểu liệu kiểu liệu có cấu trúc Cách thức tiến hành giảng dạy thực giáo án qua cụ thể số mục đích yêu cầu sau: * HS biết ý nghĩa khái niệm kiểu mảng chiều - Giáo viên đặt vấn đề với học sinh thơng qua giao tiếp cởi mở mà học sinh hiểu cần phải sử dụng đến kiểu mảng chiều Có thể mơ tả giao tiếp để bắt đầu vào nội dung học sau: Các vấn đề mà giáo viên đặt Suy nghĩ trả lời học sinh - Với chương trình học em có - Số lượng biến sử dụng ít, 1, nhận xét số lượng biến sử dụng biến chương trình? - Mở rộng: giả sử cần nhập điểm trung - Bằng số lượng học sinh biến có kiểu bình học sinh lớp phải thực khai báo biến kiểu liệu biến gì? - Khi thực câu lệnh chương - Phải viết nhiều câu lệnh lặp lại trình gặp trở ngại gì? (Đối với học sinh tồn trường sao?) - Kiểu liệu mà học sử - Khơng cịn phù hợp GV : Trịnh Văn Thịnh Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 Các vấn đề mà giáo viên đặt dụng có cịn phù hợp khơng? Suy nghĩ trả lời học sinh - Em có nhận xét kiểu liệu - Có kiểu với biến đó? - Về số lượng biến nào? - Nhiều số hữu hạn … … - Dựa phương pháp vấn đáp giáo viên giới thiệu việc cần thiết kiểu mảng chiều - HS tự khái niệm được: “Mảng chiều dãy hữu hạn phần tử kiểu” * Khai báo mảng chiều: Sách giáo khoa có khai báo hai cách Trong cách trực tiếp giới thiệu trước gián tiếp giới thiệu sau Tuy nhiên giới thiệu với học sinh theo trình tự làm cho học sinh bị thụ động cách khai báo giáo viên dẫn dắt để học sinh tự khai báo hai cách Nhằm ghi nhớ sâu việc khai báo biến mảng chiều - Bắt đầu từ khai báo biết Var : ; GV giả sử kiểu liệu học ta có kiểu liệu dạng kiểu mảng có tên DiemTrungBinh, cho HS khai báo: Var DTB : DiemTrungBinh; Tuy nhiên thực tế kiểu DiemTrungBinh chưa có Pascal cho phép định nghĩa kiểu liệu câu lệnh: Type = array [Kiểu số] of : Do phải định nghĩa trước khai báo sau nên câu lệnh viết là: Type = array [Kiểu số] of ; Var : ;  Đây cách thứ để khai báo Trong đó: GV : Trịnh Văn Thịnh Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 - Kiểu số có dạng: n1 n2 (n1, n2 số nguyên biểu thức nguyên n1 ≤ n2) - Kiểu phần tử kiểu liệu phần tử mảng Ví dụ: Type DiemTrungBinh = array [1 50] of real; Var DTB : DiemTrungBinh; Đây cách thứ để khai báo mảng Tiếp theo giáo viên cho học sinh nhận xét khai báo có đặc điểm giống tính chất bắc cầu biểu thức cho học sinh tự viết cách khác HS nhận xét : ; Mà = array [Kiểu số] of ; Nên thay câu lệnh câu lệnh sau: Var : array[Kiểu số] of ;  Đây cách thứ để khai báo: Như với phương pháp giảng dạy học sinh không cần phải phụ thuộc vào sách giáo khoa, mà cần nhớ kiến thức cũ trải qua trình vấn đáp suy nghĩ theo dẫn dắt giáo viên em hiểu rõ vai trị kiểu mảng chiều, khái niệm khai báo mảng chiều cách hoàn toàn tự nhiên Học sinh cảm thấy hứng thú nhớ lớp 2.2 Kiểu xâu: Bản chất kiểu xâu kiểu mảng chiều mà phần tử kí tự Dựa vào điều giáo viên cần gợi ý để học sinh nhận xét thấy rõ đặc điểm kiểu xâu Có thể dựa vào mô sau cho học sinh nhận xét Dãy A: Dãy B: 2.5 6.1 5.0 4.3 7.2 Dãy C: T I N H O GV : Trịnh Văn Thịnh C Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 HS nhận xét: Dãy A dãy gồm số nguyên Dãy B dãy gồm số thực Dãy C dãy gồm kí tự Theo định nghĩa kiểu mảng dãy gồm số hữu hạn phần tử có kiểu liệu nên dãy xem mảng chiều Dãy A dãy B quen thuộc tập mảng, cịn dãy C có đặc điểm phần tử dãy kí tự Mà dãy kí tự xem xâu kí tự Để làm việc với dãy kí tự Pascal hỗ trợ cho người lập trình sử dụng kiểu liệu có tính tương đồng với kiểu mảng chiều kiểu xâu Từ cách dẫn dắt đặt vấn đề học sinh hiểu xem xâu kí tự mảng chiều mà phần tử kí tự Điều có ích nhiều việc sử dụng câu lệnh để duyệt qua kí tự (While…do…, hay For…to… do…) cách để tham chiếu đến kí tự xâu (C[3], C[4],…) Mặc dù xâu xem mảng chiều, nhiên làm việc với dãy hữu hạn kí tự mà xem xâu người lập trình sử dụng nhiều câu lệnh thủ tục hàm, điều thuận lợi nhiều viết chương trình Từ nhấn mạnh để học sinh hiểu rõ vai trị kiểu xâu 2.3 Chương trình con: Ngồi nội dung chương trình nội dung mà học sinh khó tiếp cận nội dung tin học 11 Vì vậy, hiểu chi tiết biến, cấu trúc chương trình dạng thủ tục hàm, lời gọi chương trình cách truyền tham số cho chương trình mang tình định việc viết chương trình có sử dụng chương trình Ta xét cụ thể phần sau: 2.3.1 Một số khái niệm biến a Biến tồn cục (global variable): Cịn gọi biến chung, biến khai báo đầu chương trình, sử dụng bên chương trình bên chương trình Biến tồn cục tồn suốt q trình thực chương trình GV : Trịnh Văn Thịnh Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 b Biến cục (local variable): Còn gọi biến riêng, biến khai báo đầu chương trình con, sử dụng bên thân chương trình bên thân chương trình khác nằm bên (các chương trình lồng nhau) Biến cục tồn chương trình hoạt động, nghĩa biến cục cấp phát nhớ chương trình gọi để thi hành, giải phóng sau chương trình kết thúc c Tham số thực hay gọi Tham trị (actual parameter) tham số mà biến tồn cục, biểu thức giá trị số (cũng biến cục sử dụng chương trình lồng nhau) mà ta dùng chúng truyền giá trị cho tham số hình thức tương ứng chương trình d Tham số hình thức hay cịn gọi Tham biến (formal parameter) biến khai báo sau Tên chương trình con, dùng để nhận giá trị tham số thực truyền đến Tham số hình thức biến cục bộ, ta xem đối số hàm tốn học 2.3.2 Lời gọi chương trình Để chương trình thi hành, ta phải có lời gọi đến chương trình con, lời gọi chương trình thơng qua tên chương trình danh sách tham số tương ứng (nếu có) Các qui tắc lời gọi chương trình con:  Trong thân chương trình thân chương trình con, ta gọi tới chương trình trực thuộc  Trong chương trình con, ta gọi chương trình ngang cấp thiết lập trước 2.3.3 Thủ tục (Procedure): Thủ tục đoạn cấu trúc chương trình chứa bên chương trình Pascal chương trình Thủ tục đặt tên chứa danh sách tham số hình thức (formal parameters) Các tham số phải đặt dấu ngoặc đơn ( ) Ta truy xuất thủ tục cách gọi tên thủ tục Chương trình tự động truy xuất thủ tục tên gọi thực GV : Trịnh Văn Thịnh Trang 10 SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 Ví dụ2 : nhập vào mảng chiều gồm n phần tử số nguyên tính đưa hình tổng số nguyên lớn PROGRAM tong_mang; Uses crt; Var a:array[1 100] of integer; n:integer; PROCEDURE nhap; Var i:integer; Begin Write(‘nhap n=’); readln(n); For i:=1 to n Begin Write(‘a[’,i,’]=’); Readln(a[i]); End; End; Procedure tinhtong; Var s,i:integer; Begin S:=0; For i:=1 to n If a[i]>0 then s:=s+a[i]; End; BEGIN Clrscr; Nhap; Tinhtong; Readln; END Trong chương trình a kiểu mảng, n kiểu số nguyên, biến biến tồn cục thủ tục nhap có vai trị nhập n phần tử từ bàn phím vào mảng a Các biến i, s biến cục chương trình thấy phần chương trình nhìn gọn gàng nhờ lời gọi chương trình Những cơng việc chủ yếu giải chương trình GV : Trịnh Văn Thịnh Trang 12 SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 * Cấu trúc thủ tục có tham số PROCEDURE < Tên thủ tục > (); { Các khai báo hằng, biến, kiểu cục } BEGIN { lệnh nội thủ tục } END ; 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; 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 GV : Trịnh Văn Thịnh Trang 13 SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 - 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 2.3.4 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 tự đặt gồm: FUNCTION () : ; { khai báo hằng, biến, kiểu cục } BEGIN { câu lệnh nội hàm } END ; Trong đó: - Tên hàm tên tự đặt cần tuân thủ theo nguyên tắc đặt tên Pascal - 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 q 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 GV : Trịnh Văn Thịnh Trang 14 SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 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 ; Var i, tichso : integer ; Begin tichso:= ; If n > Then For i := to n tichso:= tichso * i ; gt := tichso; End ; BEGIN Write (‘ Nhap vao so nguyen duong x = ‘ ); Readln (x) ; Writeln (‘ Voi x = ‘, x , ‘ thi giai thua se la : Readln; END x ! = ‘, gt(x)); Khai báo kiểu kiệu cho tham số hình thức thủ tục hàm, ta cần phải ý điểm sau: Nếu kiểu liệu tham số hình thức kiểu liệu có cấu trúc (kiểu array, string, kiểu record, ) việc khai báo kiểu liệu cho tham số hình thức nên khai báo theo cách gián tiếp, tức phải thơng qua từ khóa TYPE Ví dụ : Procedure Xuat1(hoten : string[25]); Procedure Xuat2(mang: array[1 10] of integer); Hai chương trình Xuat1 Xuat2 bị lỗi phần khai báo kiểu liệu cho hai tham số hình thức hoten mang GV : Trịnh Văn Thịnh Trang 15 SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 Để khắc phục lỗi này, ta khai báo gián tiếp kiểu liệu str25 M10 thơng qua từ khóa TYPE sau: TYPE Str25=string[25]; {Str25 kiểu chuỗi có độ dài 25} M10=Array[1 10] of integer; {M10 kiểu kiệu mảng có 10 phần tử nguyên} Tiếp đến, dùng kiểu liệu định nghĩa Str25 M10 để định kiểu cho tham số hình thức hoten mang sau: Procedure Xuat1(hoten : Str25); Procedure Xuat2(mang: M10); 2.3.5 Truyền tham số cho trương trình Khi truyền tham số Pascal, địi hỏi phải có tương ứng tên kiểu liệu tham số hình thức tham số thực Một số định nghĩa qui tắc truyền tham số Pascal: Những tham số hình thức nằm sau từ khóa VAR gọi tham số biến (variable parameter) Với tham số biến, tham số thực bắt buộc phải biến không giá trị Khi giá trị tham số biến thay đổi làm thay đổi giá trị tham số thực tương ứng khỏi chương trình đó, tham số thực giữ giá trị thay đổi Những tham số hình thức khơng đứng sau từ khóa VAR gọi tham số trị (value parameter), tham số thực biến, biểu thức, hằng, giá trị số Các tham số trị nhận giá trị từ tham số thực truyền giá trị ban đầu, giá trị tham số trị thay đổi khơng làm thay đổi giá trị tham số thực, nghĩa giá trị tham số thực sau thoát khỏi chương trình ln với giá trị tham số thực trước truyền đến chương trình GV : Trịnh Văn Thịnh Trang 16 SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 Do tham trị khơng kết tính tốn chương trình Ví dụ1: Viết chương trình tính lập phương a3 PROGRAM vidu_thamtri_1; VAR num: integer; {num biến toàn cục} PROCEDURE LapPhuong(var a:integer);{a tham biến} Begin a:=a*a*a; End; BEGIN write(‘Nhập số cần tính lập phương num = ‘); readln(num); LapPhuong(num); {tham số thực num truyền cho tham biến a} writeln(‘Lập phương số vừa nhập = ‘, num); readln; END Ví dụ: PROGRAM vidu_Thamtri_2; VAR a, b : integer ; {biến toàn cục } PROCEDURE thamso (x : integer ; VAR y : integer ) ;{ x: tham số trị , y tham số biến} BEGIN x := x + ; y := y + ; Writeln (‘Trong procedure thamso, ‘) ; Writeln (‘ Hai số bạn a = ‘, x : 3, ‘ b = ‘, y : ) ; END ; BEGIN Write (‘ Nhập vào trị số nguyên a, b : ‘) ; Readln (a, b) ; Writeln (‘ Ban đầu, Bạn nhập vào a = ‘, a : 3, ‘và b = ‘, b : ) ; thamso (a, b) ;{tham số thực a truyền cho tham số trị x tham số thực b truyền cho tham số biến y } Writeln (‘ Ngoài procedure thamso, ‘); Writeln (‘ Hiện nay, số a ‘, a : 3, ‘ b ‘, b : ) Writeln (‘ Ta thấy, a không đổi b thay đổi ! ) ; Readln; END GV : Trịnh Văn Thịnh Trang 17 SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 Ví dụ2: giải tốn phương trình bậc ax2+bx+c=0; Cách 1: theo phương pháp khơng dùng chương trình Program giai_pt_bac2; Uses crt; Var a, b, c, d: Real; Begin Clrscr; Writeln('Nhap he so cua phuong trinh:'); Write('a = '); Readln(a); Write('b = '); Readln(b); Write('c = '); Readln(c); If a = Then If b = Then If c = Then Writeln('Phuong trinh co vo so nghiem!') Else Writeln('Phuong trinh vo nghiem!') Else Writeln('Phuong trinh co mot nghiem: x = ',-c/b:0:1) Else Begin d := b * b - * a * c; If d < Then Writeln('Phuong trinh vo nghiem!') Else If d = Then Writeln('Pt co nghiem kep: x1 = x2 = ',-b / (2 * a):0:1) Else Begin Writeln('Phuong trinh co hai nghiem phan biet:'); Writeln('x1 = ',(-b + sqrt(d)) / (2 * a):0:1); Writeln('x2 = ',(-b - sqrt(d)) / (2 * a):0:1); End; End; Readln; End Cách 2: theo phương pháp dùng chương trình Mục tiêu chia toán ban đầu thành toán nhỏ độc lập Chẳng hạn: Ta sử dụng chương trình thành hai tốn : T1: Giải phương trình bậc T2: Giải phương trình bậc hai GV : Trịnh Văn Thịnh Trang 18 SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 Program giai_pt_bac2; Uses crt; Var a, b, c: Real; Procedure ptb1(m,n:Real); Begin If m = Then If n = Then Writeln('Phuong trinh co vo so nghiem!') Else Writeln('Phuong trinh vo nghiem!') Else Writeln('Phuong trinh co mot nghiem: x = ',-n/m:0:1) End; Procedure ptb2(x, y, z: Real); Var d: Real; Begin D := y * y - * x * z; If d < Then Writeln('Phuong trinh vo nghiem!') Else If d = Then Writeln('Pt co nghiem kep: x1 = x2 = ',-y / (2 * x):0:1) Else Begin Writeln('Phuong trinh co hai nghiem phan biet:'); Writeln('x1 = ',(-y + sqrt(d)) / (2 * x):0:1); Writeln('x2 = ',(-y - sqrt(d)) / (2 * x):0:1); End; End; Begin Clrscr; Writeln('Nhap he so cua phuong trinh:'); Write('a = '); Readln(a); Write('b = '); Readln(b); Write('c = '); Readln(c); If a=0 Then ptb1(b, c) Else ptb2(a, b, c); Readln End Ở ta lại thấy toán việc giải phương trình bậc hai có ba trường hợp xảy Ta nên chia tiếp thành toán nhỏ sau cách viết lại sau: T1: Giải phương trình bậc T2:  > T3:  = T4:  < T5: Giải phương trình bậc hai GV : Trịnh Văn Thịnh Trang 19 SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 Var a, b, c, d: Real; Procedure ptb1(m, n : Real); Begin If m = Then If n = Then Writeln('Phuong trinh co vo so nghiem!') Else Writeln('Phuong trinh vo nghiem!') Else Writeln('Phuong trinh co mot nghiem: x = ',-n / m:0:1) End; Procedure denta_am; Begin Writeln('Phuong trinh vo nghiem!'); End; Procedure denta_0(p, q: Real); Begin Writeln('Phuong trinh co nghiem kep: x1 = x2 = ',-q / (2 * p):0:1) End; Procedure denta_duong(i, j: Real); Begin Writeln('Phuong trinh co hai nghiem phan biet:'); Writeln('x1 = ',(-j + sqrt(d)) / (2 * i):0:1); Writeln('x2 = ',(-j - sqrt(d)) / (2 * i):0:1); End; Procedure ptb2(x, y, z: Real); Begin d := y * y - * x * z; If d < Then denta_am Else If d = Then denta_0(x, y) Else denta_duong(x, y); End; Begin Writeln('Nhap he so cua phuong trinh:'); Write('a = '); Readln(a); Write('b = '); Readln(b); Write('c = '); Readln(c); If a = Then ptb1(b, c) Else ptb2(a, b, c); Readln End GV : Trịnh Văn Thịnh Trang 20 ... Thịnh Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 học môn tin học 11, dẫn đến học sinh tiếp thu cách thụ động, khơng có hứng thú với mơn tin học cảm thấy khó - Giáo... thu học cách hời hợt thụ động GV : Trịnh Văn Thịnh Trang SKKN: Phương pháp giảng dạy số nội dung khó chương trình tin học 11 Nội dung, biện pháp thực giải pháp đề tài 2.1 Kiểu mảng Phương pháp giảng. .. hoạch nội dung nghiên cứu Đối tượng: Học sinh lớp 11A1, 11A3, 11A4, 11A5 Trường THPT Ngô Sĩ Liên  Kế hoạch nghiên cứu: Trực tiếp dạy  Nội dung nghiên cứu: Một số nội dung chương trình tin học 11

Ngày đăng: 02/03/2015, 14:02

Từ khóa liên quan

Mục lục

  • III. HIỆU QUẢ CỦA ĐỀ TÀI

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

Tài liệu liên quan