SKKN Biện pháp nâng cao hiệu quả dạy học hoạt động của câu lệnh rẽ nhánh trong chương trình Tin học lớp 11 bằng một số bài tập tiêu biểu (sách giáo khoa cơ bản) cho học sinh trường THPT Lê Viết Tạo, huyện Hoằng Hóa

SKKN Biện pháp nâng cao hiệu quả dạy học hoạt động của câu lệnh rẽ nhánh trong chương trình Tin học lớp 11 bằng một số bài tập tiêu biểu (sách giáo khoa cơ bản) cho học sinh trường THPT Lê Viết Tạo, huyện Hoằng Hóa

Công nghệ thông tin là một nghành khoa học phát triển rất mạnh mẽ và có nhiều ứng dụng trong hầu hết các lĩnh vực của cuộc sống. Môn Tin học mới được đưa vào giảng dạy chính thức trong các trường học nên còn khá mới mẻ với học sinh nói chung và học sinh THPT nói riêng.

Trong quá trình giảng dạy môn Tin học cho các em học về ngôn ngữ lập trình cụ thể là ngôn ngữ lập trình Pascal, là một phần nội dung có thể nói là khó nhất trong chương trình tin học THPT. Thực tế khi giảng dạy cho các em về câu lệnh lặp cụ thể là câu lệnh lặp tôi thấy các em còn gặp nhiều khó khăn trong việc xác định các câu lệnh (cú pháp câu lệnh, hoạt động của câu lệnh) cần dùng để giải bài tập. Cấu trúc rẽ nhánh là một cấu trúc quan trọng nhất trong các cấu trúc cơ bản của ngôn ngữ lập trình Pascal mà học sinh bắt buộc phải nắm được nếu muốn làm bài tập về lập trình Pascal. Nên ngoài việc dạy cho các em về câu lệnh rẽ nhánh bằng những lý thuyết trong sách giáo khoa tôi còn giảng dạy câu lệnh này cho các em thông qua một số bài tập tiêu biểu có sử dụng câu lệnh rẽ nhánh, nhằm giúp các em nắm vững câu lệnh và hoạt động của câu lệnh rẽ nhánh, qua đó giúp các em yêu thích và hứng thú học tập môn Tin học hơn.

Trong quá trình giảng dạy câu lệnh rẽ nhánh ở các lớp tôi đã rút ra được một số bài tập hay khi dạy về câu lệnh này. Dưới đây tôi xin trình bày về sáng kiến: “Biện pháp nâng cao hiệu quả dạy học hoạt động của câu lệnh rẽ nhánh trong chương trình Tin học lớp 11 bằng một số bài tập tiêu biểu (sách giáo khoa cơ bản) cho học sinh trường THPT Lê Viết Tạo, huyện Hoằng Hóa”. Rất mong được sự tham khảo góp ý của các giáo viên và học sinh về sáng kiến kinh nghiệm này để giúp tôi có những bài giảng hay giúp học sinh học tốt môn Tin học hơn.

 

doc 16 trang thuychi01 5290
Bạn đang xem tài liệu "SKKN Biện pháp nâng cao hiệu quả dạy học hoạt động của câu lệnh rẽ nhánh trong chương trình Tin học lớp 11 bằng một số bài tập tiêu biểu (sách giáo khoa cơ bản) cho học sinh trường THPT Lê Viết Tạo, huyện Hoằng Hóa", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
 MỤC LỤC	Trang
