SKKN Sử dụng cấu trúc rẽ nhánh và lặp để giải một số bài toán trong toán học và trong thực tiễn

SKKN Sử dụng cấu trúc rẽ nhánh và lặp để giải một số bài toán trong toán học và trong thực tiễn

Giáo dục phổ thông nước ta đang thực hiện bước chuyển từ chương trình giáo dục tiếp cận nội dung sang tiếp cận năng lực của người học, nghĩa là từ chỗ quan tâm đến việc học sinh học được cái gì đến chỗ quan tâm học sinh vận dụng được cái gì qua việc học. Để đảm bảo được điều đó, nhất định phải thực hiện thành công việc chuyển từ phương pháp dạy học theo lối "truyền thụ một chiều" sang dạy cách học, cách vận dụng kiến thức, rèn luyện kỹ năng, hình thành năng lực và phẩm chất cho học sinh;

 Việc dạy CNTT theo chủ đề tích hợp với môn học khác còn giúp người học tự nhận thấy nhu cầu học tập CNTT để đáp ứng nhiệm vụ học tập.

 Dạy học tích hợp cũng được thực hiện đối với dạy học khoa học máy tính với các chủ đề dạy học liên quan đến thực tiễn, sử dụng tin học để giải quyết các tình huống trong thực tiễn như bài toán quản lí, bài toán khoa học. Đồng thời cần tiến hành xây dựng các chủ đề tích hợp nội tại môn tin học để tăng cường sự liên kết các kiến thức, kĩ năng và hình thành năng lực giải quyết bài toán tin học.

Xuất phát từ thực tiễn giảng dạy bộ môn Tin học tại trường THPT Như Thanh tôi nhận thấy rằng, để đạt hiệu quả cao trong mỗi phần học, tiết học cần có cách thiết kế bài 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 từng đối tượng học sinh. Để qua mỗi 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 được kiến thức đã học trên lớp. Đồng thời học sinh thấy được tầm quan trọng của vấn đề và việc ứng dụng của kiến thức trước hết để đáp ứng những yêu cầu của môn học, sau đó là việc ứng dụng của nó vào các công việc thực tiễn trong đời sống xã hội.

 

doc 16 trang thuychi01 12082
Bạn đang xem tài liệu "SKKN Sử dụng cấu trúc rẽ nhánh và lặp để giải một số bài toán trong toán học và trong thực tiễn", để 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
A. PHẦN MỞ ĐẦU . 2
I. LÝ DO CHỌN ĐỀ TÀI .... 2
II. MỤC ĐÍCH NGHIEN CỨU ... 3
III. ĐỐI TƯỢNG NGHIÊN CỨU ... 3
IV. PHƯƠNG PHÁP NGHIEN CỨU .... 3 
B. PHẦN NỘI DUNG ...... 3
I. GIỚI THIỆU CẤU TRÚC RẼ NHÁNH VÀ LẶP TRONG PASCAL ....3
1. Cấu trúc rẽ nhánh IF-THEN ........ 3
2. Câu lệnh lặp ..... 4
II. SỬ DỤNG CẤU TRÚC RẼ NHÁNH VÀ LẶP ĐỂ GIẢI BÀI TOÁN HỆ PHƯƠNG TRÌNH ... 5
1. Bài toán hệ phương trình bậc nhất hai ẩn .... 5
2. Sử dụng cấu trúc rẽ nhánh và lặp để giải bài toán tìm nghiệm của hệ phương trình .. 5
III. SỬ DỤNG CẤU TRÚC RẼ NHÁNH VÀ LẶP ĐỂ GIẢI BÀI TOÁN TRUY HỒI .. 8
1. Bài toán truy hồi .. 8
2. Sử dụng cấu trúc lặp để giải bài toán truy hồi ..... 9
3. Kết quả thu được  14
C. PHẦN KẾT LUẬN ........... 15
D. TÀI LIỆU THAM KHẢO ... 16
A. PHẦN MỞ ĐẦU
I. LÝ DO CHỌN ĐỀ TÀI
	Giáo dục phổ thông nước ta đang thực hiện bước chuyển từ chương trình giáo dục tiếp cận nội dung sang tiếp cận năng lực của người học, nghĩa là từ chỗ quan tâm đến việc học sinh học được cái gì đến chỗ quan tâm học sinh vận dụng được cái gì qua việc học. Để đảm bảo được điều đó, nhất định phải thực hiện thành công việc chuyển từ phương pháp dạy học theo lối "truyền thụ một chiều" sang dạy cách học, cách vận dụng kiến thức, rèn luyện kỹ năng, hình thành năng lực và phẩm chất cho học sinh;
	Việc dạy CNTT theo chủ đề tích hợp với môn học khác còn giúp người học tự nhận thấy nhu cầu học tập CNTT để đáp ứng nhiệm vụ học tập.
	Dạy học tích hợp cũng được thực hiện đối với dạy học khoa học máy tính với các chủ đề dạy học liên quan đến thực tiễn, sử dụng tin học để giải quyết các tình huống trong thực tiễn như bài toán quản lí, bài toán khoa học. Đồng thời cần tiến hành xây dựng các chủ đề tích hợp nội tại môn tin học để tăng cường sự liên kết các kiến thức, kĩ năng và hình thành năng lực giải quyết bài toán tin học.
