Tải bản đầy đủ (.doc) (23 trang)

SKKN Tạo hứng thú học môn Tin Học lớp 11 thông qua hệ thống bài tập

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (171.13 KB, 23 trang )

MỤC LỤC
A. MỞ ĐẦU.........................................................................................................2
1. LÍ DO VIẾT SÁNG KIẾN............................................................................2
2. MỤC TIÊU CỦA SÁNG KIẾN....................................................................2
3. GIỚI HẠN CỦA SÁNG KIẾN..................................................................... 2
3.2. Phương pháp nghiên cứu:...........................................................................3
3.3. Thời gian nghiên cứu:.................................................................................3
B. NỘI DUNG......................................................................................................4
1. CƠ SỞ VIẾT SÁNG KIẾN...........................................................................4
1.1. Cơ sở lí luận............................................................................................... 4
1.2. Cơ sở thực tiễn........................................................................................... 4
2. THỰC TRẠNG CỦA VẤN ĐỀ CẦN GIẢI QUYẾT...................................5
3. BIỆN PHÁP THỰC HIỆN:...........................................................................6
3.1. BÀI TẬP VẬN DỤNG CHO CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN.....6
* Bài 9/161SGK Đại số 10................................................................................7
* Bài 1/59 SGK Hình học 10.............................................................................7
* Bài 4/59 SGK Hình học 10.............................................................................8
* Bài 6/59 SGK Hình học 10.............................................................................9
* Bài 8/10 SGK Vật lí 11.................................................................................10
* Bài 9/29 SGK Vật lí 11.................................................................................11
* Bài 13/45 SGK Vật lí 11...............................................................................12
* Bài 14/45 SGK Vật lí 11...............................................................................12
* Bài 15/45 SGK Vật lí 11...............................................................................12
3.2. BÀI TẬP VẬN DỤNG CHO CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP. .12
* Bài 3/39sgk – Đại số 10............................................................................... 13
* Bài 1/49 SGK Đại số 10...............................................................................14
* Bài 3.18 Sách BT Tin 11.............................................................................. 15
* Bài 3.19 Sách BT Tin 11.............................................................................. 16
* Bài 2/92 SGK Đại số 11...............................................................................16
* Bài 3/92 SGK Đại số 11...............................................................................17
* Bài 5/98 SGK Đại số 11...............................................................................18


* Bài đọc thêm/67 Đại số 10...........................................................................19
4. HIỆU QUẢ CỦA SÁNG KIẾN.................................................................. 20
C. KẾT LUẬN, KIẾN NGHỊ....................................................................... 21
A. MỞ ĐẦU
1


1. LÝ DO VIẾT SÁNG KIẾN
Bộ môn Tin học THPT thường ít được học sinh quan tâm, yêu thích vì nó
không thuộc tổ hợp môn thi ĐH nào. Nhất là Tin học lớp 11, một nội dung kiến
thức cần rất nhiều sự tư duy sâu và khả năng sáng tạo. Mặt khác tin học 11
không như tin học lớp 10, 12 là các chương trình ứng dụng, dễ hiểu, dễ vận
dụng, dễ hình dung. Tin học lớp 11 thường rất ít ứng dụng dễ thấy, do vậy khó
tiếp cận, khó gần gũi đối với các em học sinh. Trong nhiều năm giảng dạy, tôi
thấy việc tạo hứng thú cho học sinh yêu thích môn tin học là một việc làm rất
cần thiết và cần đầu tư. Từ thực tế tôi thấy học sinh thường yêu thích các môn
trong tổ hợp thi ĐH như Toán, Lý, Hóa, Sinh, Tiếng Anh... Do vậy trong tôi
hình thành sáng kiến sao không vận dụng tin học lớp 11 để lập trình giải các bài
toán mà các em yêu thích ở các bộ môn khác. Đây cũng là một minh chứng cho
ứng dụng của tin học lớp 11 mà các em có thể nhìn thấy và nhận ra ngay. Qua
sáng kiến kinh nghiệm “TẠO HỨNG THÚ HỌC MÔN TIN HỌC LỚP 11
THÔNG QUA HỆ THỐNG BÀI TẬP” tôi muốn gửi tới các bạn đồng nghiệp
một chút kinh nghiệm của bản thân để học sinh thực sự yêu thích bộ môn Tin
học, nhất là tin học lớp 11.
2. MỤC TIÊU CỦA SÁNG KIẾN
2.1. Mục tiêu chung:
Bộ môn Tin học phải cùng với các bộ môn khác tham gia thực hiện mục tiêu
của nhà trường phổ thông là đào tạo thế hệ trẻ thành những người lao động có
học vấn vững chắc, có nhân cách hoàn thiện và có năng lực bảo vệ, xây dựng
đất nước phồn vinh. Là một trong những môn thuộc lĩnh vực khoa học tự nhiên,

bộ môn Tin học phải cung cấp những tri thức cơ bản, làm nền tảng để học sinh
có thể tiếp tục đi sâu vào tìm hiểu và xây dựng khoa học Tin học hoặc tiếp thu
những tri thức của các lĩnh vực kĩ thuật công nghệ tiên tiến, nhất là các lĩnh vực
của công nghệ thông tin.
2.2. Mục tiêu cụ thể:
- Nâng cao chất lượng dạy và học môn Tin học trong trường phổ thông, đặc
biệt là dạy học lập trình ở Tin học lớp 11.
- Góp phần đổi mới phương pháp dạy học trong trường phổ thông nói chung
và môn Tin học nói riêng.
- Góp phần khơi dậy lòng đam mê, yêu thích và hứng thú khi học môn Tin
học của học sinh. Đặc biệt là giúp các em nhìn thấy những ứng dụng đơn giản,
cụ thể, gần gũi, thiết thực của lập trình trong môi trường học tập của bản thân.
3. GIỚI HẠN CỦA SÁNG KIẾN
3.1. Đối tượng và phạm vi nghiên cứu:
Học sinh khối 11 trường THPT Mỏ Trạng năm 2017-2018 trong kì 1

2