I. MỞ ĐẦU	1
1. Lý do 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	2
II. NỘI DUNG CỦA SÁNG KIẾN KINH NGHIỆM	2
1. Cơ sở lí luận của sáng kiến kinh nghiệm	2
2. Thực trạng của vấn đề nghiên cứu	3
3. Các giải pháp	4
4. Hiệu quả của sáng kiến kinh nghiệm	14
III. KẾT LUẬN, ĐỀ XUẤT	15
1. Kết luận	15
2. Kiến nghị	15
Tài liệu tham khảo	16
I. MỞ ĐẦU
1. Lý do chọn đề tài
Công nghệ thông tin là một nghành khoa học phát triển rất mạnh mẽ và có nhiều ứng dụng trong hầu hết các lĩnh vực của cuộc sống. Môn Tin học mới được đưa vào giảng dạy chính thức trong các trường học nên còn khá mới mẻ với học sinh nói chung và học sinh THPT nói riêng.
Trong quá trình giảng dạy môn Tin học cho các em học về ngôn ngữ lập trình cụ thể là ngôn ngữ lập trình Pascal, là một phần nội dung có thể nói là khó nhất trong chương trình tin học THPT. Thực tế khi giảng dạy cho các em về câu lệnh lặp cụ thể là câu lệnh lặp tôi thấy các em còn gặp nhiều khó khăn trong việc xác định các câu lệnh (cú pháp câu lệnh, hoạt động của câu lệnh) cần dùng để giải bài tập. Cấu trúc rẽ nhánh là một cấu trúc quan trọng nhất trong các cấu trúc cơ bản của ngôn ngữ lập trình Pascal mà học sinh bắt buộc phải nắm được nếu muốn làm bài tập về lập trình Pascal. Nên ngoài việc dạy cho các em về câu lệnh rẽ nhánh bằng những lý thuyết trong sách giáo khoa tôi còn giảng dạy câu lệnh này cho các em thông qua một số bài tập tiêu biểu có sử dụng câu lệnh rẽ nhánh, nhằm giúp các em nắm vững câu lệnh và hoạt động của câu lệnh rẽ nhánh, qua đó giúp các em yêu thích và hứng thú học tập môn Tin học hơn. 
Trong quá trình giảng dạy câu lệnh rẽ nhánh ở các lớp tôi đã rút ra được một số bài tập hay khi dạy về câu lệnh này. Dưới đây tôi xin trình bày về sáng kiến: “Biện pháp nâng cao hiệu quả dạy học hoạt động của câu lệnh rẽ nhánh trong chương trình Tin học lớp 11 bằng một số bài tập tiêu biểu (sách giáo khoa cơ bản) cho học sinh trường THPT Lê Viết Tạo, huyện Hoằng Hóa”. Rất mong được sự tham khảo góp ý của các giáo viên và học sinh về sáng kiến kinh nghiệm này để giúp tôi có những bài giảng hay giúp học sinh học tốt môn Tin học hơn.
2. Mục đích nghiên cứu
Mục đích nghiên cứu nhằm giúp các em hứng thú hơn với môn Tin học nói chung và lập trình Pascal nói riêng. Nhằm giúp cho các em nắm được hoạt động, cấu trúc của câu lện Rẽ nhánh để giải quyết các bài tập liên quan. Qua đó giúp các em giải quyết tốt các bài tập lập trình yêu thích môn học hơn.
3. Đối tượng nghiên cứu
Đối tượng học sinh mà tôi trực tiếp giảng dạy là học sinh khối 11 với các lớp 11A, 11B, 11C, 11D năm học 2015-2016 trường THPH Lê Viết Tạo, huyện Hoằng Hóa, tỉnh Thanh Hóa. Là một trường mới được chuyển sang mô hình công lập nên phần lớn các em có lực học trung bình và yếu, cơ sở vật chất còn nhiều thiếu thốn nên việc giảng dạy và học tập còn gặp không ít khó khăn.
4. Phương pháp nghiên cứu
Phương pháp nghiên cứu là chỉ ra hoạt động của các loại câu lệnh rẽ nhánh thông qua các bài tập tiêu biểu. Đưa ra bài tập cho học sinh nghiên cứu hướng dẫn cụ thể từng phần để làm bài tập đó. Lập trình giải bài toán trên máy tính cho học sinh quan sát và thực hành chỉ ra những điểm quan trọng trong bài lập trình. Học sinh ghi nhớ những câu lệnh đặc biệt là các câu lệnh rẽ nhánh trong chương trình. Yêu cầu học sinh chỉ ra cú pháp, hoạt động của các câu lệnh rẽ nhánh được sử dụng trong chương trình.
II. NỘI DUNG CỦA SÁNG KIẾN KINH NGHIỆM
1. Cơ sở lý luận của sáng kiến kinh nghiệm
1.1. Một số khái niệm
a. Khái niệm lập trình:
Lập trình (programming): Là nghệ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một ngôn ngữ lập trình để tạo ra một chương trình máy tính.
b. Khái niệm ngôn ngữ lập trình:
Ngôn ngữ lập trình (programming language): Là một hệ thống các kí hiệu tuân theo các quy ước về ngữ pháp và ngữ nghĩa, dùng để xây dựng các chương trình cho máy tính. 
Ngữ pháp (syntax): Quy ước về quan hệ giữa các ký hiệu. Ví dụ trong ngôn ngữ Pascal: các ký hiệu Begin, end phải đi thành từng cặp, sau if sẽ là một biểu thức điều kiện, sau đó là kí hiệu then. 
Ngữ nghĩa (sematics): Quy ước về ý nghĩa của kí hiệu. Ví dụ trong ngôn ngữ Pascal: dấu + biểu thị cho phép cộng, dấu - biểu thị cho dấu trừ  Phát biểu if  then  có nghĩa là “nếu  thì làm ”. 
Chương trình (program): Là một tập hợp các mô tả, các phát biểu, nằm trong một hệ thống quy ước về ý nghĩa và thứ tự thực hiện, nhằm điều khiển máy tính làm việc. 
c. Khái niệm rẽ nhánh:
Để giải một số bài tập trên máy tính ta thường sử dụng một số mệnh đề có dạng như:
Nếu ... Thì...
Nếu ... Thì... Nếu không thì ...
Các cấu trúc như trên được gọi là cấu trúc rẽ nhánh.
1.2. Các loại câu lệnh rẽ nhánh trong ngôn ngữ lập trình pascal.
a. Câu lệnh rẽ nhánh dạng thiếu:
	Cú pháp:
	IF THEN ;
	Trong đó: 