Xuất phát từ thực tiễn giảng dạy bộ môn Tin học tại trường THPT Như Thanh tôi nhận thấy rằng, để đạt hiệu quả cao trong mỗi phần học, tiết học cần có cách thiết kế bài 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 từng đối tượng học sinh. Để qua mỗi 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 được kiến thức đã học trên lớp. Đồng thời học sinh thấy được tầm quan trọng của vấn đề và việc ứng dụng của kiến thức trước hết để đáp ứng những yêu cầu của môn học, sau đó là việc ứng dụng của nó vào các công việc thực tiễn trong đời sống xã hội.
Xuất phát từ cơ sở trên, tôi đã chọn đề tài “Sử dụng cấu trúc rẽ nhánh và lặp để giải một số bài toán trong toán học và trong thực tiễn”, giúp các em nắm được cấu trúc của câu lệnh rẽ nhánh và lặp một cách chính xác và sử dụng cấu trúc rẽ nhánh và lặp trong các bài toán đạt hiệu quả cao nhất. (Chương III, Tin học 11).
II. MỤC ĐÍCH NGHIÊN CỨU
Cấu trúc rẽ nhánh và lặp là cấu trúc thường được sử dụng để lập trình giải các bài toán, trong đó có các bài toán giải hệ phương trình, các bài toán truy hồi. Tuy nhiên một số học sinh khi gặp các bài toán hệ phương trình và truy hồi các em khó xác định được công thức giải đúng của bài toán, đồng thời không biết nên dùng cấu trúc nào để giải bài toán đó. Chính vì vậy, học sinh cảm thấy chán nản, không muốn tìm hiểu và rèn luyện kĩ năng lập trình. Mặt khác với một số đối tượng học sinh khá, giỏi, đa phần các em rất hào hứng với việc học lập trình, cụ thể là ngôn ngữ lập trình Turbo Pascal. Do đó các em muốn tìm hiểu sâu hơn về một số bài toán hệ phương trình và bài toán truy hồi mà có thể áp dụng cấu trúc rẽ nhánh và lặp để giải. Giáo viên nên tích cực khai thác vốn hiểu biết của học sinh để vận dụng, liên hệ một số ví dụ mở rộng, nâng cao với đối tượng học sinh này.
III. ĐỐI TƯỢNG NGHIÊN CỨU
Học sinh khối 11 tại trường THPT Như Thanh.
Sử dụng máy tính để chạy các chương trình về cấu trúc rẽ nhánh và lặp.
IV. PHƯƠNG PHÁP NGHIÊN CỨU
Kết hợp thực tiễn giáo dục ở trường THPT Như Thanh.
Có tham khảo các tài liệu về ngôn ngữ lập trình Pascal và tài liệu về Đại số và giải tích lớp 10, 11.
B. PHẦN NỘI DUNG
I. GIỚI THIỆU CẤU TRÚC RẼ NHÁNH VÀ LẶP TRONG PASCAL
1. Câu lệnh rẽ nhánh IF-THEN 
	Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh IF - THEN. Pascal có 2 dạng câu lệnh IF - THEN 
