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

Hướng dẫn học sinh sử dụng cấu trúc lặp giải các bài toán trong lập trình

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 (184.98 KB, 25 trang )

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA

TRƯỜNG THPT YÊN ĐỊNH I

SÁNG KIẾN KINH NGHIỆM

HƯỚNG DẪN HỌC SINH SỬ DỤNG CẤU TRÚC LẶP
GIẢI CÁC BÀI TOÁN TRONG LẬP TRÌNH

Người thực hiện:
Lê Chí Cường
Chức vụ:
Giáo viên
SKKN thuộc môn: Tin Học


THANH HÓA NĂM 2019

2


MỤC LỤC
I. MỞ ĐẦU....................................................................................4
1.1. Lý do chọn đề tài....................................................................................4
1.2. Mục đích nghiên cứu..............................................................................4
1.3. Đối tượng và phạm vi nghiên cứu..........................................................4
1.4. Phương pháp nghiên cứu........................................................................4
1.5. Những điểm mới của SKKN..................................................................5
II. NỘI DUNG SÁNG KIẾN KINH NGHIỆM.......................................6
2.1. Cơ sở lý luận của sáng kiến kinh nghiệm...............................................6
2.2. Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm................6


2.3. Giải pháp sử dụng giải quyết vấn đề......................................................7
Nhận xét: Với bài toán gửi tiết kiện này, do tiền lãi không cộng vào vốn nên
ta có thể tính được số tháng mà không cần dùng đến cấu trúc lặp. Để bắt
buộc phải dùng cấu trúc lặp, đề bài nên cho dữ kiện lãi cộng vào vốn sau
mỗi tháng.....................................................................................................19
2.4. Hiệu quả của sáng kiến kinh nghiệm....................................................19
III. KẾT LUẬN VÀ KIẾN NGHỊ.......................................................23
3.1. Kết luận................................................................................................23
3.2. Kiến nghị..............................................................................................23

3


I. MỞ ĐẦU

1.1. Lý do chọn đề tài
Với sự phát triển như vũ bão của công nghệ thông tin, kiến thức không
còn là tài sản riêng. Học sinh có thể tiếp nhận thông tin từ nhiều kênh, nhiều
nguồn khác nhau. Các nguồn thông tin phong phú, đa chiều mà người học có thể
tiếp nhận đã đặt giáo dục trước yêu cầu cấp bách là cần phải đổi mới cách dạy
và học.
Công nghệ thông tin không chỉ có chức năng cung cấp thông tin mà nó
còn là công cụ hỗ trợ tích cực trong dạy và học; là phương tiện dạy học hiện đại,
hữu ích và hiệu quả. Công nghệ thông tin giúp cho người học mở rộng sự hiểu
biết với tầm nhìn xa, trông rộng qua hệ thống mạng kết nối trong nước và toàn
thế giới.
Vấn đề đặt ra với nhà trường là làm thế nào để học sinh tự lực chiếm lĩnh
kiến thức, tích cực, chủ động, sáng tạo, có kĩ năng giải quyết những vấn đề nảy
sinh trong cuộc sống. Đó thực sự là những thách thức lớn đối với ngành giáo
dục nói chung, nhà trường và giáo viên nói riêng. Giáo viên không chỉ là người

mang kiến thức đến cho học sinh mà cần dạy cho học sinh cách tìm kiếm, chiếm
lĩnh kiến thức để đảm bảo cho việc tự học suốt đời.
Trước vấn đề đặt ra nêu trên tôi mạnh dạn lựa chọn đề tài “Hướng dẫn
học sinh sử dụng cấu trúc lặp giải các bài toán trong lập trình”. Thông qua
hướng dẫn này các em học sinh sẽ phát huy tốt khả năng tự học, chủ động, sáng
tạo trong quá trình học về ngôn ngữ lập trình nói chung, cấu trúc lặp nói riêng.
1.2. Mục đích nghiên cứu
-