- IF, THEN là các từ khóa của Pascal
- Điều kiện là biểu thức quan hệ hoặc biểu thức logic
- Câu lệnh là một lệnh của Pascal.
b. Câu lệnh rẽ nhánh dạng đủ:
	IF THEN ELSE ; 
Trong đó: 
- IF, THEN, ELSE là các từ khóa của Pascal
- Điều kiện là biểu thức quan hệ hoặc biểu thức logic
- Câu lệnh 1, câu lệnh 2 là một lệnh của Pascal.
	1.3. Sơ đồ khối
Đúng
Điều kiện
Câu lệnh
Sai
a. Sơ đồ khối của câu lệnh rẽ nhánh dạng thiếu:
Hoạt động: Nếu biểu thức điều kiện đúng thì câu lệnh được thực hiện điều kiện sai câu lệnh bị bỏ qua.
b. Sơ đồ khối của câu lệnh rẽ nhánh dạng đủ:
Điều kiện
Câu lệnh 1
Câu lệnh 2
Đúng
Sai
Hoạt động: Nếu biểu thức điều kiện đúng thì câu lệnh 1 được thực hiện bỏ qua câu lệnh 2 và chuyển tới câu lệnh tiếp theo điều kiện sai câu lệnh 2 được thực hiện bỏ qua câu lệnh 1 và chuyển tới câu lệnh tiếp theo.
2. Thực trạng của vấn đề nghiên cứu
2.1. Thực trạng chung:
Có thể nói chương trình tin học lớp 11 là một phần nội dung mới và khó nhất trong chương trình tin học THPT. Vì nó đề cập tới nhiều khái niệm mới mẽ đối với học sinh. Học sinh phải kết hợp nhiều kiến thức, kỹ năng ở nhiều lĩnh vực khác nhau vào để giải bài toán tin học, mặt khác do là trường mới được chuyển sang mô hình công lập trước đây là trường Bán công nên chất lượng đầu vào của học sinh không cao hầu hết lực học ở mức trung bình và yếu, cở sở vật chất còn thiếu thốn nên việc giảng dạy còn gặp nhiều khó khăn. Tuy nhiên mọi thứ đều phải có điểm khởi đầu của nó, với việc học lập trình Pascal nó là điểm khởi đầu giúp học sinh bước đầu tiếp cận với ngôn ngữ lập trình bậc cao qua đó giúp các em có thêm định hướng trong học tập, nghề nghiệp sau này và yêu thích học tin học hơn. Pascal là ngôn ngữ lập trình có cấu trúc và cấu trúc rẽ nhánh là một cấu trúc quan trọng giúp các em học tốt lập trình Pascal.
2.2. Thực trạng giáo viên:
Là một giáo viên trẻ mới ra trường năng động nhiệt tình trong giảng dạy. Nhưng kinh nghiệm giảng dạy còn ít, cở sở vật chất còn thiếu nên ảnh hưởng không nhỏ tới chất lượng giảng dạy.
2.3 Thực trạng học sinh:
Là một trường mới chuyển sang mô hình công lập, học lực của học sinh chủ yếu ở mức trung bình. Tin học là một môn học còn khá mới mẻ đối với học sinh nên việc tiếp cận còn nhiều bỡ ngỡ. Do cơ sở vật chất còn thiếu nên học sinh chưa được thực hành trên máy. Việc dạy và học chủ yếu là học lí thuyết nên việc tiếp thu kiến thức còn hạn chế. Đối với câu lệnh rẽ nhánh là một cấu trúc khó và rất cần thiết khi giải bài tập pascal nhưng khả năng tiếp thu của học sinh còn thấp còn gặp nhiều khó khăn khi làm các bài tập về câu lệnh rẽ nhánh.
3. 	Các giải pháp nâng cao hiệu quả dạy học hoạt động của câu lệnh rẽ nhánh trong chương trình Tin học lớp 11 bằng một số bài tập tiêu biểu 
3.1. Dạy học hoạt động câu lệnh rẽ nhánh thông qua một số bài tập tiêu biểu.
Đưa ra một số bài tập tiêu biểu có sử dụng cấu trúc rẽ nhánh để học sinh thảo luận và viết câu lệnh, nêu hoạt động, viết chương trình qua đó giúp các em nắm vững kiến thức về cấu trúc rẽ nhánh và vận dụng nó linh hoạt, khoa học trong các chương trình.
Cũng cố kiến thức lập trình nói chung và cấu trúc rẽ nhánh nói riêng. Qua đó tạo hứng thú trong học tập cho học sinh đối với ngôn ngữ lập trình Pascal.
Hình thành ở học sinh kỹ năng phân tích, xử lý các vấn đề áp dụng các kiến thức liên quan về cấu trúc rẽ nhánh trong quá trình lập trình các chương trình sau này.
Ở trong khuôn khổ này tôi chỉ trình bày nội dung thực hành ứng với thực tế ở trường THPT Lê Viết Tạo.
3.2. Một số bài tập về câu lệnh rẽ nhánh dạng thiếu:
Bài 1: Hãy cho biết giá trị của biến x là bao nhiêu sau đoạn chương trình sau với a= 10 và b= 15.
	x:=a;
	IF a<b THEN x:=b;