a) Dạng thiếu :
	If Then  ;
b) Dạng đủ :
	If Then Else  ;
Trong đó :
	- Điều kiện là biểu thức logic.
	- Câu lệnh, Câu lệnh 1, Câu lệnh 2 là một câu lệnh của Pascal.
Hoạt động :
	- Ở dạng thiếu : Điều kiện sẽ được tính và kiểm tra. Nếu Điều kiện đúng thì Câu lệnh sẽ được thực hiện, ngược lại thì Câu lệnh sẽ bị bỏ qua.
	- Ở dạng đủ : Điều kiện cũng được tính và kiểm tra. Nếu Điều kiện đúng thì Câu lệnh 1 sẽ được thực hiện, ngược lại thì Câu lệnh 2 sẽ được thực hiện.
2. Câu lệnh lặp 
	Tất cả các ngôn ngữ lập trình đều có câu lệnh để mô tả cấu trúc lặp. Trong ngôn ngữ lập trình Pascal ta có thể sử dụng 2 loại câu lệnh mô tả cấu trúc lặp là : 
ô Loại 1: Lặp với số lần biết trước :
a. Dạng lặp tiến :
For := To Do ;
Trong đó:
	- For, To, Do là các từ khoá.
	- Biến đếm là biến đơn, thường có kiểu nguyên.
	- Giá trị đầu, Giá trị cuối là các biểu thức có giá trị cùng kiểu với Biến đếm và Giá trị đầu phải nhỏ hơn hoặc bằng Giá trị cuối. Nếu Giá trị đầu lớn hơn Giá trị cuối thì vòng lặp không được thực hiện.
	- Câu lệnh là một câu lệnh trong Pascal, có thể là câu lệnh đơn hoặc câu lệnh ghép.
Hoạt động: 
Ở dạng lặp tiến, câu lệnh viết sau từ khóa Do được thực hiện tuần tự, với Biến đếm lần lượt nhận các giá trị liên tiếp tăng từ Giá trị đầu đến Giá trị cuối.
b. Dạng lặp lùi :
	For := Downto Do ;
Trong đó:
	- For, Downto, Do là các từ khoá.
	- Biến đếm là biến đơn, thường có kiểu nguyên.
	- Giá trị đầu, Giá trị cuối là các biểu thức có giá trị cùng kiểu với Biến đếm.
	- Câu lệnh là một câu lệnh trong Pascal, có thể là câu lệnh đơn hoặc câu lệnh ghép.
Hoạt động: 
	Ở dạng lặp lùi, câu lệnh viết sau từ khóa Do được thực hiện tuần tự với Biến đếm lần lượt nhận các giá trị liên tiếp giảm từ Giá trị cuối đến Giá trị đầu.
ô Loại 2: Lặp với số lần chưa biết trước:
 While do ;
* Trong đó:
- While, do là các từ khoá;
- Điều kiện là biểu thức logic;
- Câu lệnh là một câu lệnh đơn hoặc lệnh ghép.
Cấu trúc hoạt động như sau:
- Bước 1: Tính ;
- Bước 2: Nếu kết quả là đúng (true) thì thực hiện và quay lại bước 1, ngược lại thì chuyển sang câu lệnh tiếp theo trong chương trình.
II. SỬ DỤNG CẤU TRÚC RẼ NHÁNH VÀ LẶP ĐỂ GIẢI BÀI TOÁN HỆ PHƯƠNG TRÌNH 
1. Bài toán hệ phương trình bậc nhất 2 ẩn 
	Hệ hai phương trình bậc nhất hai ẩn có dạng tổng quát là :
	Trong đó : x,y là hai ẩn, các chữ còn lại là hệ số.
	Nếu cặp số (x0,y0) đồng thời thảo mãn hai phương trình của hệ thì (x0,y0) được gọi là một nghiệm của hệ phương trình.
	Giải hệ phương trình trên là tìm tập nghiệm của nó.
2. Sử dụng cấu trúc rẽ nhánh và lặp để giải bài toán tìm nghiệm của hệ phương trình 
Ví dụ 1 : Lập trình để giải bài toán cổ sau : 
	Vừa gà vừa chó
	Bó lại cho tròn
	Ba mươi sáu con
	Một trăm chân chẵn	(SGK Tin học 11 – Trang 51)	
Hỏi có bao nhiêu con mỗi loại ?
Phân tích : 
 Với bài toán trên dễ thấy ta có hệ phương trình hai ẩn như sau:
	Trong đó : gọi x là số gà và y là số chó.
	Từ dữ kiện của bài toán ta có :
	1<=x<=36 ;
	1<=y<=25 ;	
Từ đó ta có chương trình:
* Sử dụng cấu trúc lặp với số lần đã biết :
Program gacho;
Var
 x,y:byte;
Begin
 For x:=1 to 36 do
 For y:=1 to 25 do
 If (x+y=36) and (2*x+4*y=100) then
 Begin
 Writeln('So ga la: ',x);
 Writeln('So cho la: ',y);
 End;
 Readln
End.
* Sử dụng cấu trúc lặp với số lần chưa biết trước :
Program gacho;
Var
 x,y:byte;
Begin
 	x :=1;
	y :=36-x ;
	While (2*x+4*y100)do
 	Begin
	x :=x+1 ;
	y :=36-x ;
	End ;
 	Writeln('So ga la: ',x);
 	Writeln('So cho la: ',y);
 	Readln
End.
Kết quả của chương trình : Số gà là 22, Số chó là 14.
Ví dụ 2 : Trong kho tàng văn hóa dân gian Việt Nam có bài toán  “Trăm trâu trăm cỏ” sau đây : (SGK Đại số 10 – Trang 67)
	Trăm trâu trăm cỏ
	Trâu đứng ăn năm
	Trâu nằm ăn ba
	Lụ khụ trâu già
	Ba con một bó
Hỏi có bao nhiêu trâu đứng, bao nhiêu trâu nằm, bao nhiêu trâu già ?
Phân tích : 
 Với bài toán trên dễ thấy ta có hệ hai phương trình bậc nhất 3 ẩn như sau:
	Trong đó : gọi x là số trâu đứng, y là số trâu nằm và z là số trâu già .
	Từ dữ kiện của bài toán ta có :
	1<=x<=20 ;
	1<=y<=33 ;	
	1<=z<=100 ;
Từ đó ta có chương trình:
program trauco;
var x,y,z:byte; 
begin
	for x:=1 to 20 do
 	for y:=1 to 33 do
 	for z:=1 to 100 do
 	if (5*x+3*y+1/3*z=100) and (x+y+z=100) then
 	Begin
 	writeln('So trau dung la: ',x);
 	Writeln('So trau nam la: ',y);
 	Writeln('So trau gia la: ',z);
 	end;
 readln
end.
Kết quả của chương trình : Bài toán có 3 tập nghiệm
Ví dụ 3 : Một công ti có 85 xe chở khách gồm 2 loại, xe chở được 4 khách và xe chở được 7 khách. Dùng tất cả số xe đó, tối đa công ti chở 1 lần được 445 khách. Hỏi công ti đó có mấy xe khách mỗi loại ?	 (SGK Bài tập Đại số 10 – Trang 77)
 Phân tích : 
 Với bài toán trên dễ thấy ta có hệ hai phương trình bậc nhất 2 ẩn như sau:
	Trong đó : gọi x là số xe chở được 4 khách, y là số xe chở được 7 khách .
	Từ dữ kiện của bài toán ta có :
	1<=x<=85 ;
	1<=y<=63 ;	
Từ đó ta có chương trình:
Program xekhach;
Var
 x,y:byte;