Sáng kiến kinh nghiệm của tôi nhằm mục đích:
Nâng cao hiệu quả học tập của học sinh khi học môn Tin học 11;
Giúp học sinh chủ động, tích cực chiếm lĩnh tri thức về cấu trúc lặp.
Giúp học sinh nhanh chóng xác định được công việc lặp trong bài toán.
Giúp học sinh dễ dàng diễn đạt cấu trúc lặp bằng ngôn ngữ lập trình cụ thể
Giúp học sinh không còn e ngại khi học về cấu trúc lặp nói riêng và ngôn ngữ
lập trình nói chung, tạo sự ham muốn, hứng thú khi học Tin học.
Rèn luyện khả năng giao tiếp, diễn đạt của học sinh
Nâng cao năng lực chuyên môn, nghiệp vụ sư phạm của người giáo viên.

1.3. Đối tượng và phạm vi nghiên cứu
- Chương trình tin học 11;
- Học sinh khối 11 năm học 2018-2019 tại trường THPT Yên Định 1
1.4. Phương pháp nghiên cứu
- Qua thực tiễn giảng dạy ở trường THPT Yên Định 1;
- Qua việc tham khảo các tài liệu, sách giáo khoa, sách giáo viên, các bài viết
và các tư liệu trên mạng internet, đặc biệt là bài viết và các tài liệu về đổi mới
phương pháp dạy học môn Tin học;
4



- Tham khảo các ý kiến của đồng nghiệp, lấy ý kiến từ phía học sinh;
- Vận dụng sáng kiến vào giảng dạy trên lớp, đánh giá, rút kinh nghiệm sau
mỗi giờ dạy có vận dụng sáng kiến để có những điều chỉnh phù hợp.
Trong các tiết dạy giáo viên tiến hành đặt vấn đề, hướng dẫn gợi mở để học
sinh tích cực, chủ động phát hiện và giải quyết được vấn đề đặt ra thông qua các
câu hỏi, thảo luận, hình ảnh, video minh họa.
1.5. Những điểm mới của SKKN
- Sáng kiến kinh nghiệm này đã phân tích tất cả các bài toán về cấu trúc lặp có
trong SGK Tin học 11, từ những bài toán ở phần ví dụ đến những bài toán ở
phần bài tập. Sau một số bài toán có nhận xét về tình huống lặp trong bài
toán đó.
- Sáng kiến kinh nghiệm còn có một bài toán điển hình (không có trong SGK)
để làm rõ về hai dạng của cấu trúc lặp đó là lặp với số lần lặp đã biết và lặp
với số lần lặp chưa biết trước.
- Ngoài việc sử dụng ngôn ngữ lập trình Pascal để diễn đạt, tôi còn dùng ngôn
ngữ lập trình C++ (một ngôn ngữ lập phổ biến hiện nay) để diễn đạt, coi đây
là tư liệu cho học sinh khá, giỏi và các giáo viên khác cùng tham khảo.

5


II. NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1. Cơ sở lý luận của sáng kiến kinh nghiệm
- Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của ngành Tin
học và đã đưa môn học này vào nhà trường phổ thông như những môn khoa học
khác bắt đầu từ năm học 2006-2007.
- Chỉ thị số 55/2008/CT - BGDĐT ngày 30/9/2008 của Bộ trưởng Bộ
GDĐT về tăng cường giảng dạy, đào tạo và ứng dụng công nghệ thông tin trong
ngành giáo dục giai đoạn 2008-2011.
- Trong bối cảnh toàn ngành Giáo dục và Đào tạo đang nỗ lực đổi mới