Để làm được bài này học sinh phải nắm được cú pháp và hoạt động của câu lệnh rẽ nhánh dạng thiếu và câu lệnh gán đã được học ở các bài trước.
Hướng dẫn: Tôi đặt ra hai câu hỏi như sau và yêu cầu học sinh trả lời.
?1 Biểu thức điều kiện a<b đúng hay sai? 
?2 Câu lệnh gán x:=b có được thực hiện không?
Học sinh trả lời được hai câu hỏi trên thì sẽ tìm được giá trị của x.
Chương trình được giáo viên viết sẵn và trình chiếu lên bảng, học sinh quan sát giáo viên chạy chương trình và ghi nhớ.
Bài 2: Viết câu lệnh rẽ nhánh dạng thiếu thực hiện việc tìm giá trị lớn hơn trong hai số nguyên a và b được nhập từ bàn phím.
Hướng dẫn – lời giải:
Trường hợp 1: có thể sử dụng 2 câu lệnh rẽ nhánh dạng thiếu để tìm ra số lớn hơn (max)
IF a>b THEN max:=a;
IF b>a THEN max:=b;
{Hoạt động của hai câu lệnh rẽ nhánh trên (phần này có thể cho học sinh nêu sau đó giáo viên tổng hợp lại):
Ở câu lệnh IF a>b THEN. Đầu tiên máy tính sẽ kiểm tra điều kiện a>b nếu đúng thì câu lệnh gán max:=a; được thực hiện sau đó chuyển tới câu lệnh tiếp sau, còn nếu điều kiện a>b sai thì câu lện gán max:=a; không được thực hiện và chuyển tới câu lệnh tiếp sau.
Ở câu lệnh IF b>a THEN. Hoạt động cũng tương tự trên.}
Trường hợp 2: có thể dùng 1 câu lệnh rẽ nhánh dạng thiếu để tìm ra số lớn hơn (max)
max:=a;
IF max < b THEN max:=b;
. . .
{ max là kết quả lớn nhất cần tìm.}
? Giáo viên có thể đưa ra câu hỏi nếu như trong trường hợp a và b bằng nhau thì giá trị Max là bao nhiêu trong 2 trường hợp trên?
Với mỗi trường hợp giáo viên có chương trình minh họa trình chiếu lên bảng cho học sinh quan sát và ghi nhớ.
Bài 3: Viết chương trình sắp xếp 3 số nguyên a, b, c được nhập từ bàn phím theo chiều không giảm (tăng dần) và đưa kết quả sắp xếp ra màn hình.
Chương trình:
Program bai_2;
Uses crt;
Var a,b,c: integer;
 tg: integer; 
Begin
Clrscr;
Writeln(‘moi nhap vao a,b,b’);
Readln(a,b,c);
Writeln (‘ba so vua nhap la:’, a:5,b:5,c:5);
if a> b then
	begin
	tg:=a; a:=b; b:=tg;
	end; 
if b> c then
	begin
	tg:=b; b:=c; c:=tg;
	end; 
if a> b then
	begin
	tg:=a; a:=b; b:=tg;
	end; 
writeln(‘ ket qua sap xep:’, a:5, b:5, c:5);
readln
End.
? Học sinh có thể đặt câu hỏi tại sao lại có câu lệnh rẽ nhánh thứ 3 lặp lại câu lệnh thứ 1.
Để giải thích cho học sinh tôi thể hiện thuật toán trên bằng bảng Test sau:
Bảng test thể hiện kết quả của a,b,c lần lượt qua các câu lệnh rẽ nhánh:
Tên biến
Giá trị ban đầu
if a>b then
if b>c then 
if a>b then
a
3
2
2
1
b
2
3
1
2
c
1
1
3
3
Chú ý: ở câu lệnh rẽ nhánh thứ 3 tuy có sự lặp lại câu lệnh rẽ nhánh thứ nhất nhưng bắt buộc phải có.
Qua hướng dẫn và chương trình giáo viên chạy thử giáo viên có thể yêu cầu học sinh về nhà tự viết và thực hành bài sắp xếp ba số a, b, c giảm dần.
Bài 4: Viết chương trình nhập các hệ số a, b và tìm nghiệm của phương trình ax + b=0.
Hướng dẫn – phân tích bài toán – chương trình.
Giáo viên có thể hỏi học sinh cách tìm nghiệm của phương trình trên về mặt toán học sau đó chuyển sang lập trình (viết chương trình) bằng Pascal.
Trường hợp 1: Nếu a=0 và b = 0 thì phương trình có vô số nghiệm.
Trường hợp 2: Nếu a=0 và b # 0 thì phương trình vô nghiệm.
Trường hợp 3: Nếu a # 0 thì phương trình có 1 nghiệm x= -b/a.
Chương trình:
Program bai_3;
Uses crt;
Var a,b:real;
Begin
	Clrscr;
Writeln(‘moi nhap vao cac he so a, b:’);
	Readln(a,b);
	If (a = 0) and (b = 0) then
	Writeln(‘phuong trinh co vo so nghiem’);
If (a = 0) and (b 0) then
	Writeln(‘phuong trinh vo nghiem’);
	If (a 0) then
	Writeln(‘phuong trinh co 1 nghiem:’,-b/a:6:2);
	Readln;
End.
Bài 5: Trong một giải bóng đá phong trào có 3 đội bóng (A,B,C) tham gia các đội thi đấu với nhau theo vòng tròn một lượt tính điểm. Điểm của mỗi đội được tính theo luật của FIFA thắng được cộng 3 điểm, hòa được cộng 1 điểm thua cộng 0 điểm. Kết quả các trận đấu như sau: đội A gặp B có tỉ số là x:y, kết quả trận A gặp C có tỉ số là r:s, kết quả trận B gặp C có tỉ số là u:v.
 Viết chương trình nhập vào tỉ số của các trận đấu thực hiện tính điểm của các đội và xếp thứ hạng các đội theo tổng số điểm giảm dần.
Hướng dẫn – chương trình:
	Khi một trận đấu kết thúc thì có 3 khả năng sảy ra cho từng đội này.
Thắng: được cộng vào tổng điểm là 3.
Hòa: được cộng vào tổng điểm là 1.
Thua: cộng vào tổng điểm là 0.
Vậy với mỗi trường hợp này thì ta sẽ dùng một câu lệnh rẽ nhánh dạng thiếu để biểu diễn.
Sau khi thi đấu hết các trận ta thực hiện sắp xếp điểm cho các đội theo yêu cầu của bài toán. Cách sắp xếp tương tự như bài 2.
Chương trình:
	Program bai_4;
	Uses crt;
	Var DA,DB,DC,tg: byte;
	x,y,r,s,u,v:real;
	Begin
	Clrscr;
	Write(‘nhap ti so tran A va B:’); Readln(x,y);
	If x>y Then DA:=DA+3;
	If x<y Then DB:=DB+3;
	If x=y Then 
	Begin 
	DA:=DA+1; DB:=DB+1;
	End;
Write(‘nhap ti so tran A va C:’); Readln(r,s);
	If r>s Then DA:=DA+3;
	If r<s Then DC:=DC+3;
	If r=s Then 
	Begin 
	DA:=DA+1; DC:=DC+1;
	End;
Write(‘nhap ti so tran B va C:’); Readln(u,v);
	If u>v Then DB:=DB+3;
	If u<v Then DC:=DC+3;
	If u=v Then 
	Begin 
	DB:=DB+1; DC:=DC+1;
	End;
	{sap xep diem giam dan}
if DA< DB then
	Begin
	tg:=DA; DA:=DB; DB:=tg;
	End; 
if DB < DC then
	Begin
	tg:=DB; DB:=DC; DC:=tg;
	End; 
if DA< DB then
	Begin
	tg:=DA; DA:=DB; DB:=tg;
	End
writeln(‘ ket qua diem cac doi :’, DA:5, DB:5, DC:5);
End.
Với bài toán tương tự giáo viên có thể yêu cầu một số em có học lực khá giỏi làm một chương trình cho một giải bóng đá khác với số đội lớn hơn.
3.3. Một số bài tập về câu lệnh rẽ nhánh dạng đủ:
Bài 1: Hãy cho biết giá trị của x sau đoạn chương trình sau với a=10, b=15
	IF a>b THEN x:=a
	ELSE x:=b;