3.2. Phương pháp nghiên cứu:
- Dựa trên cơ sở lý thuyết của các môn Khoa học tự nhiên như Toán, Lí,
Hóa, Sinh. Nhất là môn Toán môn học cơ sở cho sự phát triển tư duy lập trình
trong Tin học.
- Dựa trên cơ sở lý thuyết của Ngôn ngữ lập trình Pascal. Sự hoạt động tuần
tự từng bước của máy tính khi thực hiện chương trình.
- Thu thập dữ liệu thông qua việc hỏi học sinh về mức độ biết, hiểu và vận
dụng ngôn ngữ lập trình Pascal vào giải các bài toán trong các môn học khác.
- Phân tích đánh giá mức độ học sinh hiểu vận dụng, giải được các bài toán
trong các môn học khác, từ đó xây dựng, giới thiệu các bài toán phù hợp với
từng đối tượng học sinh.

- Tổng kết rút kinh nghiệm
3.3. Thời gian nghiên cứu:
Từ tháng 9 năm 2017 đến tháng 12 năm 2017

3


B. NỘI DUNG
1. CƠ SỞ VIẾT SÁNG KIẾN
1.1. Cơ sở lí luận
Tạo hứng thú cho người học luôn là một vấn đề quan trọng trong hoạt động
dạy - học. Bởi vì, như chúng ta biết, dạy - học là một hoạt động phức tạp, trong
đó chất lượng, hiệu quả cơ bản phụ thuộc vào người học. Và điều này lại phụ
thuộc vào nhiều yếu tố, như: năng lực nhận thức, động cơ học tập, sự quyết
tâm...; nó còn phụ thuộc vào: môi trường học tập, người tổ chức quá trình dạy
học, sự hứng thú trong học tập.
Các nhà nghiên cứu tâm lý học cho rằng, hứng thú là thái độ đặc biệt của cá
nhân đối với đối tượng nào đó, nó có ý nghĩa đối với cuộc sống và có khả năng
mang lại khoái cảm cá nhân trong quá trình hoạt động. Sự hứng thú biểu hiện
trước hết ở sự tập trung chú ý cao độ, sự say mê của chủ thể hoạt động. Sự hứng
thú gắn liền với tình cảm con người. Trong bất cứ công việc gì, nếu có hứng thú
làm việc, con người sẽ có cảm giác dễ chịu với hoạt động, làm nẩy sinh khát
vọng hành động một cách có sáng tạo. Ngược lại, nếu không có hứng thú, dù là
hoạt động gì cũng sẽ không đem lại hiệu quả cao. Đối với các hoạt động nhận
thức, sáng tạo, hoạt động học tập, khi không có hứng thú, kết quả sẽ không là gì
hết, thậm chí xuất hiện cảm xúc tiêu cực.
Việc học có tính chất đối phó, miễn cưỡng, người học may lắm chỉ tiếp thu
được một lượng kiến thức rất ít, không sâu, không bản chất. Vì thế dễ quên.
Khi có hứng thú, say mê trong nghiên cứu, học tập thì thì việc lĩnh hội tri
thức trở nên dễ dàng hơn; ngược lại, khi nắm bắt được vấn đề, tức là hiểu được

bài thì người học lại có thêm hứng thú. Trên thực tế, những người không thích,
không hứng thú khi học môn học nào đó thường là những người không học tốt
môn học đó. Chính vì vậy, việc tạo hứng thú cho người học được xem là yêu
cầu bắt buộc đối với bất cứ ai làm công tác giảng dạy, đối với bất cứ bộ môn
khoa học nào.
1.2. Cơ sở thực tiễn
* Đặc điểm môn
Môn Tin học đến nay không còn là môn học mới mẻ đối với học sinh phổ
thông, bởi học sinh đã được làm quen nó ngay ở các cấp học dưới. Đây là một
thuận lợi cho học sinh, học sinh không phải học từ đầu để làm quen với môn
học. Sự liên quan của môn Tin học với các môn học khác là nhiều, vì vậy học
sinh sẽ phải vất vả để xem lại, tìm kiếm lại tri thức ở các môn học khác. Đặc
biệt nội dung lập trình trong môn học Tin học lại có liên quan rất nhiều đến kiến
thức các môn khoa học tự nhiên như Toán,Lí, liên quan nhiều đến tư duy Toán
học. Nếu học sinh yếu tư duy về Toán học thì sẽ rất là khó khăn khi lập trình.
Muốn giải quyết được việc này thì giáo viên cần phải dẫn dắt học sinh tiếp cận
4


với môn học một cách tự nhiên, hào hứng thông qua những kiến thức sẵn có của
các em ở các môn học mà các em yêu thích.
* Giáo viên
Nhiều giáo viên còn hạn chế về trình độ, khả năng cập nhật thông tin.
Không chỉ vậy, một số giáo viên tư duy về thuật toán còn chậm, hay nói cách
khác là chưa hiểu rõ thuật toán để diễn đạt trong việc dạy lập trình. Chính điều
này đã làm cho giáo viên hạn chế trong việc đổi mới phương pháp. Dẫn đến học
sinh mất đi khả năng tìm hiểu và tư duy giải quyết bài toán, hứng thú trong việc
học lập trình.
* Học sinh
Khi bước vào học phổ thông thì học sinh đã bắt đầu định hình học theo

khối để thi đại học. Thời gian học chủ yếu dành cho các môn học chính như
Toán, Lý, Hóa, Văn, Anh. Tin học là một môn phụ nên thời gian để học chỉ là
những tiết học ở trên lớp. Đối với Tin học 10, 12 thì tính ứng dụng của môn học
trong thực tế các em dễ dàng nhìn thấy và thực hiện được luôn. Còn với Tin học
11 thuộc về lĩnh vực lập trình, khó có sản phẩm để các em nhìn thấy. Hơn thế
việc tư duy thuật toán cũng là một nội dung khó đối với các em. Điều này dẫn
đến rất nhiều học sinh không thích và học kém môn học này.
Từ thực tế trên tôi muốn minh chứng thật rõ nét cho các em nhìn thấy
những ứng dụng cụ thể của ngôn ngữ lập trình trong việc giải các bài tập Toán,
Lí trên máy tính. Từ đó các em sẽ nhận ra việc học Tin học lập trình không quá
khó và yêu thích môn học.
2. THỰC TRẠNG CỦA VẤN ĐỀ CẦN GIẢI QUYẾT
Khi dạy tin 11 thì những bài đầu là những bài giới thiệu tổng quan về
ngôn ngữ lập trình, giới thiệu một số khái niệm trong lập trình. Ở những bài đầu
học sinh sẽ cảm thấy hơi đơn điệu và nhàm chán. Ở những bài này khi dạy tôi
luôn luôn nhấn mạnh với các em phải hiểu, nhớ và thuộc lí thuyết thì mới vận
dụng lập trình được ở những nội dung sau. Cũng giống như môn Toán, Lí, Hóa
để làm được bài tập các em phải nhớ, hiểu công thức thì mới vận dụng để làm
bài được. Kiến thức tin học lớp 11 là về lập trình và các bài toán trong tin học
thường liên quan đến toán học. Nếu học sinh không nắm vững kiến thức toán
thì sẽ rất khó để tư duy thuật toán trong tin học dẫn đến khả năng viết chương
trình gặp nhiều khó khăn. Đặc biệt những học sinh học yếu môn toán thì đồng
nghĩa với việc tư duy viết chương trình môn tin học cũng rất kém, đến lúc này
việc áp dụng kiến thức tin học để làm bài tập thực hành gặp rất nhiều khó khăn,
chỉ trông chờ vào giáo viên giải bài trên lớp và chép vào vở.
* Nguyên nhân:
- Do hoàn cảnh gia đình khó khăn, học sinh phải làm vieecju nhà nhiều hoặc
phải làm thêm để kiếm sống nên không chú ý đến học tập.
5



- Do áp lực của các kì thi tốt nghiệp cũng như đại học nên hầu hết học sinh chỉ
coi trọng các môn thi tốt nghiệp mà tỏ ra xem nhẹ các môn học khác.
- Sự phát triển bùng nổ của công nghệ thông tin cùng với internet, các dịch vụ
vui chơi, giải trí hấp dẫn lôi cuốn các em hơn là nhiệm vụ học tập nhất là các
môn học có tính tư duy cao như môn tin học lớp 11.
- Do tâm lí của một số học sinh ham chơi vẫn nghĩ học tin học là được giải trí,
chơi điện tử nhưng thực ra đối với tin học lớp 11 đòi hỏi học sinh phải tư duy
rất nhiều.
3. BIỆN PHÁP THỰC HIỆN:
Vận dụng ngôn ngữ lập trình trong việc giải các bài tập Toán, Lí trên
máy tính. Từ đó các em sẽ nhận ra việc học Tin học lớp 11 không quá khó và
yêu thích môn học.
3.1. BÀI TẬP VẬN DỤNG CHO CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN
Quá trình dạy chương II giáo viên cần truyền đạt tới các em những kiến
thức cơ bản nhất của ngôn ngữ lập trình. Cách thức dẫn dắt vấn đề thật đơn giản
gần gũi để các em không có cảm giác sợ hãi, lo lắng. Bước khởi đầu tiếp cận là
rất quan trọng. Trong lúc học giáo viên nên lồng ghép những câu như “Tin học
cũng như Toán, như Lý. Để viết được chương trình các em cần nhớ cú pháp, câu
lệnh giống như việc các em làm bài tập cần nhớ công thức để vận dụng”.
Kiến thức trọng tâm của chương giáo viên cần truyền tải tới học
sinh:
- Chương trình thường gồm hai phần : Khai báo, thân
- Nhớ ý nghĩa các từ khóa để dùng khi viết chương trình: Program, Uses,
Var, Const, Begin, End.
- Tên, phạm vi lưu trữ các kiểu dữ liệu: Byte, Integer, Longint, Word,
Real, Char, Boolean..
- Các phép toán, các phép so sánh, phép toán quan hệ
- Các hàm số học chuẩn: ABS, SQR, SQRT, Sin, Cos,
- Hai lệnh nhập, in dữ liệu : Read,Readln, Write, Writeln

Trong khi học chương II là ta có thể vận dụng kiến thức toán học vào để
làm một số bài tập. Giáo viên có thể lồng ghép các bài này trong các tiết dạy lí
thuyết. Đến mỗi phần tương ứng nên cho học sinh xem những gì mà máy tính
làm được. Hoặc ở các tiết thực hành giáo viên có thể giao thêm bài để các em tự
mình viết trên máy. Từ đó các em dễ cảm nhận được ứng dụng của lập trình
trong quá trình học.
6


* Bài 9/161SGK Đại số 10
Tôi chuyển thành bài toán tin như sau:
Viết chương trình tính giá trị của các biểu thức lượng giác.
a) 4(Cos240 + Cos480-Cos840-Cos120)
b) 96 3 Sin






Cos
Cos
Cos Cos
48
48
24
12
6

c) Tan90-Tan630+Tan810- Tan270

Chương trình
Program Bai9Tr161;
Begin
Writeln(‘KQ cau a = ’, 4*(Cos(24*pi/180) + Cos(48*pi/180)-Cos(840Cos120)));
Writeln(‘KQ cau b = ’, 96*SQRT(3)*Sin(pi/48)*Cos(pi/48) Cos(pi/24)*
Cos(pi/12)* Cos(pi/6));
Writeln(‘KQ cau c = ’, Sin(9*pi/180)/Cos(9*pi/180) Sin(63*pi/180)/Cos(63*pi/180) + Sin(81*pi/180)/Cos(81*pi/180) –
Sin(27*pi/180)/Cos(27*pi/180));
Readln;
End.
Đối với dạng bài này giúp học sinh hiểu qui tắc tính hàm lượng giác trong
Pascal. Đó là đối số không nhận giá trị độ mà nhận giá trị radian thông qua sử
dụng hằng Pi có sẵn trong NNLT. Bài này trong toán học học sinh dễ
dàng giải được bằng cách biến đối hàm lượng giác hoặc bấm máy tính cầm tay
nhưng tôi muốn giới thiệu tới học sinh để các em thấy, hình dung ra được qui
trình làm việc của máy tính thông qua một NNLT. Vậy để tính được các em cần
nhớ hàm lượng giác Sin, Cos, đối số của các hàm này chỉ tính theo đơn vị
Radian và được đặt trong (). Muốn tính được giá trị của một biểu thức trên máy
tính thì người lập trình cần phải đưa về ngôn ngữ để máy tính hiểu được thông
qua các quy tắc, quy ước, cú pháp của từng ngôn ngữ lập trình.
* Bài 1/59 SGK Hình học 10
Cho tam giác ABC vuông tại A, góc B =580 và cạnh a = 72cm. Tính góc C, cạnh
b, cạnh c và đường cao ha
7


Thông qua bài này giáo viên giúp học sinh ôn lại các công thức lượng giác
trong tam giác vuông. b=a.SinB; c=a.SinC; ha=b.SinC.
Từ bộ các công thức lượng giác đã biết ta chỉ việc sử dụng câu lệnh gán
trong chương trình là sẽ tính được yêu cầu của bài toán. Cuối cùng là in kết quả

ra màn hình.
Chương trình:
Program Bai1Tr59Hinh10;
Var gocc,b,c,ha,a:real;
Begin
a:=72;
gocc:=180-90-58;
b:=a*Sin(58*pi/180);

c:=a*Sin(gocc*pi/180);

ha:=b*Sin(gocc*pi/180);
Writeln(‘Do lon goc C= ‘,gocc);
Writeln(‘Canh b = ‘,b); Writeln(‘Canh c = ‘,c);
Writeln(‘Duong cao ha = ‘,ha);
Readln;
End.
* Bài 4/59 SGK Hình học 10
Tính diện tích S của tam giác có số đo các cạnh lần lượt là 7,9,12.
Để viết được chương trình bài này giáo viên hỏi học sinh công thức tính
diện tích tam giác thông qua độ dài các cạnh là gì. Học sinh thường hay nhớ
công thức tính diện tích tam giác thông qua đường cao và cạnh đáy hơn là công
thức Herong.
S=

p ( p  a)( p  b)( p  c) với p là nửa chu vi.

Chương trình:
Program Bai4Tr59Hinh10;
Var s,a,b,c,p:real;

Begin
Write(‘Nhap vao do lon cac canh a,b,c =’ );
Readln(a,b,c);
8


P:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln(‘Dien tich tam giac la: ‘,s:5:2);
Readln;
End.
* Bài 6/59 SGK Hình học 10
Tam giác ABC có các cạnh a=8cm; b=10cm và c=13cm. Tính độ dài trung
tuyến AM của tam giác ABC.
Tương tự mục tiêu trên thông qua bài này học sinh được học, nhớ lại kiến
thức trong toán học và từ đó vận dụng viết chương trình trong pascal. Qua đây
các em nhìn thấy được những ứng dụng cụ thể của ngôn ngữ lập trình trong việc
giải toán.
Công thức tính độ lớn các trung tuyến ứng với mỗi cạnh là:
ma2=AM2=

2(b 2  c 2 )  a 2
;
4

mb2=

2(a 2  c 2 )  b 2
;
4


mc2=

2(b 2  a 2 )  c 2
4

Chương trình để giải bài toán này có lẽ là rất đơn giản. Tôi xin phép không
viết ra ở đây.
Sau đây tôi xin đề xuất một bài toán tin lập trình tổng hợp các công thức
giải tam giác trong hình học 10.
Đề bài:
Cho tam giác đều ABC độ dài cạnh là a được nhập vào từ bàn phím. Tính diện
tích tam giác và diện tích hình vành khăn được tạo bởi đường tròn nội, ngoại
tiếp tam giác ABC.

9


Khi tôi đưa ra bài toán này đã có rất nhiều học sinh yêu thích toán học
hứng thú, hào hứng giải trên máy. Để giải bài này giáo viên hỏi học sinh các
công thức giải tam giác đã được học ở lớp 10. Đồng thời các em cần nhớ các
tính chất đặc biệt của tam giác đều để vận dụng vào giải toán trên máy. GV giới
thiệu lại một số công thức trong phần giải tam giác của lớp 10 nếu các em quên.
S=

a.b. sin c
a.b.c
; hoặc S=
; hoặc S= p.r
2

4R

Chương trình các em cần khai báo biến a,biến r,d lần lượt ứng với bán
kính đường tròn nội, ngoại tiếp tam giác. Biến Stamgiac,Svanhkhan. Các công
thức vận dụng
Stamgiac=

Stamgiac
a.a.sin C
; r=
với p=3a/2;
p
2

d=a3/4Stamgiac;

Svanhkhan = pi.(d2-r2)
Chương trình tôi xin phép không đưa ra ở đây.
Không chỉ giải các bài toán học. Với môn Vật lí cũng có một số bài toán
được ngôn ngữ lập trình giải một cách đơn giản, nhanh chóng. Tôi xin gửi tới
các đồng nghiệp một số bài như sau:
* Bài 8/10 SGK Vật lí 11
Hai quả cầu nhỏ mang hai điện tích có độ lớn bằng nhau. Đặt cách nhau 10cm
trong chân không thì tác dụng lên nhau một lực là 9.10-3N. Xác định điện tích
của hai quả cầu đó.
Khi giới thiệu bài này giáo viên hỏi học sinh công thức tính lực hút hay
đẩy giữa hai điện tích điểm trong chân không là gì?
F=k

q1 .q2

r2

Nm 2
với k=9.10
C2
9

Đây là công thức đầu tiên trong vật lí 11 các em đã được học. Chắc chắn
các em cũng đã được giải bài này trong môn lí rồi. Giờ đây giải bài toán Vật lí
này trong Pascal sẽ như thế nào, điều này sẽ tạo ra nhiều hứng thú cho các em.
Sau khi viết được chương trình xong các em sẽ nhận ra ứng dụng của Pascal đối
với các môn học khác.
Từ công thức tính F trên dễ dàng suy ra tích q 1q2=(F.r2)/k. F,r,k là các đại
lượng đã biết. Vì hai quả cầu mang hai điện tích có độ lớn bằng nhau nên q=
q1 .q 2

Giáo viên định hướng học sinh khai báo hằng k, biến F,r được nhập vào từ
bàn phím. Nếu được nhập vào từ bàn phím bài toán có thể phát triển với nhiều
bộ giá trị khác nhau của F và r. Đối với những giá trị rất lớn, hoặc rất nhỏ giáo
viên hướng dẫn các em viết dưới dạng dấu phẩy động được quy định trong ngôn
ngữ lập trình ví dụ như sau: 5.1012=5E+12, 1,6.10-19= 1.6E-19
10


Chương trình:
Program Bai8Tr10Li11;
Const k=0.9E+10;{số ở dạng dấu phẩy động}
Var q,f,r:real;
Begin
Write(‘Nhap r (don vi doi ra m)= ’ ); readln(r);

Write(‘Nhap F= ’ ); readln(f);
q:=sqrt(f*sqr(r)/k);
Writeln(‘Dien tich cua hai qua cau = ‘,q);
Readln;
End.
* Bài 9/29 SGK Vật lí 11
Tính công mà lực điện tác dụng lên 1 Electron sinh ra khi nó chuyển động từ M
đến N. Biết hiệu điện thế UMN=50v. Viết chương trình thực hiện yêu cầu trên.
Để viết chương trình cho bài trên không khó. Vấn đề là học sinh cần nhớ
được công thức tính hiệu điện thế giữa hai điểm M và N. Hiệu điện thế giữa hai
điểm M,N bằng tỉ số giữa công mà lực điện tác dụng khi vật mang điện tích
chuyển động từ M đến N với điện tích của vật. Ở bài này vật mang điện tích là
Electron, có q=1,6.10-19(c).
AMN

UMN = q

Từ đây suy ra AMN=UMN.q

Chương trình:
Program Bai9Tr29Li11;
Const q=1.6E-19;{số ở dạng dấu phẩy động}
Var a,u:real;
Begin
Write(‘Nhap hieu dien the U= ’ ); readln(u);
a:=u*q;
Writeln(‘Cong ma luc dien tac dung len = ‘,a);
Readln;
End.
11



* Bài 13/45 SGK Vật lí 11
Một điện lượng 6,0mc dịch chuyển qua tiết diện thẳng của dây dẫn trong
khoảng thời gian 2,0s. Viết chương trình tính cường độ dòng điện chạy qua dây
dẫn này.
Với bài này học sinh cần nêu được công thức tính cường độ dòng điện
chạy qua dây dẫn là I =

q
. Để ra đơn vị cường độ dòng điện là Ampe thì điện
t

lượng phải được đổi về đơn vị culong. Giáo viên hỏi 1mc thì bằng bao nhiêu c?
(1mc=10-3c).
Khi đã biết công thức trong lí thì việc viết chương trình trên máy trở nên
đơn giản, dễ dàng, tôi xin phép không đưa ra chương trình của bài này. Qua việc
giải những bài toán như thế này học sinh sẽ thấy học lập trình không khó và
nắm vững được cách hoạt động của máy tính khi thực hiện chương trình.
Cũng tương tự như vậy tôi xin đề xuất một số bài tập vật lí có thể giải dễ
dàng khi lập trình trên máy như sau:
* Bài 14/45 SGK Vật lí 11
Trong khoảng thời gian đóng công tắc để chạy một tử lạnh thì cường độ dòng
điện trung bình đo được là 6A. Khoảng thời gian đóng công tắc là 0,50s. Viết
chương trình tính điện lượng dịch chuyển qua tiết diện thẳng của dây dẫn nối
với động cơ của tủ lạnh.
Để viết chương trình bài này học sinh chỉ việc vận dụng công thức tính
cường độ dòng điện chạy qua dây dẫn ở trên, rồi đưa về công thức tính q=I.t với
I, t ta có thể nhập từ bàn phím.
* Bài 15/45 SGK Vật lí 11

Suất điện động của một pin là 1,5v. Tính công của lực lạ khi dịch chuyển điện
tích +2c từ cực âm tới cực dương bên trong nguồn điện. Viết chương trình thực
hiện yêu cầu trên.
Bài này dễ dàng viết được chương trình khi các em nhớ được công thức
A

tính suất điện động của nguồn điện.   q suy ra A=  .q . Nếu các em chưa nhớ
ra giáo viên chủ động nhắc lại cho học sinh.
3.2. BÀI TẬP VẬN DỤNG CHO CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Ở chương III bài tập không còn đơn giản nữa, bước đầu đã có sự tư duy.
Để làm được bài tập ở chương này học sinh cần nhớ cú pháp và hiểu sự hoạt
động của câu lệnh If, For, While. Đặc biệt giáo viên cần giải thích, minh họa
được sự hoạt động của máy tính khi gặp các câu lệnh này, máy tính sẽ thực hiện
như thế nào. Với tôi khi dạy tôi thường hay nhắc các em “Máy tính chỉ là một
12


công cụ của con người. Các em viết câu lệnh nào trước nó sẽ thực hiện trước.
Viết câu lệnh nào sau nó sẽ thực hiện sau. Máy tính rất ngoan và biết nghe lời”
Kiến thức trọng tâm của chương giáo viên cần truyền tải tới học
sinh:
- Cấu trúc rẽ nhánh thiếu IF <điều kiện> THEN <câu lệnh>;
- Cấu trúc rẽ nhánh đủ IF <điều kiện> THEN <câu lệnh1>
ELSE <Câu lệnh2>;
- Câu lệnh ghép được đặt trong BEGIN … END;
- Cấu trúc lặp biết trước số lần lặp
FOR <biến đếm>:=<giá trị đầu> TO <giá trị cuối> DO <câu lệnh>;
FOR <biếnđếm>:=<giátrịcuối> DOWNTO <giátrịđầu> DO <câu lệnh>;
- Cấu trúc lặp chưa biết trước số lần lặp
WHILE <điều kiện> DO <câu lệnh>;

Bài tập ở các môn học khác được ứng dụng để giải trên máy tính ở chương
này không nhiều, khó vận dụng hơn so với chương trước vì càng những cấu
trúc khó, kiến thức khó thì nó sẽ có những đặc trưng riêng của bộ môn. Nếu
giáo viên tạo được sự hứng thú cho học sinh ngay từ những buổi ban đầu thì đó
sẽ là khởi đầu của sự thành công cho cả cô và trò. Trong chương ” Cấu trúc rẽ
nhánh và lặp” tôi xin gửi tới một số bài tập vận dụng ở môn Toán như sau:
* Bài 3/39sgk – Đại số 10
Các em hãy giải bài toán sau trên máy tính thông qua ngôn ngữ lập trình Pascal
Cho hàm số y = 3x2 -2x + 1. Các điểm sau có thuộc đồ thị hàm số trên không?
Thông báo kết quả ra màn hình?
a. M(-1,6)

b. N(1,1)

c. P(0,1)

Tôi đưa ra bài này giúp các em vận dụng cấu trúc If ... Then. Đồng thời
học sinh nhớ lại tính chất điểm thuộc hàm số. Từ kiến thức các em được học
trong toán học các em dễ dàng vận dụng nó trong lập trình. Nếu một tọa độ
điểm (x,y) thỏa mãn phương trình hàm số đã cho thì thông báo điểm đó thuộc
đồ thị còn không thông báo điểm đó không thuộc đồ thị.
Chương trình:
Program Hamso;
Var y,x:real;
Begin
13


Writeln(‘Nhap vao toa do diem can kiem tra ’);
Writeln(‘ x= ’);readln(x);

Writeln(‘ y= ’);readln(y);
If y=3*sqr(x)-2*x +1 then Write(‘ Diem co toa do (’,x,’,’,y,’) thuoc do thi ham
so’)
Else Write(‘ Diem co toa do (’,x,’,’,y,’) khong thuoc do thi ham so’);
Readln;
End.
Từ bài này giáo viên có thể phát triển cho học sinh nhìn thấy ứng dụng của
tin học trong môn toán.Đối với các hàm số bất kì khác ta đều kiểm tra được một
điểm có thuộc đồ thị đã cho hay không.
* Bài 1/49 SGK Đại số 10
Xác định tọa độ đỉnh và các giao điểm với trục tung, trục hoành (nếu có của mỗi
Parabol )
a. y = x2 – 3x +2

b. y = -2x2 +4x – 3

c. y = x2 – 2x

d. y= -x2 + 4

- Khi định hướng giải bài này giáo viên hỏi học sinh công thức tính tọa độ đỉnh
của Parabol (x0= -

b

; y0 = - ). Từ đó ta viết chương trình tính được tọa độ
2a
4a

đỉnh ứng với từng hàm. Các hệ số a,b,c được nhập từ bàn phím.

- Trường hợp tìm giao với trục hoành gán x=0 ta dễ dàng tính được y
- Trường hợp giao với trục tung tức y=0. Tương đương với việc giải một
phương trình bậc hai tìm nghiệm x. Nếu phương trình không có nghiệm thì hàm
số không giao với trục hoành. Nếu phương trình có 1 nghiệm hoặc 2 nghiệm
phân biệt thì phương trình giao với trục hoành tại một điểm hoặc tại hai điểm.
Khi đó máy tính sẽ thông báo ra màn hình.
Chương trình:
Program Bai1tr49toan10;
Var y,x,x1,x2,a,b,c,d:real;
Begin
Writeln(‘Nhap vao he so a,b,c cua ham so can kiem tra ’);
Writeln(‘ a= ’);readln(a);
Writeln(‘ b= ’);readln(b);
Writeln(‘ b= ’);readln(b);
d:=sqr(b)-4a*c; x:=-b/2*a; y:=-d/4*a;
Writeln(‘Toa do dinh cua ham so la: (’,x,’,’,y,’)’ );
X:=0; y:=a*sqr(x)+b*x+c;
Writeln(‘Toa do diem giao voi truc hoanh la: (’,x,’,’,y,’)’ );
Y:=0;
If d<0 Then Writeln(‘ Do thi giao voi truc tung, khong giao voi truc hoanh’)
14


Else
If d=0 Then
Begin
X:= -b/2*a;
Writeln(‘ĐT giao voi truc tung, giao voi truc hoanh tai 1 diem la:
(’,x,’,’,y,’)’);
End

Else Begin
x1:=(-b+sqrt(d))/2*a;
x2:= (-b-sqrt(d))/2*a;
Write(‘ĐT giao voi truc tung va giao voi truc hoanh tai 2 diem la:
(’,x1,’,’,y,’)’);
Write(‘ va (’,x2,’,’,y,’)’);
End;
Readln;
End.
Thông qua chương trình này học sinh sẽ được khắc sâu và hiểu rõ hơn về
cấu trúc If .. Then .. Else cũng như sự hoạt động tuần tự của máy tính khi thực
hiện chương trình.
* Bài 3.18 Sách BT Tin 11
Cho ba số nguyên m,n,k. Nếu 3 số này theo thứ tự nhập vào tạo thành một cấp
số cộng thì tăng gấp đôi mỗi số, trong trường hợp ngược lại thì giảm mỗi số một
đơn vị. Viết chương trình thực hiện yêu cầu trên.
Ở bài tập này các em sẽ được luyện viết câu lệnh với cấu trúc If .. Then ..
Else dựa trên nền tảng kiến thức toán học về cấp số cộng. Giáo viên hỏi học
sinh về tính chất một dãy số là cấp số cộng. Nếu 3 số m,n,k theo thứ tự tạo
thành một cấp số cộng thì ta có điều gì? Học sinh sẽ liên tưởng và nhớ lại kiến
thức toán học để trả lời. n=(m+k)/2; Đây chính là điều kiện của câu lệnh If, từ
đó giáo viên dẫn dắt học sinh viết chương trình giải quyết bài toán.
Chương trình
Program Bai3.18SachBT;
Var m,n,k: Integer;
Begin
Writeln(‘Nhap vao 3 so m,n,k = ’);Readln(m,n,k);
If n=(m+k)/2 Then
Begin
Writeln(‘3 so ’,m,’, ’,n,’ ,’,k,’ lap thanh mot cap so cong’);

n:=n*2;
m:=m*2;
k:=k*2;
End
Else Begin
Writeln(‘3 so ’,m,’, ’,n,’ ,’,k,’ khong lap thanh mot cap so cong’);
n:=n-1;
m:=m-1;
k:=k-1;
15


End;
Readln;
End.
* Bài 3.19 Sách BT Tin 11
Cho ba số nguyên p,q,r (≠ 0). Kiểm tra ba số này, theo thứ tự nhập vào có tạo
thành một cấp số nhân hay không. Viết chương trìn thực hiện yêu cầu trên.
Tuơng tự như bài 3.18 sách bài tâp tin 11. Giáo viên lại kết hợp cùng học sinh
nhớ lại tính chất của một cấp số nhân trong toán học. Trong quá trình dạy tôi
thấy rất nhiều em vận dụng linh hoạt các định lí hoặc định nghĩa của cấp số
nhân trong toán học. Tôi luôn động viên các em sáng tạo linh hoạt miễn sao đáp
ứng được yêu cầu của bài toán. Về phần mình với các em học sinh còn chậm tôi
định hướng cho các em vận dụng định lí 2 của cấp số nhân
Trong một cấp số nhân, bình phương của mỗi số hạng (trừ số hạng đầu và
cuối) đều là tích của hai số hạng đứng kề với nó, nghĩa là u k2 u k  1 .u k 1 với k≥2.
Qua đây tôi hướng các em đến điều kiện của câu lệnh If là SQRT(q)=p.r thì ba
số tạo thành một cấp số nhân.
Chương trình
Program Bai3.19SachBT;

Var p,q,r : Integer;
Begin
Writeln(‘Nhap vao 3 so p,q,r = ’);Readln(p,q,r);
If SQRT(q)=p.r Then
Writeln(‘3 so ’,p,’, ’,q,’ ,’,r,’ lap thanh mot cap so nhân’);
Else Writeln(‘3 so ’,p,’, ’,q,’ ,’,r,’ khong lap thanh mot cap so nhân’);
Readln;
End.
* Bài 2/92 SGK Đại số 11
Cho dãy số (Un) biết U1= -1; Un+1= Un +3 với n>=1. Viết chương trình in ra 5
số hạng đầu của dãy số.
Với việc giới thiệu bài toán này, học sinh vừa được tiếp cận khái niệm, tính
chất của dãy số trong toán học nên các em dễ dàng hiểu được yêu cầu của bài
toán. Từ kiến thức các em đã biết tôi hướng các em đến câu hỏi. Trong Tin học
máy tính giải bài toán này như thế nào?
Đề bài đã cho biết số hạng đầu của dãy số và công thức tính Un. Ta sẽ dùng
vòng lặp For hoặc While để tính số hạng tiếp theo của dãy số thông qua công
thức tính Un+1=Un+3. Sau mỗi lần lặp ta sẽ tính và in ra được một số hạng tiếp
theo của dãy số đã cho. Đề bài yêu cầu in ra 5 số hạng đầu tiên nên ta dùng
vòng For duyệt từ 2 đến 5 vì số hạng đầu đã biết, chỉ tính từ số hạng thứ 2 trở
16


đi. Giáo viên nhấn mạnh với học sinh từ vòng lặp For có thể dễ dàng chuyển
sang dùng vong lặp while.Có thể gọi hai học sinh nên viết ở cả hai dạng lặp.
Chương trình:
Program Bai2tr92toan11For;
Var u,n : integer;
Begin
U:= -1;

Writeln(‘5 so hang dau cua day so la: ’);
Write(u:5);
For n:=2 to 5 do
Begin
U:=u+3;
Write(u:5);
End;
Readln;
End.
Program Bai2tr92toan11While;
Var u,n : integer;
Begin
U:= -1;n:=2;
Writeln(‘5 so hang dau cua day so la: ’);
Write(u:5);
While n<= 5 do
Begin
U:=u+3; n:=n+1;
Write(u:5);
End;
Readln;
End.
Tương tự tôi xin giới thiệu một số bài toán về dãy số như sau:
* Bài 3/92 SGK Đại số 11
Dãy số (Un) cho bởi U1=3; Un+1= 1  U n2 ; n>=1. Viết chương trình in ra 5 số
hạng đầu của dãy số.
Thông qua bài toán này học sinh được nhớ lại hàm SQTR và hàm SQR trong
Pascal.
17



Chương trình:
Program Bai3tr92toan11For;
Var u,n : integer;
Begin
U:= 3;
Writeln(‘5 so hang dau cua day so la: ’);
Write(u:5);
For n:=2 to 5 do
Begin
U:=SQRT(1+SQR(u));
Write(u:5);
End;
Readln;
End.
* Bài 5/98 SGK Đại số 11
Từ 0 giờ đến 12 giờ trưa đồng hồ đánh bao nhiêu tiếng, nếu nó chỉ đánh chuông
báo giờ và số tiếng chuông bằng số giờ? Viết chương trình thực hiện yêu cầu
trên.
Đây là bài toán giúp học sinh nhớ lại tính chất cấp số cộng. Theo yêu cầu
bài toán giáo viên hỏi học sinh lập ra công thức tính U n và công sai của cấp số
cộng là bao nhiêu. Từ kiến thức toán học của các em giáo viên hướng học sinh
tới cách giải bài toán thông qua ngôn ngữ lập trình. U1=0; Un=Un-1+1. Bài này sẽ
sử dụng cấu trúc lặp để giải quyết, sau mỗi lần lặp máy tính sẽ tính được một số
hạng của dãy số dựa vào số hạng trước đó. Tương ứng là ta sẽ đếm được số
tiếng chuông báo ở từng thời điểm giờ nhất định.
Chương trình:
Program Bai5tr98toan11While;
Var u,n : integer;
Begin

U:= 0;n:=0;
While n<=12 do
Begin
U:=u+n;
n:=n+1;
End;
18


Writeln(‘Tong so tieng chuong la: ’,u);
Readln;
End.
* Bài đọc thêm/67 Đại số 10
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:
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à?
Đây là một bài toán dân gian thuộc loại phương trình Đi-ô-phăng, hệ hai
phương trình bậc nhất ba ẩn. Bài này nếu giải trong toán học sẽ rất dài và phức
tạp nhưng nhờ vào máy tính các em có thể dễ dàng, nhanh chóng tìm ra nghiệm
của bài toán. Từ đây giáo viên nhấn mạnh tính ứng dụng của ngôn ngữ lập trình
trong học tập.
Vì tính số lượng các con trâu nên biến phải nguyên. Tổng ba loại trâu bằng
100 đo đó ta có thể dùng vòng lặp duyệt từ 1 đến 100 ứng cho từng biến. Ở bài
này ta sẽ phải dùng 2 vòng lặp lồng nhau để duyệt các khả năng xảy ra. Nếu
thỏa mãn điều kiện thì in ra kết quả. Sử dụng các biến là trâu đứng(d),trâu

nằm(n), trâu già(g)
Chương trình:
Program Tinhsotrau;
Var d,n,g : integer;
Begin
For d:=1 to 100 do
For n:=1 to 100 do
Begin
g:=100-d-n;
If 5*d+3*n+g/3 = 100 Then
Begin
Writeln(‘Trau dung = ’,d);
Writeln(‘Trau nam = ’,n);
19


Writeln(‘Trau gia = ’,g);
End;
End;
End.
Sau khi đã chạy được chương trình, giáo viên có thể phân tích thêm về 2 vòng
lặp for của biến d,n. Vì d đã duyệt từ 1 ->100 nên khi duyệt n ta sẽ chỉ cần duyệt
từ 1 -> 100-d. Khi đã biết số trâu đứng thì số trâu nằm sẽ chỉ còn trong khoảng
1->100-d. Từ đó học sinh sẽ hiểu sâu, kỹ về vòng lặp For cũng như thời gian
chạy của thuật toán trên máy tính.
Trên đây là hệ thống bài tập tích hợp tôi đã áp dụng trong công tác giảng dạy
của mình. Bản thân tôi nhận thấy nó đã có tác dụng tích cực tới nhận thức, thái
độ, kết quả học tập của học sinh.
4. HIỆU QUẢ CỦA SÁNG KIẾN
- Hiệu quả đầu tiên mà dễ nhận thấy nhất của sáng kiến kinh nghiệm là

việc giáo viên Tin học tiếp cận được với nội dung đổi mới giáo dục hiện nay đó
là dạy học theo chủ đề tích hợp, liên môn.
- Học sinh rất có hứng thú với môn học vì được củng cố lại những kiến thức
ở các môn học mà mình yêu thích, đồng thời nhìn rõ tính ứng dụng của ngôn
ngữ lập trình trong học tập.
- Ý thức tôn trọng môn học của học sinh được nâng lên rõ rệt.
Tôi đã áp dụng sáng kiến kinh nghiệm đối với học sinh trường THPT Mỏ
Trạng trong học kì I năm học 2017-2018. Kết quả tôi thu được như sau:
- Năm học 2016-2017 tôi chưa áp dụng sáng kiến kinh nghiệm
thì học lực môn Tin của học sinh có kết quả như sau:
Học lực

Số học sinh

Tỉ lệ

Giỏi

2

1%

Khá

56

27.9%

Trung bình


104

51.7%

Yếu

32

15.9%

Kém

7

3,5%

- Năm học 2017-2018 tôi áp dụng sáng kiến kinh nghiệm đến thời điểm kết
thúc học kì 1 thì học lực môn Tin của học sinh có kết quả như sau:

20


Học lực

Số học sinh

Tỉ lệ

Giỏi


6

2.8%

Khá

77

35.7%

Trung bình

118

54.6%

Yếu

15

6.9%

Kém

0

0%

Với kết quả như trên thì số lượng học sinh có học lực giỏi, khá đã tăng
đáng kể. Điều này đồng nghĩa với việc ngày càng có nhiều học sinh yêu thích

môn tin học lập trình hơn và lập trình không còn là nỗi sợ của học sinh phổ
thông nữa.

C. KẾT LUẬN, KIẾN NGHỊ
1. Kết luận:
Qua việc tìm hiểu lộ trình đổi mới giáo dục của Bộ giáo dục và Đào tạo và
việc đổi mới phương pháp dạy học môn Tin học trường Trung học phổ thông
Mỏ Trạng, tôi đã đưa ra một số biện pháp để ứng dụng trong việc dạy tốt môn
Tin học nhằm khích lệ học sinh yêu thích hơn môn Tin học. Đặc biệt dạy học
lập trình là một trong những phần khó và không ít giáo viên trong trường tôi,
cũng như một số giáo viên ở trường khác đều gặp phải không ít những khó
khăn. Chính vì vậy trong sáng kiến kinh nghiệm này, tôi muốn đưa ra một cách
tiếp cận môn Tin học một cách tự nhiên dựa vào sự yêu thích say mê sẵn có từ
các môn học khác trong mỗi em học sinh. Trong quá trình nghiên cứu sẽ không
tránh được những thiếu sót rất mong sự góp ý, bổ sung của các thầy, cô, đồng
nghiệp để sáng kiến được hoàn thiện hơn, giúp ích cho công tác giáo dục chung
được tốt hơn.
2. Kiến nghị:
- Nhà trường cần tạo điều kiện ủng hộ hơn nữa trong quá trình đổi mới
phương pháp dạy học.
- Đặc biệt việc dạy học lập trình là phần khó trong môn Tin học phổ thông,
nên nhà trường và giáo viên cần phải quan tâm đến việc bồi dưỡng chuyên môn,
khả năng tư duy thuật toán.
- Trường tổ chức đầu tư thêm kính phí mua trang thiết bị phục vụ cho việc
giảng dạy của giáo viên, thực hành của học sinh được tốt hơn.

21


Tôi xin chân thành cảm ơn các thầy, các cô trong Hội đồng sư phạm

nhà trường THPT Mỏ Trạng nơi tôi công tác đã hỗ trợ, khích lệ, tạo điều
kiện tốt nhất để tôi hoàn thành sáng kiến kinh nghiệm của mình.
Xác nhận của Tổ trưởng chuyên môn

Người viết sáng kiến

Hà Thị Thanh Bình

22


TÀI LIỆU THAM KHẢO
1. Sách giáo khoa Tin học 11 THPT (NXB Giáo dục)
2. Sách giáo viên Tin học 11 THPT (NXB Giáo dục)
3. Sách giáo khoa Đại số 10, Hình học 10 (NXB Giáo dục)
4. Sách giáo khoa Đại số 11(NXB Giáo dục)
5. Sách giáo khoa Vật lí 11(NXB Giáo dục)
6. Quách Tuấn Ngọc - Bài tập Ngôn ngữ lập trình Pascal
7. Bùi Thế Tâm - Bài tập lập trình Turbo Pascal

23



×