SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓATRƯỜNG THPT LƯƠNG ĐẮC BẰNG SÁNG KIẾN KINH NGHIỆM HỆ THỐNG MỘT SỐ BÀI TẬP GIÚP HỌC SINH HỌC TỐT CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP MÔN TIN HỌC LỚP 1
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA
TRƯỜNG THPT LƯƠNG ĐẮC BẰNG
SÁNG KIẾN KINH NGHIỆM
HỆ THỐNG MỘT SỐ BÀI TẬP GIÚP HỌC SINH HỌC TỐT
CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
MÔN TIN HỌC LỚP 11
Người thực hiện: Nguyễn Thúy Hà Chức vụ: Tổ trưởng chuyên môn SKKN thuộc môn: Tin học
THANH HÓA NĂM 2021
Trang 2MỤC LỤC
Trang
1 PHẦN MỞ ĐẦU
1.1 Lí do chọn đề tài: ……… 1
1.2 Mục đích nghiên cứu: ……… 1
1.3 Đối tượng nghiên cứu: ……… 1
1.4 Phương pháp nghiên cứu: ……… 2
2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lí luận: ……… 2
2.2 Thực trạng của vấn đề nghiên cứu: ……… 2
2.3 Giải quyết vấn đề: ……… 2-3 2.3.1 Các giải pháp thực hiện: ……… 3
2.3.2 Nội dung thực hiện: ……… 3-16 2.4 Hiệu quả của sáng kiến kinh nghiệm: ……… 16
3 Kết luận, kiến nghị: ……… 16-17 3.1 Kết luận: ……… 16
3.2 Kiến nghị: ……… 17
Trang 3ĐỀ TÀI SÁNG KIẾN KINH NGHIỆM
“HỆ THỐNG MỘT SỐ BÀI TẬP GIÚP HỌC SINH HỌC TỐT CHƯƠNG III:
CẤU TRÚC RẼ NHÁNH VÀ LẶP MÔN TIN HỌC LỚP 11”
1 PHẦN MỞ ĐẦU
1.1 Lí do chọn đề tài
Ngày nay, trên thế giới đang diễn ra quá trình tin học hoá trên nhiều lĩnhvực hoạt động của xã hội loài người và đem lại nhiều hiệu quả to lớn
Sự phát triển mạnh mẽ như “vũ bão” của tin học đã làm cho xã hội có nhiềunhận thức mới về cách tổ chức các hoạt động Nhiều quốc gia trên thế giới ýthức được rất rõ tầm quan trọng của tin học và có những đầu tư lớn cho lĩnh vựcnày, đặc biệt trong giáo dục nâng cao dân trí về tin học và đào tạo nguồn nhânlực có chất lượng cao Người Việt Nam có nhiều tố chất thích hợp với ngànhkhoa học này, vì thế chúng ta hi vọng có thể sớm hoà nhập với khu vực và trênthế giới
Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của ngành Tin họcvà đã đưa môn học này vào nhà trường phổ thông như những môn khoa họckhác bắt đầu từ năm học 2006-2007
1.2 Mục đích nghiên cứu
Trong quá trình giảng dạy môn Tin học 11, khi dạy Chương III “CẤU TRÚC RẼ NHÁNH VÀ LẶP”, mục tiêu của chương là dạy cho học sinh hiểu khái niệm
rẽ nhánh và lặp trong lập trình, biết diễn đạt đúng các câu lệnh, soạn đượcchương trình giải các bài toán đơn giản áp dụng các câu lệnh rẽ nhánh và lặp.Bước đầu có khả năng phân tích bài toán đơn giản để chọn kiểu cấu trúc điềukhiển phù hợp tình huống, biết tạo câu lệnh ghép khi cần thiết Nội dung củachương này không phải là nội dung khó nhưng đóng vai trò rất quan trọng đó làbước đầu hình thành khái niệm lập trình có cấu trúc, để làm nền tảng cho việchọc các nội dung tiếp theo của chương trình
Từ lí do trên, tôi xin trình bày sáng kiến kinh nghiệm “HỆ THỐNG MỘT SỐ BÀI TẬP GIÚP HỌC SINH HỌC TỐT CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP MÔN TIN HỌC LỚP 11’’ Với các bài tập được trình bày trong sáng kiến kinhnghiệm của mình sẽ giúp cho học sinh học tốt hơn
1.3 Đối tượng nghiên cứu
Học sinh khối 11 trường THPT Lương Đắc Bằng
Trang 41.4 Phương pháp nghiên cứu
Phương pháp nghiên cứu lí luận:
Khi xây dựng đề tài này tôi đã nghiên cứu các tài liệu tham khảo sau:Sách giáo khoa Tin học 11 viết bằng ngôn ngữ lập trình C++ , sách bài tập tinhọc lớp 11, bài tập trắc nghiệm và một số đề kiểm tra Tin học 11, một số bài tập
cơ bản của các môn học khác
Phương pháp ứng dụng thực tiễn
- Phương pháp quan sát - Kiểm tra việc học tập của học sinh (bài cũ, bài mới)
- Phương pháp điều tra – Phỏng vấn học sinh
- Phương pháp khảo nghiệm thăm lớp, dự giờ Kiểm tra chất lượng sau giờ học
2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1 Cơ sở lí luận
- Nghị quyết 40/2000/QH10 và chỉ thị 14/2001/CT-TT ngày 9/12/2000về việc đổi mới chương trình giáo dục phổ thông: Nội dung chương trình là tíchcực áp dụng một cách sáng tạo các phương pháp tiên tiến, hiện đại, ứng dụngCNTT vào dạy và học
- Trong nhiệm vụ năm học 2005-2006 Bộ trưởng giáo dục và đào tạonhấn mạnh: Khẩn trương triển khai chương trình phát triển nguồn nhân lựcCNTT từ nay đến năm 2010 của chính phủ về đề án dạy Tin học ứng dụngCNTT và truyền thông giai đoạn 2004-2006
- Chỉ thị 29/CT của trung ương Đảng về việc đưa CNTT vào nhà trường
- Thông tư số 14/2002/TT- BGD&ĐT ngày 1/4/2002 về việc hướng dẫnquán triệt chủ trương đổi mới giáo dục phổ thông
2.2 Thực trạng của vấn đề nghiên cứu.
“Chương III: Cấu trúc rẽ nhánh và lặp” Trong chương trình tin học lớp
11 nội dung của chương này không phải là nội dung khó nhưng đóng vai trò rấtquan trọng đó là bước đầu hình thành khái niệm lập trình có cấu trúc để làm nềntảng cho việc học các nội dung tiếp theo của chương trình
Chính vì vậy khi dạy chương này giáo viên cần đưa các dạng bài tập khácnhau để các em khắc sâu được kiến thức
2.3 Giải quyết vấn đề
2.3.1 Các giải pháp thực hiện.
Đề tài được hình thành dựa vào các câu hỏi khoa học sau:
Trang 5* Để học sinh có thể tự lực viết được các chương trình giải các bài toán đơn giảnáp dụng các câu lệnh rẽ nhánh và lặp thì phải làm cách nào?
* Việc giúp học sinh có thể dễ dàng nhận dạng được bài toán với phương pháp
đã được hướng dẫn của giáo viên thì người giáo viên cần phải làm gì?
Từ các câu hỏi trên, tôi thấy rằng để học sinh học tốt được “Chương III: Cấu trúc rẽ nhánh và lặp” thì cần phải đưa ra các dạng bài tập khác nhau để
các em thấy hứng thú học hơn
2.3.2 Nội dung thực hiện
A Nhắc lại một số kiến thức cơ bản
I/ Cấu trúc rẽ nhánh
Điều kiện: Là một biểu thức quan hệ hoặc một biểu thức lôgic.
Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu lệnh của C++ Khối lệnh,
Khối lệnh 1, Khối lệnh 2 là một khối lệnh của C++.
Ở dạng thiếu: điều kiện sẽ được tính và kiểm tra Nếu điều kiện đúng (có giá trị
true) thì câu lệnh hoặc khối lệnh sẽ được thực hiện, ngược lại thì câu lệnh hoặc khối 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 hoặc khối lệnh 1 sẽ được thực hiện, ngược lại thì câu lệnh 2 hoặc khối lệnh 2 sẽ được thực hiện.
Trang 6II/ Cấu trúc lặp
1 Cấu trúc lặp for
Cấu trúc chung:
for ([<biểu thức 1>] ; [<điều kiện>]; [<biểu thức 2>])
<Câu lệnh hoặc khối lệnh> ; Trong đó:
- Biểu thức 1: là biểu thức khởi đầu (thường là biểu thức số học để gán giá trị
cho biến chạy), sẽ được thực thi một lần duy nhất khi vòng lặp bắt đầu
- Điều kiện: là biểu thức cho giá trị logic (true hoặc false), nếu có giá trị bằng true thì câu lệnh hoặc khối lệnh sẽ được thực thi, nếu không thì vòng lặp sẽ kết
thúc
- Biểu thức 2: là biểu thức sẽ được thực thi sau mỗi lần lặp, tức là sau mỗi lần câu lệnh hoặc khối lệnh được thực hiện Sau khi biểu thức 2 được thực thi thì điều kiện lại được kiểm tra và quá trình lặp tiếp tục
Lưu ý:
Biểu thức 1, điều kiện, biểu thức 2 có thể có hoặc không nhưng bắt buộc phải
có 2 dấu ;, nếu không có điều kiện thì mặc định là điều kiện có giá trị true.
2 Cấu trúc lặp while
Cấu trúc chung:
while (<điều kiện>)
<câu lệnh hoặc khối lệnh>;
Trong đó:
- Điều kiện: là một biểu thức cho giá trị logic (true hoặc false), nếu điều kiện cho giá trị true thì câu lệnh hoặc khối lệnh sẽ được thực hiện, nếu cho giá trị
false thì vòng lặp kết thúc
- Câu lệnh hoặc khối lệnh: được thực thi nếu điều kiện cho giá trị là true, sau
mỗi lần thực thi thì điều kiện lại được kiểm tra và quá trình lặp tiếp tục
3 Cấu trúc lặp do … while
Cấu trúc chung:
do
<câu lệnh hoặc khối lệnh>;
while (<điều kiện>);
Trong đó:
Trang 7- Câu lệnh hoặc khối lệnh: được thực thi trước khi điều kiện được kiểm tra giá
trị
- Điều kiện: là một biểu thức cho giá trị logic (true hoặc false), nếu điều kiện
cho giá trị true thì câu lệnh hoặc khối lệnh; sẽ tiếp tục được thực hiện, nếu cho
giá trị false thì vòng lặp kết thúc
Lưu ý:
Chức năng của do – while hoàn toàn giổng vòng lặp while chỉ trừ là <điều kiện> được kiểm tra sau khi lệnh hoặc
khối lệnh được thực hiện Vì vậy lệnh và khối lệnh sẽ được thực
hiện ít nhất một lần ngay cả khi <điều kiện> không bao giờ
thõa mãn
B Các bài tập
Bài 1: Biển báo cấm để biểu thị các điều cấm khi tham gia giao thông Người sử
dụng đường bộ phải chấp hành những điều cấm mà biển báo đã báo Biển báocấm là biển có dạng hình tròn (trừ biển số 122 "Dừng lại" có hình 8 cạnh đềuhình bát giác)
+/ Nếu gặp biển Đường cấm tất cả các loại phương tiện (cơ giới và thô sơ) đi lại cả hai hướng, trừ các xe được ưu tiên theo luật lệ nhà nướcquy định
+/ Nếu gặp biển Đường cấm tất cả các loại xe (cơ giới và thô sơ) đi vàotheo chiều đặt biển, trừ các xe được ưu tiên theo luật lệ nhà nước quy định
+/ Nếu gặp biển Đường cấm tất cả các loại xe cơ giới và môtô đi qua trừ xe gắn máy và các xe ưu tiên theo luật lệ nhà nước quy định
+/ Nếu gặp biển cấm người đi bộ qua lại
Quy ước: Biển là số 1
Trang 8Nếu n =2 thì thông báo là “CAM ĐI NGUOC CHIEU”.
Nếu n =3 thì thông báo là “CAM OTO VA MOTO”.
Nếu n =4 thì thông báo là “CAM NGUOI DI BO”.
Chương trình tham khảo
#include <iostream>
using namespace std;
int main() { short n;
cout << "Nhap n = "; cin >> n;
if (n==1) cout << "DUONG CAM";
if (n==2) cout << "CAM DI NGUOC CHIEU";
if (n==3) cout << "CAM OTO VA MOTO";
if (n==4) cout << "CAM NGUOI DI BO" << endl;
return 0;
}
Bài
2 : Viết chương trình thực hiện công việc sau:
Cho a mol Ca(OH)2 dư đựng trong bình từ từ phản ứng với b mol CO2 Sau phản ứng trong bình có những chất nào?
Phân tích bài toán
Phương trình phản ứng hóa học
Ca(OH)2 + CO2 CaCO3 + H2O
Ca(OH)2 + CO2 +H2O Ca(HCO3)2
Nếu a/b =1 thì trong bình có CaCO3
Nếu a/b>1 thì trong bình có CaCO3 và Ca(OH)2 dư
Nếu a/b< =1/2 thì trong bình có Ca(HCO3)2
Nếu 1/2<a/b<1 thì trong bình có CaCO3 và Ca(HCO3)2
Chương trình tham khảo
#include <iostream>
using namespace std;
int main() {
float a,b;
cout << " Nhap a, b = "; cin >> a >> b;
if (a/b==1) cout << "CaCO3";
if (a/b>1) cout << "CaCO3 va Ca(OH)2";
Trang 9if (a/b<=0.5) cout << "Ca(HCO3)2";
if ((a/b>0.5)&&(a/b<1)) cout << "CaCO3 va Ca(HCO3)2" << endl;
return 0;
}
Bài
3 : Viết chương trình tìm số lớn nhất trong ba số thực a, b, c
Chương trình tham khảo
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout << "So lon nhat trong 3 so la: ";
cout << fixed << setprecision(2) << max << endl;
return 0;
}
Bài
4 : Viết chương trình: Nhập vào tháng của một năm Cho biết tháng thuộc
quí mấy trong năm
Chương trình tham khảo
#include <iostream>
using namespace std;
int main() {
short thang;
cout << " Nhap thang = "; cin >> thang;
if ((thang==1)||(thang==2)||(thang==3)) cout >> " Thang thuoc qui 1";
if ((thang==4)||(thang==5)||(thang==6)) cout >> " Thang thuoc qui 2";
if ((thang==7)||(thang==8)||(thang==9)) cout >> " Thang thuoc qui 3";
if ((thang==10)||(thang==11)||(thang==12)) cout >> " Thang thuoc qui 4" << endl;
return 0;
}
Trang 10Bài
5 : Viết chương trình giải và biện luận phương trình ax + b =0 với a, b là hai
số thực được nhập từ bàn phím
Chương trình tham khảo
cout << "Nhap a:"; cin >> a;
cout << "Nhap b:"; cin >> b;
if (a == 0)
if (b == 0) cout << "Phuong trinh co vo so nghiem" << endl;
else cout << "Phuong trinh vo nghiem" << endl;
else
cout << "Phuong trinh co mot nghiem la x: " << -b / a << endl; return 0;
}
Bài 6: Viết chương trình giải phương trình bậc hai ax2 + bx + c =0 (a 0) với a, b,
c là ba số thực nhập vào từ bàn phím
Chương trình tham khảo
Trang 11cout << fixed << setprecision(2) << x1 << endl;
cout << "Nghiem thu hai x2 = ";
cout << fixed << setprecision(2) << x2 << endl;
}
else if ( delta == 0)
{ cout << "Phuong trinh co nghiem kep: x1 = x2 = ";
cout << -b/(2*a) << endl;
} else
cout << "Phuong trinh vo nghiem" << endl;
return 0;
}
Bài 7 : Kể từ ngày 16/3/2015, biểu giá bán điện được áp dụng để tính tiền sử
dụng điện sinh hoạt được tính như sau:
GIÁ BÁN LẺ ĐIỆN SINH HOẠT GIÁ BÁN ĐIỆN CHƯA CÓ VAT (Đồng/kWh)
Nhập vào số điện năng tiêu thụ của một hộ gia đình Em hãy lập chươngtrình tính tiền điện phải nộp cho các hộ gia đình, dựa vào biểu giá điện ở bảngtrên Tiền điện phải nộp của mỗi hộ gia đình = tiền điện + tiền điện *10% (tiềnđiện *10% là thuế GTGT)
Trang 12Ví dụ:
Hóa đơn tiền điện trên tính tiền điện cho một hộ Số điện năng tiêu thụcủa hộ này là 244 kWh Do đó tiền điện chia thành 4 mức, số tiền điện là428.098 đồng Số tiền điện phải nộp là 470.908 đồng
Chương trình tham khảo
Trang 13float tdpn=td+td*0.1;
cout << " Tien dien phai nop la: ";
cout << fixed << setprecision(0)<<tdpn << endl;
return 0;
}
Bài 8 : Một người gửi tiết kiệm không kì hạn với số tiền A đồng với lãi suất
0.6% mỗi tháng Hỏi sau bao nhiêu tháng, người đó rút hết tiền thì sẽ nhận đượcsố tiền ít nhất là B đồng? Biết rằng với việc gửi tiết kiệm không kì hạn thì lãikhông được cộng vào vốn
Chương trình tham khảo
cout << " nhap so tien gui vao A = "; cin >> A;
cout <<" nhap so tien co the khi duoc rut ve B ="; cin >> B; T=0; C=A;
cout << fixed << setprecision(2) << C << " dong ";
cout << "\n Se nhan duoc so tien it nhat la ";
cout << fixed << setprecision(2) << B << "dong" << endl;
return 0;
}
Bài 9 : Hãy viết chương trình thực hiện liên tiếp việc nhập từ bàn phím số
nguyên N là một năm bất kỳ (N<2000)
- Nếu N=226 thì đưa ra màn hình dòng chữ “Nam sinh cua Ba Trieu”
Trang 14- Nếu N=1385 thì đưa ra màn hình dòng chữ “Nam sinh cua vua Le Loi”
- Nếu N=1397 thì đưa ra màn hình dòng chữ “Thanh Nha Ho duoc xay dung”
- Nếu N=1962 thì đưa ra màn hình dòng chữ “La nam di tích lich su Lam Kinh duoc xep hang cap Quoc Gia”
- Nếu N khác các số 226, 1385, 1397, 1962 thì yêu cầu nhập lại
Chương trình dừng lại khi nhập vào số 2000
Chương trình tham khảo
cout << " Yeu cau nhap lai" << endl;
cout << "Nhap so nam bat ky N = "; cin >> N;