Begin
 	x :=1;
	y :=85-x ;
	While (4*x+7*y445)do
 	Begin
	x :=x+1 ;
	y :=85-x ;
	End ;
 	Writeln('So xe cho 4 khach la: ',x);
 	Writeln('So xe cho 7 khach la: ',y);
 	Readln
End.
Kết quả của chương trình : Số xe khách 4 chổ ngồi là 50, Số xe khách 7 chổ ngồi là 35.
III. SỬ DỤNG CẤU TRÚC RẼ NHÁNH VÀ LẶP ĐỂ GIẢI BÀI TOÁN TRUY HỒI 
1. Bài toán truy hồi 
Trong khoa học tính toán ngày nay, phép truy hồi là thuật toán cơ bản để giải một số bài toán. Ưu điểm của phương pháp truy hồi là ở chỗ nó dùng một công thức nhất định để diễn tả những phép tính lặp đi lặp lại bất chấp số lần lặp lại là bao nhiêu. Chẳng hạn với bài toán cấp số cộng là một ví dụ :
Cho với a là một số cho trước và d là hằng số cố định (công sai). 
- Nếu n là biết trước thì việc xác định số Un phải được thực hiện thông qua n bước lặp theo công thức truy hồi.
- Nếu n là không được biết trước mà Un cần phải thỏa mãn một điều kiện nào đó thì việc xác định Un là quá trình lặp với số lần chưa biết trước nhưng thỏa mãn điều kiện.
Nhiều bài toán truy hồi có thể phải thực hiện rất nhiều lần và các số tính toán có thể rất lớn, nếu thực hiện việc tính toán mà không sử dụng đến máy tính là vô cùng khó khăn. Một trong những đặc trưng của việc lập trình trên máy tính là có khả năng thực hiện có hiệu quả các thao tác lặp trong thời gian rất nhanh.
2. Sử dụng cấu trúc lặp để giải bài toán truy hồi 
a. Sử dụng cấu trúc For  To... Do... 
Ví dụ 1: Với a là số nguyên và a > 2, tính tổng:
 	 (SGK Tin học 11 – Trang 42)
Phân tích: 
 Với bài toán trên dễ thấy ta có công thức truy hồi để tính giá trị S như sau:
 Với n = 1→100 
 Việc cộng vào tổng S được lặp lại 100 lần, giá trị n khi tham gia vòng lặp là 1 và sau mỗi lần lặp n tăng lên 1 cho đến khi n > 100 thì dừng. Như vậy số lần lặp là biết trước, biến n được sử dụng là một biến đếm từ 1 đến 100.
 Từ đó ta có chương trình:
program vidu_1;
var s:real;
 n,a : integer;
begin
writeln(' Hay nhap gia tri a (a>2):');
readln(a);
s := 1/a;
for n := 1 to 100 do
 s := s + 1/(a+n);
writeln('Tong s la: ',s:8:4);
readln;
	End.
Ví dụ 2: Lập trình tính giai thừa của một số nguyên n (do giới hạn lưu trữ số nguyên cho n<8). 
Phân tích: 
Giai thừa của n: n! = 1.2n (tích các số tự nhiên từ 1 đến n). Không có công thức tổng quát để tính n! nhưng ta có công thức truy hồi sau:
Đặt gn=n!, theo công thức trên ta có: 	
Như vậy ta có chương trình tính giai thừa như sau:
	program Vidu_2;
	var	 n, i, g : integer;
	begin
 	writeln('Chuong trinh tinh n! ');
 	write('Nhap (n<8): ');
 	readln(n);
 	g := 1;
 	for i := 1 to n do
 	g := g * i;
 	writeln('Ket qua: ',n,'! = ',g);
 	readln;
	end.