phương pháp dạy học theo hướng phát huy tính tích cực chủ động của học sinh
trong hoạt động học tập. Điều 24.2 của Luật giáo dục đã nêu rõ : “Phương pháp
giáo dục phổ thông phải phát huy tính tích cực, tự giác, chủ động, sáng tạo của
học sinh, phù hợp với đặc điểm của từng lớp học, môn học; bồi dưỡng phương
pháp tự học, rèn luyện kỹ năng vận dụng kiến thức vào thực tiễn, tác động đến
tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh”. Như vậy, chúng ta
có thể thấy định hướng đổi mới phương pháp dạy học đã được khẳng định,
không còn là vấn đề tranh luận. Cốt lõi của việc đổi mới phương pháp dạy học ở
trường phổ thông là giúp học sinh hướng tới việc học tập chủ động, chống lại
thói quen học tập thụ động.
- Dạy theo định hướng năng lực cho phép cá nhân hóa việc học: Trên cơ
sở mô hình năng lực, người học sẽ bổ sung những thiếu hụt của cá nhân để thực
hiện nhiệm vụ cụ thể của mình.
- Dạy theo định hướng năng lực chú trọng vào kết quả đầu ra.
- Dạy theo định hướng năng lực còn có khả năng cho việc xác định một
cách rõ ràng những gì cần đạt và những tiêu chuẩn cho việc đo lường kết quả.
+ Sau khi hoàn thành chuyên đề này học sinh có thể tự học, tự rèn luyện
và chủ động làm được các bài tập có liên quan đến cấu trúc lặp.
2.2. Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm
Qua thực tế giảng dạy ở trường THPT Yên Định 1 trong các năm qua (từ
năm 2006 đến nay), tôi nhận thấy khi học đến chương trình Tin học lớp 11 thì đa
số học sinh đều kêu khó, khô khan, cứng nhắc. Học sinh thường ngại khi đến tiết
Tin học 11.
Qua những năm dạy Tin học 11 tôi nhận thấy học sinh gặp rất nhiều khó
khăn khi học về cấu trúc lặp. Học sinh khó xác định được công việc lặp đi lặp lại
nhiều lần trong một bài toán, học sinh gặp khó khăn trong việc diễn đạt cấu trúc
lặp vào NNLT cụ thể.
Tuy nhiên cũng có một số ít học sinh rất yêu thích môn Tin học, thích tìm
hiểu những bài toán khó nằm ngoài phạm vi sách giáo khoa. Đây cũng là cơ sở,
là nền tảng để cá nhân tôi lựa chọn và ôn luyện đội tuyển HSG Tin học cho

trường trong những năm qua.

6


Cấu trúc lặp là cấu trúc cơ bản, thường gặp và thường dùng. Hầu hết các
bài toán trong thực tiễn hàng ngày đều có sự xuất hiện của cấu trúc lặp. Nếu học
sinh tiếp thu tốt, nắm vững, khắc sâu kiến thức về cấu trúc lặp sẽ là cơ sở, là nền
tảng vững chắc cho việc học tập, tiếp thu những kiến thức tiếp theo, đặc biệt là
khi tiếp thu kiến thức về kiểu mảng, kiểu xâu, ...
2.3. Giải pháp sử dụng giải quyết vấn đề
Dưới đây là hướng dẫn học sinh sử dụng cấu trúc lặp giải một số bài toán
trong lập trình.
Bài toán 1: Các em ngồi đây, em nào cũng đã trãi qua bậc tiểu học, em nào cũng
đã một thời học bảng cửu chương. Và có em đã từng bị thầy giáo, cô giáo phạt
khi không thuộc bảng cửu chương. Có nhiều hình thức mà các thầy giáo, cô giáo
phạt các em, dưới đây là 2 hình thức phạt thông dụng nhất:
Cách 1: Giáo viên phạt học sinh về viết lại bảng cửu chương 100 lần.
Cách 2: Giáo viên yêu cầu học sinh về viết đi viết lại bảng cửu chương cho đến
khi ghi nhớ thì thôi.
Hoạt động của giáo viên
Hoạt động của học sinh
- Giáo viên chiếu bài toán 1 lên màn hình - Tiếp thu đề bài toán 1
rồi đọc để học sinh nghe và theo dõi.
- Hỏi: Hãy xác định công việc học sinh - Tiếp nhận câu hỏi, suy nghĩ tìm
phải thực hiện lặp đi lặp lại?
câu trả lời
+ Gọi học sinh đứng dậy trả lời
+ Đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung

+ Nhận xét, bổ sung ý
+ Chính xác câu trả lời: Viết lại bảng
+ Tiếp thu câu trả lời
cửu chương.
- Hỏi: Hãy cho biết bảng cửu chương - Tiếp nhận câu hỏi, suy nghĩ tìm
được viết lặp đi lặp lại bao nhiều lần câu trả lời
trong cách phạt 1 và cách phạt 2?
+ Gọi học sinh đứng dậy trả lời
+ Đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Nhận xét, bổ sung ý
+ Chính xác câu trả lời: Trong cách
+ Tiếp thu câu trả lời
phạt 1 là 100 lần, trong cách phạt 2
là chưa biết.
- Kết luận: Có 2 dạng lặp:
- Chú ý lắng nghe giáo viên giảng
+ Dạng 1: Lặp với số lần lặp đã biết bài và khắc sâu về hai dạng lặp
+ Dạng 2: Lặp với số lần lặp chưa thông qua bài toán 1.
biết trước.
Để diễn đạt những tình huống được lặp đi Tiếp thu kiến thức, ghi nhớ để biết
lặp lại nhiều lần với số lần lặp biết trước khi nào dùng câu lệnh FOR, khi
ta dùng câu lệnh FOR.
nào dùng câu lệnh WHILE trong
Để diễn đạt những tình huống được lặp đi ngôn ngữ lập trình.
lặp lại nhiều lần với số lần lặp chưa biết
ta dùng câu lệnh WHILE.
7



Nhận xét: Sau bao nhiêu năm giảng dạy tôi thấy bài toán 1 là bài toán quen
thuộc đối với mỗi học sinh, giúp học sinh thấy rõ về hai dạng của cấu trúc lặp.
1
a

Bài toán 2 (trang 42 SGK tin 11): Tính tổng S = +
Hoạt động của giáo viên
- Giáo viên chiếu bài toán 2 lên màn hình
máy chiếu rồi đọc cho học sinh nghe và
theo dõi.
- Hỏi: Hãy xác định công việc được lặp
đi lặp lại trong bài toán trên?
Gợi ý: Ban đầu khởi tạo tổng S bằng 0.
Mỗi lần ta chỉ cộng thêm một phần tử vào
tổng S. Vậy ta phải cộng bao nhiêu lần?
+ Gọi học sinh đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Chính xác câu trả lời: 101 lần
Vậy công việc được lặp đi lặp lại của bài
toán 2 là gì?
+ Gọi học sinh đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Chính xác câu trả lời: Cộng thêm
một phần tử vào tổng S, tức là
S:=S+1/(a+i); với i=0, 1, 2, ..., 100.
- Hỏi: Như vậy số lần lặp của bài toán 2
là đã biết. Vậy ta dùng câu lệnh gì để
diễn đạt bài toán này?
+ Gọi học sinh đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung

+ Chính xác câu trả lời: Lệnh FOR
- Yêu cầu: Hãy viết đoạn chương trình
tính tổng S trên.
+ Gọi học sinh lên bảng viết
+ Lấy ý kiến nhận xét, bổ sung
+ Chính xác đoạn chương trình
Đoạn chương trình diễn đạt bằng Pascal:

1
1
1
+
+ ... +
a +1 a + 2
a + 100

Hoạt động của học sinh
- Tiếp thu bài toán
- Tiếp nhận câu hỏi, suy nghĩ tìm
câu trả lời
Tiếp nhận câu hỏi, suy nghĩ tìm câu
trả lời
+ Đứng dậy trả lời
+ Nhận xét, bổ sung ý
+ Tiếp thu câu trả lời
Tiếp nhận câu hỏi, suy nghĩ tìm câu
trả lời
+ Đứng dậy trả lời
+ Nhận xét, bổ sung ý
+ Tiếp thu câu trả lời

- Tiếp nhận câu hỏi, suy nghĩ tìm
câu trả lời
+ Đứng dậy trả lời
+ Nhận xét, bổ sung ý
+ Tiếp thu câu trả lời
- Vận dụng kiến thức về câu lệnh
FOR để viết đoạn chương trình.
+ Lên bảng viết
+ Nhận xét, bổ sung ý
+ Tiếp thu đoạn chương trình

S:=0;
for i:=0 to 100 do
S:=S+1/(a+i);

Đoạn chương trình diễn đạt bằng C++:
S=0;
for (i=0; i<=100; i++)
S=S+1/(a+i);

- Giáo viên mở và thực hiện chương - Xem giáo viên thực hiện, củng cố
8


trình đã viết trước cho học sinh xem.

kiến thức.
1
a


Bài toán 3 (trang 42 SGK tin 11) : Tính tổng S = +
đến khi

1
< 0,0001
a+N

Hoạt động của giáo viên
Cũng như bài toán 2, công việc lặp đi lặp
lại trong bài toán 3 là: S=S+1/(a+i);
- Hỏi: Số lần lặp đi lặp lại trong bài toán
3 đã biết chưa?
+ Gọi học sinh đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Chính xác câu trả lời: Chưa biết
- Hỏi: Với những bài toán lặp mà số lần
lặp chưa biết ta dùng câu lệnh gì?
+ Gọi học sinh đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Chính xác câu trả lời: WHILE
- Hỏi: Công việc lặp sẽ dừng lại khi nào?
+ Gọi học sinh đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung

1
1
1
+
+ ... +
cho

a +1 a + 2
a+N

Hoạt động của học sinh
Chú ý theo dõi, tiếp thu kiến thức

- Tiếp nhận câu hỏi, suy nghĩ tìm
câu trả lời
+ Đứng dậy trả lời
+ Nhận xét, bổ sung ý
+ Tiếp thu câu trả lời
- Tiếp nhận câu hỏi, suy nghĩ tìm
câu trả lời
+ Đứng dậy trả lời
+ Nhận xét, bổ sung ý
+ Tiếp thu câu trả lời
- Tiếp nhận câu hỏi, suy nghĩ trả lời
+ Đứng dậy trả lời
+ Nhận xét, bổ sung ý
1
+ Tiếp thu câu trả lời
< 0,0001
+ Chính xác câu trả lời:
a+i

Điều kiện đặt trong câu lệnh WHILE sẽ Lắng nghe, tiếp thu cách tìm điều
là phủ định của của điều kiện dừng, tức là kiện của câu lệnh WHILE.
1
≥ 0,0001 .
a+i


- Yêu cầu: Từ phân tích trên em hãy viết - Tiếp nhận yêu cầu, vận dụng kiến
đoạn chương trình cho bài toán 3.
thức về câu lệnh WHILE để viết.
+ Gọi học sinh lên bảng viết
+ Lên bảng viết
+ Lấy ý kiến nhận xét, bổ sung
+ Nhận xét, bổ sung ý
+ Chính xác đoạn chương trình
+ Tiếp thu đoạn chương trình
Đoạn chương trình diễn đạt bằng Pascal:
S:=0; i:=0;
While 1/(a+i)>=0.0001 do
begin
S:=S+1/(a+i);
i:=i+1;
end;

Đoạn chương trình diễn đạt bằng C++:
S=0; i=0;
While (1/(a+i)>=0.0001)
{
S=S+1/(a+i);

9


i=i+1;
}


Bài toán 4 (Ví dụ 2 trang 45 SGK tin 11): Tính tổng các số chia hết cho 3 hoặc 5
trên đoạn [ M ; N ]
Hoạt động của giáo viên
Hoạt động của học sinh
- Giáo viên chiếu bài toán 4 lên màn hình - Tiếp thu bài toán 4
máy chiếu rồi đọc cho học sinh nghe và
theo dõi.
- Hỏi: Hãy xác định công việc được lặp - Tiếp nhận câu hỏi, suy nghĩ tìm
đi lặp lại trong bài toán trên?
câu trả lời
Gợi ý: Giả sử M=4; N=10. Ta làm như Chú ý lắng nghe, theo dõi để biết
sau:
cách làm.
+ Khởi tạo tổng S:=0;
+ Kiểm tra số 4, thấy rằng số 4
không chia hết cho 3 và cũng không
chia hết cho 5 nên bỏ qua.
+ Kiểm tra số 5, thấy rằng số 5 chia
hết cho 5 nên cộng số 5 vào tổng S
+ Kiểm tra số 6, thấy rằng số 6 chia
hết cho 3 nên cộng 6 vào tổng S.
+ Kiểm tra số 7, thấy rằng số 7
không chia hết cho 3 và cũng không
chia hết cho 5 nên bỏ qua.
+ Kiểm tra số 8, thấy rằng số 8
không chia hết cho 3 và cũng không
chia hết cho 5 nên bỏ qua.
+ Kiểm tra số 9, thấy rằng số 9 chia
hết cho 3 nên cộng 9 vào tổng S.
+ Kiểm tra số 10, thấy rằng 10 chia

hết cho 5 nên cộng 10 vào tổng S.
Vậy công việc lặp đi lặp lại là gì?
Tiếp nhận câu hỏi, tìm câu trả lời
+ Gọi học sinh đứng dậy trả lời
+ Đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Nhận xét, bổ sung ý
+ Chính xác câu trả lời: Kiểm tra
+ Tiếp thu câu trả lời
một số trên đoạn [M;N] xem số đó
có chia hết cho 3 hoặc cho 5 hay
không? Nếu có thì cộng vào tổng S.
- Hỏi: Số lần lặp là bao nhiêu lần?
- Tiếp nhận câu hỏi, tìm câu trả lời
+ Gọi học sinh đứng dậy trả lời
+ Đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Nhận xét, bổ sung ý
+ Chính xác câu trả lời: N-M+1 lần
+ Tiếp thu câu trả lời
- Hỏi: Dùng câu lệnh gì để diễn đạt tình - Tiếp nhận câu hỏi, suy nghĩ tìm
huống lặp trong bài toán này?
câu trả lời
10


+ Gọi học sinh đứng dậy trả lời
+ Đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Nhận xét, bổ sung ý

+ Chính xác câu trả lời: Lệnh FOR
+ Tiếp thu câu trả lời
- Hỏi: Em nào có thể viết đoạn chương - Tiếp nhận câu hỏi, suy nghĩ viết
trình diễn đạt đoạn tính tổng các số chia đoạn chương trình.
hết cho 3 hoặc cho 5 trên đoạn [M; N]?
+ Gọi học sinh lên bảng viết
+ Lên bảng viết
+ Lấy ý kiến nhận xét, bổ sung
+ Nhận xét, bổ sung ý
+ Chính xác hóa đoạn chương trình
+ Tiếp thu đoạn chương trình
Đoạn chương trình diễn đạt bằng Pascal:
S:=0;
For i:=M to N do
if (i mod 3=0) or (i mod 5=0) then
S:=S+i;

Đoạn chương trình diễn đạt bằng C++:
S=0;
For (i=M; i<=N; i++)
if (i%3==0 || i%5==0)
S=S+i;

- Giáo viên mở và thực hiện chương - Quan sát chương trình, xem giáo
trình đã chuẩn bị cho học sinh xem.
viên thực hiện, củng cố kiến thức.
Bài toán 5 (Ví dụ 2 trang 47 SGK tin 11: Tìm ước chung lớn nhất của hai số
nguyên dương M và N.
Hoạt động của giáo viên
Hoạt động của học sinh

- Giáo viên chiếu bài toán 5 lên màn - Tiếp nhận bài toán 5
hình máy chiếu rồi đọc cho học sinh
nghe và theo dõi.
- Giới thiệu thuật toán tìm UCLN:
- Chú ý lắng nghe, theo dõi giáo viên
Ta nhận thấy rằng UCLN của hai số giảng bài để hiểu về thuật toán tìm
bằng nhau thì bằng chính nó. Vì vậy khi UCLN của hai số nguyên dương.
tìm UCLN của hai số nguyên dương
khác nhau ta tìm cách biến đổi về hai số
bằng nhau. Cụ thể, ta giữ lại số bé và
thay số lớn bằng số lớn trừ số bé. Ví dụ
để tìm UCLN của 36 và 54 ta làm như
sau: (36;54)=(36,18)=(18;18)=18
Như vậy, công việc được lặp đi lặp lại Tiếp nhận câu hỏi, suy nghĩ tìm câu
trong bài toán này là gì?
trả lời
+ Gọi học sinh đứng dậy trả lời
+ Đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Nhận xét, bổ sung ý
+ Chính xác câu trả lời: Thay số
+ Tiếp thu câu trả lời
lớn bằng số lớn trừ số bé.
- Hỏi: Số lần thay số lớn bằng số lớn trừ - Tiếp nhận câu hỏi, suy nghĩ tìm câu
11


số bé là bao nhiêu lần?
+ Gọi học sinh đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung

+ Chính xác câu trả lời: Chưa biết
- Hỏi: Dùng câu lệnh nào để diễn đạt
bài toán này?
+ Gọi học sinh đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Chính xác câu trả lời: WHILE
- Hỏi: Điều kiện dừng của bài toán?
+ Gọi học sinh đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Chính xác câu trả lời: Hai số
bằng nhau.
- Hỏi: Điều kiện đặt vào câu lệnh
WHILE là gì?
+ Gọi học sinh đứng dậy trả lời
+ Lấy ý kiến nhận xét, bổ sung
+ Chính xác câu trả lời: Phủ định
của điều kiện dừng, tức là hai số
khác nhau.
- Hỏi: Từ những phân tích trên em nào
có thể viết đoạn chương trình tìm UCLN
của 2 số nguyên dương M và N?
+ Gọi học sinh lên bảng viết
+ Lấy ý kiến nhận xét, bổ sung
+ Chính xác đoạn chương trình
Đoạn chương trình diễn đạt bằng Pascal:

trả lời
+ Đứng dậy trả lời
+ Nhận xét, bổ sung ý
+ Tiếp thu câu trả lời

- Tiếp nhận câu hỏi, suy nghĩ tìm câu
trả lời
+ Đứng dậy trả lời
+ Nhận xét, bổ sung ý
+ Tiếp thu câu trả lời
- Tiếp nhận câu hỏi, tìm câu trả lời
+ Đứng dậy trả lời
+ Nhận xét, bổ sung ý
+ Tiếp thu câu trả lời
- Tiếp nhận câu hỏi, tìm câu trả lời
+ Đứng dậy trả lời
+ Nhận xét, bổ sung ý
+ Tiếp thu câu trả lời
- Tiếp nhận câu hỏi, suy nghĩ viết
đoạn chương trình tìm UCLN của 2
số nguyên dương.
+ Lên bảng viết
+ Nhận xét, bổ sung ý
+ Tiếp thu đoạn chương trình

While M<>N do
If M>N then
M:=M-N
Else
N:=N-M;
UCLN=M;

Đoạn chương trình diễn đạt bằng C++:
While (M!=N)
If (M>N)

M=M-N;
Else
N=N-M;
UCLN=M;

- Giáo viên mở và thực hiện chương - Quan sát chương trình, xem giáo
trình đã viết trước cho học sinh xem.
viên thực hiện, củng cố kiến thức.

12



×