Để làm được bài trên học sinh cần nắm vững cấu trúc và hoạt động của câu lệnh rẽ nhánh dạng đủ.
Hướng dẫn:
Học sinh cần trả lời hai câu hỏi sau:
? biểu thức điều kiện a>b có đúng hay sai?
? câu lệnh nào được thực hiện?
à Học sinh trả lời giáo viên kết luận.
Bài 2: Lập chương trình nhập vào 3 số nguyên dương a, b, c kiểm tra xem 3 số có lập thành giá trị độ dài 3 cạnh 1 tam giác hay không ?
Hướng dẫn – chương trình: 
3 số nguyên dương a, b,c lập thành độ dài 3 cạnh 1 tam giác khi thỏa mãn đồng thời các điều kiện sau:
	a + b > c
	a + c > b
	b + c > a
 Chương trình.
	Program bai_1;
	Uses crt;
	Var a, b, c: word;
	Begin
	Clrscr;
	Writeln(‘nhap vao 3 so nguyen duong:’);
	Readln(a,b,c);
	If (a + b > c) and (a + c > b) and (b + c > a) then
	Writeln(‘3 so lap thanh 3 canh 1 tam giac’)
	Else 
	Writeln(‘3 so khong lap thanh 3 canh 1 tam giac’);
	Readln;
	End.
Bài 3: Viết chương trình nhập các hệ số a, b, c và tìm nghiệm của phương trình ax2 + bx + c = 0.
Hướng dẫn – phân tích bài toán – chương trình: Ở bài toán này thì học sinh thường hay nhầm lẫn với bài toán là tìm nghiệm của phương trình bậc hai. Ta có thể phân tích bài toán như sau rồi mới cài đặt chương trình trên máy.
Trường hợp 1: Nếu a = 0 thì phương trình thành dạng phương trình bậc nhất dạng này thì học sinh đã biết cách biện luận.
Trường hợp 2: Nếu a # 0 thì ta tính biệt số Delta của phương trình bậc hai và biện luận theo biệt số Delta.
à Để mô tả 2 trường hợp trên vào chương trình Pascal ta có thể dùng câu lệnh rẽ nhánh dạng đủ như sau:
Chương trình. 
Program bai_1;
Uses crt;
Var a,b,c,delta: integer;
	x1, x2:real;
Begin
Clrscr;
	Write(‘nhap vao cac he so a, b, c:’); Readln(a,b,c);
	If a = 0 then 
	Begin
	If (b = 0) and (c = 0) then
	Writeln(‘phuong trinh co vo so nghiem’);
If (b = 0) and (c 0) then
	Writeln(‘phuong trinh vo nghiem’);
	If (b 0) then
	Writeln(‘phuong trinh co 1 nghiem:’,-b/a:6:2);
	End
	Else
	Begin
	Delta:=b*b – 4*a*c;
	If delta < 0 then
	Writeln(‘phuong trinh vo nghiem’)
	Else
	Begin
	x1:= (-b + sqrt(delta))/(2*a);
	x2:= (-b - sqrt(delta))/(2*a);
	writeln(‘phuong trinh co nghiem’);
	writeln(‘ x1=’,x1:6:2,’x2:=’,x2:6:2);
	End;
End.
Chú ý: Khi viết các khối lệnh chúng ta nên trình bày theo các khối thẳng cột với nhau các từ khóa Begin và End của cùng một khối thì viết thẳng cột với nhau, các lệnh cùng cấp cũng được viết thẳng cột với nhau và thụt vào so với câu lệnh cấp cao hơn.
Với các bài tập dùng câu lệnh rẽ nhánh dạng đủ có thể yêu cầu học sinh chuyển sang dùng câu lệnh rẽ nhánh dạng thiếu và ngược lại.
4. Hiệu quả của sáng kiến kinh nghiệm.
Thông qua việc áp dụng các giải pháp trên đã giúp các em tháo gỡ được những khó khăn, vướng mắc khi giải các bài toán tin học nói chung và các bài tập có sử dụng cấu trúc rẽ nhánh nói riêng. Giúp các em có sự hiểu biết sâu sắc về cấu trúc rẽ nhánh tạo cho các em hướng thú học tập và tạo ra phong trào học tập tốt hơn trong học sinh đối với môn học.
Kết quả đạt được:
Sau khi dạy cho các em những bài tập căn bản về câu lệnh rẽ nhánh tôi đã có bài kiểm tra áp dụng cho học sinh các lớp và kết quả đạt được như sau:
Đề bài:
Câu 1: Cho đoạn chương trình pascal sau:
x:=a;
If a>b Then x:=a+b;
Cho a=10 và b = 15 thì sau đoạn chương trình trên giá trị của x là bao nhiêu?
A. x =10	B. x =15	C. x =25	D.x =5
Câu 2: Cho đoạn chương trình pascal sau:
	If a>b Then x:=a
	Else x:=b;
	Với a=15 và b=10 sau đoạn chương trình trên giá trị của x là bao nhiêu?
A. x =10	B. x =15	C. x =25	D.x =5
Câu 3: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?
If Then ; Else ;
If Then ; Else 
If Then Else ;
If Then Else 
Câu 4: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?
If ; Then ;
If Then 
If Then 
If ; Then 
Câu 5: Viết chương trình pascal nhập vào từ bàn phím ba số a, b, c hãy trả lời xem ba số vừa nhập có lập thành số đo 3 cạnh của một tam giác hay không?
(Bài kiểm tra này được thực hiện ở các lớp 11A10, 11B10, 11C10, 11D10. Trong đó có hai lớp 11B10 và 11D10 không áp dụng hầu hết các giải pháp trên trong quá trình giảng dạy).
Kết quả các lớp không thực nghiệm:
Lớp
Tổng số HS
Số HS đạt điểm giỏi
(8,5à 10)đ
Số HS đạt điểm khá
(7à8,5)đ
Số HS đạt điểm TB
(5à7)đ
Số HS đạt điểm Yếu
(3,5à5)đ
Số HS đạt điểm Kém
(0à3,5)đ
11B11
44
2HS=4.5%
10HS=22.7%
20HS=45.5%
11HS=25.0%
1HS=2.3%
11D11
42
1HS=2.2%
8HS=19.0%
21HS=50%
11HS=26.2%
1HS=2.6%
Kết quả các lớp đạt được sau khi thực nghiệm:
Lớp
Tổng số HS
Số HS đạt điểm giỏi
(8,5à 10)đ
Số HS đạt điểm khá
(7à8,5)đ
Số HS đạt điểm TB
(5à7)đ
Số HS đạt điểm Yếu
(3,5à5)đ
Số HS đạt điểm Kém
(0à3,5)đ
11A11
40
8HS=20%
16HS=36.4%
16HS=36.4%
2HS=7.2%
0
11C11
46
4HS=8.7%
13HS=28.3%
25HS=54.3%
4HS=8.7%
0
III. KẾT LUẬN, KIẾN NGHỊ
1. Kết luận
Tin học là một môn học đặc thù, quá trình học lý thuyết phải đi đôi với thực hành viết chương trình và thực hiện trên máy tính. 
Với nghiên cứu này tôi đã thu được kết quả khá khả quan với việc dạy khái niêmk câu lệnh rẽ nhánh. Hầu hết các em đều nắm rõ cú pháp, hoạt động của câu lệnh câu lệnh và vận dụng nó vào các bài tập cụ thể khá tốt. Tôi rất hài lòng với kết quả đạt được.
Do tính đa dạng và đặc thù của môn học dù đã có sự cố gắng nhưng khó tránh khỏi những thiếu sót, sai lầm rất mong các đồng nghiệp và các em học sinh giúp đỡ để giúp các em học tốt hơn. 
2. Kiến nghị
Trường THPT Lê Viết Tạo một trường mới được chuyển sang mô hình công lập được vài năm lại đây nên cơ sở vật chất còn thiếu thốn hiện nhà trường chưa có phòng máy để thực hành cho học sinh, chiều. Kinh tế gia đình các học sinh còn kém nên phần đông không thể mua máy tính riêng cho con em mình học tập ở nhà vì thế tôi đề xuất với ban giám hiệu nhà trường, các cấp lãnh 

Tài liệu đính kèm:

  • docskkn_bien_phap_nang_cao_hieu_qua_day_hoc_hoat_dong_cua_cau_l.doc