b. Sử dụng cấu trúc for... downto... do ... 
Ví dụ 3: Lập trình tính tổng sau: 	 (SGK Tin học 11 – Trang 51)
Phân tích: 
	Với bài toán trên có thể sử dụng cấu trúc lặp với số lần biết trước dạng tiến hay lùi đều được. Nếu sử dụng cấu trúc lặp For downto  do ta có thể xây dựng công thức truy hồi để tính giá trị Y như sau:
 Với n từ 50 giảm dần về 1
	Việc cộng vào tổng Y được lặp lại 50 lần, giá trị n khi tham gia vòng lặp là 50 và sau mỗi lần lặp n giảm đi 1 cho đến khi n =1 thì dừng. Như vậy số lần lặp là biết trước, biến n được sử dụng là một biến đếm giảm từ 50 về 1, tổng cần tính là Y0 
 Ta viết chương trình như sau:
program vidu_3;
var Y: real; n : integer;
begin
	 Y := 0;
 for n := 50 downto 1 do
 Y := Y + n/(n+1);
 writeln('Tong Y la: ',Y:10:4);
 readln;
	 end.
 Tuy nhiên trong một số trường hợp thì chỉ có thể dùng một cấu trúc, đặc biệt là khi tính các công thức truy hồi. Ta xét một ví dụ dùng for  downto  do thích hợp hơn:
Ví dụ 4: 
n dấu căn
Tính tổng S = với n là một số tự nhiên nhập từ bàn phím.
 Phân tích:
Đặt ta có công thức truy hồi sau:
 Tổng cần tính là s1. Công thức truy hồi là truy hồi ngược (vì tính si qua si+1) nên dùng 
for  downto  do là thích hợp nhất. Có thể chương trình tính như sau:
program Vidu_4;
var
 i,n : integer;
 s : real;
begin
	write('Nhap mot so tu nhien n = ');
	readln(n);
 	s:=0;
 	for i := n downto 1 do
 	s := sqrt (2 * i + s);
 	writeln('Ket qua can tinh: s = ',s:10:5);
	readln;
end.
c. Sử dụng cấu trúc While  do
Ví dụ 5: Tính tổng đến khi 
Phân tích: Phương pháp tính của chúng ta như sau:
Đặt: và (n là số tự nhiên bắt đầu từ 1)
Ta có: và Sn ≈ S khi rn <= 10-6.
Quá trình tính là một quá trình lặp cho đến khi điều kiện dừng xảy ra. 
Toàn bộ chương trình:
program vidu_5;
var 	s,r : real;
 	n : integer;
begin
 writeln(' Chuong trinh tinh tong chuoi S = 1+1/4+1/9+...');
 s := 0; 	n := 1;	 r:= sqr(1/n);
 While r>= 1E-6 do
	Begin
	s := s + r; 
	n := n + 1; 	 
	r := sqr(1/n);
 end;
	write('Tong can tinh voi do chinh xac 1E-6 la: ',s :10:6);
 	readln;
end.
Ví dụ 6: Dân số hiện nay ở một quốc gia khoảng 75 triệu người, tỉ lệ tăng tự nhiên là 1.7%. Hỏi sau bao nhiêu năm nữa thì dân số quốc gia đó đạt xấp xỉ 100 triệu?
Phân tích: đặt S0 là dân số (tính theo đơn vị triệu) thời điểm hiện tại, Sn là dân số sau n năm tính từ thời điểm hiện tại. Ta có:
 (dân số năm sau bằng dân số năm trước cộng thêm lượng tăng tự nhiên).
Như vậy n là số năm cần tìm nếu n là số tự nhiên bé nhất thoả mãn Sn³100.
Ta thấy rằng để tính trực tiếp n thì không dễ dàng nhưng chúng ta có thể sử dụng phương pháp lặp. Nghĩa là chúng ta tăng dần n (với n bắt đầu từ 0) và tính Sn theo công thức trên cho đến khi Sn >100 thì dừng.
Ta có chương trình:
program Vidu_6;
var
	n : integer;
	s : real;
Begin
 n := 0;
 s := 75;
 	while s<=100 do 
begin
	n := n + 1;
s := s + s*0.017;
end;
 writeln('Dan so hien nay la 75 trieu. Ti le tang 1.7%.');
 writeln('Sau ',n,' nam thi dan so dat 100 trieu nguoi.');
 readln;
End.
Bài tập 7: Một người gửi tiết kiệm không kì hạn với số tiền là A đồng với lãi suất 0.3% mỗi tháng. Hỏi sau bao nhiêu tháng, người đó rút hết tiền thì sẽ nhận được số tiền ít nhất là B đồng? Biết rằng việc gửi tiết kiệm không kì hạn thì lãi suất không được cộng vào vốn.	
 (SGK Tin học 11 – Trang 51)
Ta có chương trình:
Program Vi_du_7;
Var A,B:real;
 n:byte;
Begin
 Write('Nhap so tien gui: ');
 Readln(A);
 Write('nhap so tien nhan: ');
 readln(B);
 n:=0;
 While A<=B do
 Begin
 n:=n+1;
 A:=A+A*0.003;
 End;
 Writeln('So thang can la:',n);
 Readln
End.
3. Kết quả thu được
Trong quá trình trao đổi, thảo luận, trình bày học sinh thể hiện được khả năng vận dụng, hiểu biết của mình nên các em đã chủ động, tích cực hơn trong việc học, từ đó các em sẽ khắc sâu hơn kiến thức của bài học. Đồng thời tiết học đạt hiệu quả cao hơn và giáo viên không còn đóng vai trò là người xây dựng lý luận mà học sinh là người chủ động để giải quyết các vấn đề. 
C. PHẦN KẾT LUẬN
Ngôn ngữ lập trình nói chung đóng vai trò rất quan trọng trong việc xây dựng các chương trình ứng dụng để phục vụ cho cuộc sống. Nhờ sự phát triển của tin học trong đó các nhà lập trình chuyên nghiệp đóng vai trò không nhỏ mà hiện nay hầu hết các lĩnh vực trong xã hội đã ứng dụng được tin học để giải quyết công việc nhanh, hiệu quả và chính xác hơn.
Hiện nay, ngôn ngữ lập trình Pascal đã trở thành ngôn ngữ lập trình phổ biến nhất trên thế giới sử dụng trong lĩnh vực giảng dạy. Trong quá trình giảng dạy các thầy cô có thể đưa ra các vấn đề như lập trình các game nhỏđể các em có thể chứng tỏ được khả năng của mình làm cho học sinh yêu thích môn học, ham học hỏi và tìm tòi sáng tạo.
Đề tài này mang tính thực tiễn cao cụ thể là: trong tiết học các em học sinh đã chủ động để tìm tòi lại kiến thức đã học qua đó giải quyết được vấn đề do giáo viên đặt ra. Trong quá trình giải quyết vấn đề, giáo viên chỉ ra những sai sót mà các em hay mắc phải do hiểu không rõ vấn đề giúp cho các em hiểu rõ hơn về câu lệnh rẽ nhánh và lặp.
Kết quả là có rất nhiều em đã dễ dàng vận dụng được câu lệnh rẽ nhánh và lặp để giải các bài toán do giáo viên đặt ra. 
XÁC NHẬN CỦA THỦ TRƯỞNG ĐƠN VỊ
Thanh Hóa, ngày 18 tháng 05 năm 2016
Tôi xin cam đoan đây là SKKN của mình viết, không sao chép nội dung của người khác.
(Ký và ghi rõ họ tên)
	Đỗ Xuân Hoàng
D. TÀI LIỆU THAM KHẢO
1. Sách giáo khoa Tin học 11	Hồ Sĩ Đàm 	Chủ biên 
2. Sách giáo viên Tin học 11	Hồ Sĩ Đàm 	Chủ biên 
3. Sách bài tập tin học 11	Hồ Sĩ Đàm 	Chủ biên
4. Sách giáo khoa Đại số 10	Vũ Tuấn	Chủ biên
5. Sách Đại số và giải tích 11	Vũ Tuấn	Chủ biên
6. Sách Bài tập Đại số 10	Vũ Tuấn	Chủ biên
7. Lý thuyết và Bài tập lập trình Pascal 5.5	Đỗ Phúc 
8. Một số ý kiến của đồng nghiệp.

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

  • docskkn_su_dung_cau_truc_re_nhanh_va_lap_de_giai_mot_so_bai_toa.doc