
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập- Tự do- Hạnh phúc
THUYẾT MINH MÔ TẢ GIẢI PHÁP
VÀ KẾT QUẢ THỰC HIỆN SÁNG KIẾN
1. Tên sáng kiến: Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua
cấu trúc rẽ nhánh và cấu trúc lặp.
2. Ngày sáng kiến được áp dụng lần đầu: 09/2019
3. Các thông tin cần bảo mật (nếu có): Không
4. Mô tả các giải pháp cũ thường làm: Trước khi áp dụng giải pháp này thì bản thân tôi
chưa xây dựng được hệ thống bài tập phù hợp với nhiều đối tượng học sinh. Hạn chế khi chưa áp
dụng giải pháp là học sinh tiếp cận với việc lập trình chậm, mất nhiều thời gian hơn trong việc làm
các bài tập và giải quyết các bài toán 1 cách khó khăn, học sinh không hứng thú khi học Tin học.
Khi chưa áp dụng giải pháp học sinh thường lúng túng trong việc tìm kiếm các thuật toán phù
hợp với bài toán cơ bản.
5. Sự cần thiết phải áp dụng giải pháp sáng kiến: Sau một thời gian áp dụng giải
pháp này tôi nhận thấy kỹ năng lập trình của các em tăng lên đáng kể, có hứng thú
học tập hơn. Nhiều học sinh đã biết vận dụng các thuật toán của các bài toán cơ bản
đã biết để giải quyết các bài toán mở rộng. Học sinh thấy yêu thích môn Tin học hơn.
6. Mục đích của giải pháp sáng kiến: Sáng kiến này giúp học sinh có hứng thú trong học tập
môn Tin học, đặc biệt là đối với việc rèn luyện kỹ năng lập trình để giải quyết các bài toán trong Tin
học. Ngoài ra khi được rèn luyện kỹ năng lập trình với các bài toán cơ bản, học sinh sẽ có hứng thú
tiếp tục tìm hiểu và giải quyết các bài toán khác khó hơn.

2
- Sáng kiến giúp cho giáo viên, cũng như học sinh có tư duy linh hoạt trong việc lựa chọn, tìm
kiếm và rèn luyện kỹ năng lập trình để phát triển năng lực tư duy. Sáng kiến còn giúp cho học sinh
thấy yêu thích môn Tin học.
- Sáng kiến giúp cho giáo viên, học sinh có thêm hệ thống bài tập ở các chủ đề về cấu trúc rẽ
nhánh, cấu trúc lặp.
- Việc học sinh được rèn luyện kỹ năng lập trình ở các bài toán cơ bản sẽ phát triển được
phẩm chất, năng lực của học sinh, giúp các em có tư duy tốt hơn khi học tập các môn khác như
Toán học, khoa học tự nhiên. Và giúp các em có được những kết quả cao hơn trong các kỳ kiểm tra,
kỳ thi.
7. Nội dung:
7.1. Thuyết minh giải pháp mới hoặc cải tiến
Môn Tin học đã được đưa vào các trường THPT trong phạm vi cả nước là một
môn học bắt buộc. Khi mới làm quen với môn Tin học, học sinh tỏ ra rất hào hứng vì
đây là môn học rất bổ ích, hiện đại và mang tính thực tế cao. Tuy nhiên, khi học sang
Tin học 11 thì học sinh lại có thái độ thờ ơ trong việc học cũng như vận dụng Tin
học vào cuôc sống hằng ngày vì khi làm quen với việc lập trình học sinh thấy khó
khăn. Xuất phát từ thực tế giảng dạy bộ môn Tin học ở trường THPT Lạng Giang số
1 tôi luôn đặt ra câu hỏi tại sao một môn học có tính tư duy cao, mới mẻ, hấp dẫn
vậy mà không thu hút được học sinh tiếp thu bài và vận dụng vào cuộc sống. Tuy
nhiên trong cùng một trường với các đối tượng học sinh khác nhau giáo viên có thể
áp dụng nhiều biện pháp khác nhau để rèn luyện kỹ năng lập trình để đạt kết quả tốt.
Các giáo viên đều hướng dẫn cho học sinh biết một bài toán có thể giải được với
nhiều thuật toán khác nhau và mỗi thuật toán chỉ giải được một bài toán hoặc một
lớp bài toán, nhưng thực tế cho thấy đứng trước một bài toán tin học học sinh thường
lúng túng khi xác định thuật toán hoặc không xác định đươc thuật toán, việc này có
thể do nhiều nguyên nhân … Tuy nhiên khi cho một bài toán tin học có dạng cơ bản
nào đó trong sách giáo khoa, hoặc bài toán cơ bản nào đó mà các em biết thì các em
có thể xây dựng vàg hứng thú để xây dựng thuật toán cho bài toán đặt ra. Vì vậy
giáo viên có thể chọn các bài toán cơ bản để học sinh hứng thú, phát triển để rèn

3
luyện kỹ năng lập trình cho học sinh. Dĩ nhiên cách làm này không mới với giáo
viên nhưng cách chọn các bài toán cơ bản như thế nào để học sinh có thể vận dụng
và rèn luyện kỹ năng lập trình đó lại là điều đáng quan tâm.
Giải pháp “Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua cấu
trúc rẽ nhánh và cấu trúc lặp” tôi muốn trình bày kinh nghiệm trong việc rèn luyện
kỹ năng lập trình cơ bản cho học sinh khi học môn Tin học 11.
7.2. Giải pháp:
- Tên giải pháp: Rèn luyện kỹ năng lập trình Môn Tin học 11 cho học sinh qua
cấu trúc rẽ nhánh và cấu trúc lặp.
- Nội dung:
A. Các bước tiến hành thực hiện giải pháp
1. Xây dựng hệ thống bài tập để rèn luyện kỹ năng lập trình thông qua các buổi học,
mỗi buổi học nên chọn một số bài toán cơ bản để học sinh tiếp xúc và làm quen với
việc lập trình.
Bước 1: Chọn bài toán cơ bản hoặc bài toán quen thuộc với học sinh
Bước 2: Xây dựng thuật toán cơ bản (Chỉ cần học sinh lập trình được mà chưa cần
quan tâm đến các yếu tố như dữ liệu, phạm vi giá trị của biến, thời gian chạy chương
trình …)
Bước 3: Xây dựng thuật toán ở mức cao hơn (Quan tâm đến các yếu tố như: Dữ liệu,
phạm vi giá trị của biến, thời gian chạy chương trình …)
2. Tổ chức cho học sinh hình thành kỹ năng lập trình thông qua các buổi thực hành có
sự hướng dẫn của giáo viên tại phòng máy.
3. Tổ chức kiểm tra để thu thập thông tin về khả năng rèn luyện kỹ năng lập trình của
học sinh.
B. Nội dung của sáng kiến này được triển khai thông qua các buổi học trực tiếp
trên lớp.

4
Trong chương trình Tin học lớp 11, chúng ta có thể sử dụng một số hệ thống bài
tập cơ bản sau để rèn luyện kỹ năng lập trình cho học sinh:
1. Các bài toán làm quen với câu lệnh gán
Cú pháp câu lệnh gán trong Pascal:
<tên biến>:= <Biểu thức>;
Trong đó: tên biến là tên của biến đơn, kiểu của giá trị biểu thức phải phù hợp với
kiểu của biến
Chức năng: đặt cho biến có tên ở vế trái dấu “:=” giá trị mới bằng giá trị của biểu
thức ở về phải.
VD: x1:=(-b-sqrt(b*b-4*a*c))/(2*a);
Chú ý: biến kiểu thực có thể nhận giá trị kiểu nguyên và biến kiểu xâu có thể nhận
kiểu kí tự, ngược lại thì không.
Trước tiên cho học sinh thấy được cái hay trong phép gán của tin học, qua một số
bài tập này chắc chắn ta sẽ phát huy được tính kích thích, hăng say của các học
sinh mà chưa từng được học về tin lập trình:
Bài toán 1 . Viết chương trình tráo đổi giá trị giữa hai biến a và b.
Phương pháp giải:
Cách 1: Dùng biến trung gian tg:
tg := a;
a := b;
b := tg;
Đoạn chương trình không dùng biến trung gian sau là sai vì giá trị ban đầu của
biến a bị mất, khi đó a = b và nhận giá trị ban đầu của b:
a := b;
b := a;
Cách 2: Không dùng biến trung gian:

5
a := a + b;
b := a - b;
a := a – b;
Bài toán 2. Cho a, viết chương trình tính a10 và a3 với yêu cầu không được dùng
quá bốn phép toán.
Phương pháp giải:
Dùng thêm biến b để nhận giá trị:
b := a*a;
a := a*b; writeln( ‘a mu 3= ’, a);
a := a*b;
a := a*a; writeln(‘a mu 10= ’, a)
Bài toán 3. Cho a, viết chương trình tính a5 và a13 với yêu cầu không được dùng
quá năm phép toán.
Phương pháp giải:
Dùng thêm biến b:
b := a;
a := a*a; { ta có a2 }
a := a*a; { ta có a4 }
b := b*a; { ta có a5 }
writeln(‘a mu 5= ’, b);
a := a*a*b; { ta có a13 }
writeln(‘a mu 13= ’, a);
Bài toán 4. Cho a, viết chương trình tính a4 , a12 và a28 với yêu cầu không được
dùng quá sáu phép toán.
Phương pháp giải:
Dùng thêm biến b: