SỞ GIÁO DỤC VÀ ĐÀO TẠO ………….
TRƯỜNG TRUNG HỌC PHỔ THÔNG …………..
CHUYÊN ĐỀ
ĐỔI MỚI SINH HOẠT CHUYÊN MÔN
Tên chuyên đề:
CẤU TRÚC LẶP
……………
Năm học: 2018
A. Phần mở đầu
I. Giới thiệu về chuyên đề
- Trong bất cứ một ngôn ngữ lập trình nào, việc sử dụng các câu lệnh điều khiển là bắt
buộc, vì có sử dụng chúng, ta mới có thể lập trình giải quyết bài toán trong Tin học.
- Trong chương trinh Tin học 11, học sinh được giới thiệu tìm hiểu 2 cấu trúc điều
khiển là cấu trúc rẽ nhãnh và cấu trúc lặp. Trong đó, theo tôi cấu trúc lặp là một nội
dung đặc biệt quan trọng, chính vì vậy tôi quyết định chọn chuyên đề “Cấu trúc lặp”
để tổ chức soạn giảng theo hướng tự học của học sinh, giúp các em có thể tự mình tìm
tòi, nghiên cứu, lĩnh hội các tri thức mới.
II. Phạm vi chuyên đề:
- Chuyên đề “Cấu trúc lặp” được chia làm 2 phần
+ Câu lệnh lặp For .. do;
+ Câu lệnh lặp While .. do;
- Số tiết dạy: 06 tiết
Tiết
1. Lặp với số lần đếm được và câu lệnh For ..do
2. Bài tập (Lặp với số lần biết trước và câu lệnh For ..do)
3. Lặp với số lần không đếm được và câu lệnh While .. do
4. Bài tập (Lặp với số lần biết trước và câu lệnh For ..do)
5. Bài tập và thực hành
6. Bài tập và thực hành
III. Lí thuyết chuyên đề:
a) Lặp với số lần đếm được và câu lệnh For ..do:
* Dạng lặp tiến:
* Dạng lặp lùi:
Trong đó:
• For, to, downto, do là từ khóa
• Giá trị đầu ≤ Giá trị cuối, và đều phải cùng kiểu với biến đếm
• Biến đếm thường có kiểu nguyên hoặc kí tự
• Câu lệnh có thể là câu lệnh đơn hoặc câu lệnh ghép
* Hoạt động của câu lệnh lặp
•
* Dạng tiến: Biến đếm nhận lần lượt các giá trị từ gtđầu đến gt cuối, với mỗi lần biến
đếm nhận 1 giá trị, câu lệnh sau do được thực hiện.
Dạng tiến:
* Dạng lùi: Biến đếm nhận lần lượt các giá trị từ gt cuối về gt đầu, với mỗi lần biến
đếm nhận 1 giá trị, câu lệnh sau do được thực hiện.
Dạng lùi:
b) Lặp với số lần không đếm được và câu lệnh While .. do
While <điều kiện> do <câu lệnh>;
- While, do là các từ khóa
- Điều kiện là biểu thức quan hệ hoặc biểu thức logic
- 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: Trong khi điều kiện vẫn còn đúng thì câu lệnh tiếp tục được thực hiện.
Điều kiện sai thì thoát khỏi cấu trúc lặp
B. Kế hoạch dạy học - Chuyên đề: Cấu trúc lặp
I. Mục tiêu chuyên đề
1. Kiến thức
- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán
- Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước
- Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tính huống cụ thể
2. Kĩ năng:
- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp.
- Viết đúng các lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần định trước.
- Viết được chương trình giải một số bài toán đơn giản.
3. Thái độ
- Học sinh hiểu bài, có hứng thú học tập môn học, yêu thích môn học
II. Định hướng các năng lực hướng tới
- Năng lực tự học: tự tiếp thu kiến thức từ các nguồn khác nhau
- Năng lực tính toán: trả lời các câu hỏi định lượng, vận dụng trong bài
- Năng lực sử dụng ngôn ngữ: trình bày những bài tập khi GV yêu cầu
- Năng lực sử dụng CNTT và truyền thông: lập trình các bài toán, sử dụng mạng
internet để tìm hiểu thêm về nội dung của bài
- Năng lực hợp tác: hoạt động nhóm
- Năng lực giao tiếp: giao tiếp với bạn cùng nhóm, lớp, giáo viên trong quá trình học
- Năng lực sáng tạo: từ yêu cầu bài toán có thể nhìn ra những cách giải quyết khác
nhau
- Năng lực tự quản lý: quản lý, phân công các thành viên trong nhóm hoạt động
- Năng lực giải quyết vấn đề: ở mỗi câu hỏi, nội dung kiến thức GV đưa ra HS có thể
nhìn nhận và phát hiện giải quyết vấn đề được đặt ra.
- Diễn tả thuật toán cấu trúc lặp trên NNLT
III. Tiến trình dạy học
Chuyên đề: Cấu trúc lặp
Tiết 1
1. Lặp với số lần đếm được và câu lệnh For ..do
Tiết 2
2. Bài tập (Lặp với số lần biết trước và câu lệnh For ..do)
Tiết 3
3. Lặp với số lần không đếm được và câu lệnh While .. do
Tiết 4
4. Bài tập (Lặp với số lần biết trước và câu lệnh For ..do)
Tiết 6
Bài tập và thực hành
Tiết 7
Bài tập và thực hành
* Nội dung tiếp theo của chuyên đề sẽ chỉ giới thiệu minh họa tiến trình dạy các tiết lý
thuyết trong chuyên đề.
Tiết 1: Lặp với số lần đếm được và câu lệnh for .. do
I. Mục tiêu:
a. Kiến thức
- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán và lập trình
- Hiểu cấu trúc lặp với số lần biết trước for..do ở 2 dạng: dạng tiến và dạng lùi
- Biết cách vận dụng câu lệnh for .. do (dạng tiến hoặc dạng lùi)vào lập trình
giải một số bài toán cụ thể
b. Kĩ năng
- Sử dụng được câu lệnh lặp for .. do vào viết các (doạn) chương trình đơn giản.
- Kĩ năng làm việc nhóm, kĩ năng thuyết trình, kĩ năng lãnh đạo
c. Thái độ
- Có thái độ tích cực khi tham gia học tập
II. Chuẩn bị:
1. Giáo viên:
+ Phiếu học tập
+ Giáo án
+ Máy chiếu, máy tính và các công cụ hỗ trợ dạy học
+ Chia lớp thành 4 nhóm, có nhóm trưởng, thư kí, phân công người trình bày.
2. Học sinh:
+ Sách vở
+ Chuẩn bị bài trước ở nhà
III. Tiến trình lên lớp
1. Kiểm diện
2. Tiến trình bài học
* Hoạt động 1: Tình huống xuất phát
1. Mục tiêu: Tạo động cơ để học sinh có nhu cầu tìm hiểu cấu trúc lặp
2. Phương pháp: Thảo luận nhóm, cá nhân
3. Phương tiện: Máy tính, máy chiếu
4. Kết quả: Học sinh có nhu cầu tìm hiểu cấu trúc lặp
Hoạt động của giáo viên
Hoạt động của học sinh
Chia nhóm hoạt động: Chia lớp làm 4 Gọi một nhóm trình bày kết quả thảo
nhóm. Thời gian suy nghĩ là 2 phút
luận; các nhóm khác lắng nghe và nhận
VD1: Lập trình hiện ra trên màn hình 5 xét
dòng chữ : “chao ca lop”. Và các em có Câu trả lời mong muốn:
nhận xét gì về chương trình của nhóm Begin
mình.
Write(‘chao ca lop’);
Write(‘chao ca lop’);
Write(‘chao ca lop’);
Write(‘chao ca lop’);
Write(‘chao ca lop’);
Readln
End.
Trong chương trình, câu lệnh
writeln(‘chao ca lop’) được viết đi viết
lại 5 lần
Trong chương trình trên, câu lệnh Lắng nghe
writeln(‘chao ca lop’) được viết lặp đi
lặp lại nhiều lần, trước hết là ta thấy
mất thời gian. Giả sử như bài toán yêu
cầu viết ra 100 dòng hoặc nhiều hơn thì
ta phải làm thế nào?
Yêu cầu đặt ra là với các chương trình
mà các câu lệnh được lặp như vậy có
cách nào để thế hiện, xử lí không,
chúng ta sẽ cùng nhau đi tìm hiểu ở bài
ngày hôm nay.
Bài 10: Cấu trúc lặp
* Hoạt động 2: Hình thành kiến thức và vận dụng
1. Mục tiêu: Học sinh biết biết được thế nào là lặp, cú pháp và hoạt động của câu lệnh
For.. do.
2. Phương pháp: Thảo luận nhóm, phát hiện và giải quyết vấn đề
3. Phương tiện: Máy tính, máy chiếu, SGK, bảng phụ
4. Kết quả: Học sinh biết và hiểu câu lệnh lặp For.. do và bước đầu viết được câu lệnh
hoặc một đoạn chương trình giải bài toán đơn giản;
Hoạt động của giáo viên
Hoạt động của học sinh
- Nhóm 1,2: Tìm hiểu cú pháp và hoạt Các nhóm suy nghĩ và ghi chép kết quả
động của câu lệnh for .. to ..do (For thảo luận
dạng tiến); Vận dụng câu lệnh For dạng
tiến viết dòng lệnh đưa ra màn hình 5
dòng chữ “chao ca lop” và giải thích
hoạch động của dòng lệnh.
- Nhóm 3,4: Tìm hiểu cú pháp và hoạt
động của câu lệnh for .. downto ..do
(For dạng lùi); Vận dụng câu lệnh For
dạng lùi viết dòng lệnh đưa ra màn
hình 5 dòng chữ “chao ca lop” và giải
thích hoạch động của dòng lệnh.
Gọi nhóm 1 hoặc nhóm 2; nhóm 3 hoặc Các nhóm báo cáo kêt quả thảo luận
nhóm 3 trình bày kết quả thảo luận của Các nhóm khác nhận xét, đặt câu hỏi
nhóm mình
cho nhóm
Giáo viên tổng hợp lại kiến thức
Học sinh ghi chép nội dung kiến thức
1. Câu lệnh for ..do
vào vở
Cú pháp:
* For .. to.. do (For dạng tiến)
For <biến đếm>:=<gt đầu> to
cuối> do <Câu lệnh>;
* For .. downto.. do (For dạng lùi)
For <biến đếm>:=<gt cuối> to
đầu> do <Câu lệnh>;
Trong đó:
Biến đếm: là biến kiểu nguyên, kí tự
hoặc miền con;
Giá trị đầu, giá trị cuối: là biểu thức
cùng kiểu với biến đếm. Giá trị đầu
phải nhỏ hơn hoặc bằng giá trị cuối.
Hoạt động câu lệnh
* Dạng tiến: Biến đếm nhận lần lượt
các giá trị từ gtđầu đến gt cuối, với
mỗi lần biến đếm nhận 1 giá trị, câu
lệnh sau do được thực hiện.
* Dạng lùi: Biến đếm nhận lần lượt
các giá trị từ gt cuối về gt đầu, với mỗi
lần biến đếm nhận 1 giá trị, câu lệnh
sau do được thực hiện.
* Hoạt động 3: Luyện tập: Tìm hiểu thuật toán giải bài toán 1
1. Mục tiêu: Học sinh củng cố lại hiểu biết về câu lệnh for..do thông qua việc giải thích
chương trình trong SGK
2. Phương pháp: Thảo luận nhóm, phát hiện và giải quyết vấn đề, vấn đáp.
3. Phương tiện: Máy tính, máy chiếu, SGK, bảng phụ
4. Kết quả: Giải thích được ý nghĩa thuật toán, hoạt động câu lệnh for.. do sử dụng
trong bài toán 1 SGK Tin 11
Hoạt động của giáo viên
Hoạt động của học sinh
Yêu cầu học sinh đọc phần phân tích
Thảo luận nhóm, điển các câu trả lời
bài toán, thuật toán và chương trình
vào phiếu học tập
tong_1a trong SGK, và trả lời các câu
hỏi theo phiếu học tập sau:
Gọi 1 nhóm trả lời câu hỏi
Một nhóm trả lời câu hỏi
Các nhóm còn lại góp ý
Ghi chép vào sản phẩm học tập của
mình.
GV: Tổng hợp lại kiến thức
Xuất phát S:=1/a;
Giả sử n là biến đếm, phạm vi của i từ
1..100
Với mỗi lần n nhận thêm 1 đơn vị, ta
cộng thêm 1/(a+n) vào S
For n:=1 to 100 do
S:=S+1/(a+n);
* Hoạt động 4: Tìm tòi – mở rộng kiến thức:
1. Mục tiêu: Giúp học sinh có nhu cầu mở rộng và củng cố thêm kiến thức của mình
2. Phương pháp/kĩ thuật dạy học: cá nhân
3. Phương tiện dạy học: SGK, giáo án, máy tính, máy chiếu,…
4. Sản phẩm: HS phân tích được bài toán, xác định được thao tác lặp trong bài toán,
phạm vi của biến đếm và viết đoạn chương trình xử lí bài toán
Hoạt động của giáo viên
Ông An có số tiền là S, ông gửi tiết
Hoạt động của học sinh
Các nhóm thảo luận, ghi chép
kiệm ngân hàng theo tháng với lãi suất
1,5%/tháng, tiền lãi được cộng dồn vào
tiền gốc. Hỏi sau 12 tháng (không rút
tiền lãi hàng tháng) ông ta được số tiền
là bao nhiêu?
Hãy xác định phạm vi biến đếm, hoạt
động lặp trong bài toán là gì (thể hiện
qua công thức tính toán) và viết câu
lệnh giải quyết bài toán trên
Giáo viên cho 1 nhóm báo cáo kết quả
1 nhóm thảo luận, các nhóm còn lại
thảo luận
góp ý
Đưa ra câu lệnh
Các nhóm ghi chép bổ sung vào vở
For i:=1 to 12 do s:=s+s*0.015
3. Rút kinh nghiệm
…………………………………………………………………………………………
…………………………………………………………………………………………
Tiết 3: Lặp với số lần không đếm được và câu lệnh While..do
I. Mục tiêu bài học
I. Mục tiêu bài học
1. Kiến thức:
- Hiểu được ý nghĩa của cấu trúc lặp có số lần lặp chưa biết trong các bài toán
- Biết được cấu trúc chung của lệnh lặp While – do trong Pascal
- Nắm được hoạt động của câu lệnh lặp while – do
2. Kĩ năng:
- Sự khác nhau giữa while – do và for – do.
- Bước đầu biết lựa chọn đúng dạng lệnh lặp để lập trình giải quyết các bài toán đơn
giản
3. Thái độ
- Từ việc tính toán, lập trình các bài tập liên quan đến toán học từ đó các em có liên hệ
với môn học khác, đặc biệt là môn Toán và thêm yêu thích môn học
- Khơi gợi lòng ham thích giải toán bằng lập trình trên máy tính
- Rèn luyện các phẩm chất của người lập trình, xem xét giải quyết vấn đề cẩn thận, chu
đáo, logic, có sáng tạo,…
- Thái độ học tập nghiêm túc, tích cực, chủ động tìm hiểu kiến thức.
II. Chuẩn bị
1. Giáo viên:
- phiếu học tập (nếu có), máy tính, máy chiếu, SGK, bút màu, nam châm,…
- Chia lớp thành 4 nhóm
2. HS: - Sách, vở,.....
- Thực hiện theo yêu cầu của GV trước bài học, nghiên cứu trước cấu trúc lặp với số
lần lặp chưa biết.
III. Tiến trình dạy học
1. Tình huống xuất phát
(1) Mục tiêu: Tạo động cơ để HS có nhu cầu quan tâm tới biện pháp giải quyết các
tình huống lặp với số lần không đếm được
(2) Phương pháp/kĩ thuật dạy học: cá nhân
(3) Phương tiện dạy học: SGK, Projector, máy tính,…
(4) Sản phẩm: HS có nhu cầu tìm hiểu câu lệnh While .. do trong Pascal
Hoạt động của GV
Hoạt động của HS
Dựa vào thuật toán, chương trình tổng Các nhóm thảo luận và trả lời vào
1b trong SGK, trả lờ vào phiếu học tập phiếu
sau
Tính chất: tăng dần 1 đơn vị ở mẫu
Số hạng tổng quát là:
Giá trị khởi tạo:
Câu lệnh lặp:
Lặp bao nhiêu lần:
Điều kiện kết thúc công việc lặp:
Hoạt động của GV
Hoạt động của HS
Gọi 1 nhóm lên trình bày kết quả
Tính chất: tăng dần 1 đơn vị ở mẫu
Số hạng tổng quát là 1/(a+N)
Giá trị khởi tạo: S:=1/a;
Câu lệnh lặp: S:= S+ 1/(a+N);
Lặp bao nhiêu lần: Không biết trước
Điều kiện kết thúc công việc lặp:
1
a+n
Nhận xét kết quả trình bày của học sinh
<0.0001
HS lắng nghe
Ở đây ta nhận thấy bài toán trên có xuất Lắng nghe
hiện tình huống lặp; nhưng số lần lặp
của tình huống lặp là không biết trước,
không đếm được; do đó không thể sử
dụng câu lệnh for.. do được
Để giải quyết bài toán trên, trong ngôn
ngữ lập trình pascal có cung cấp câu
lệnh để xử lí các tình huống lặp mà
không đếm được số lần lặp. Để tìm hiểu
câu lệnh đó chúng ta cùng nhau đi vào
bài ngày hôm nay
2. Hình thành kiến thức
(1) Mục tiêu: HS nắm được cú pháp của câu lệnh lặp while – do. Hiểu cách viết lệnh
while – do.
(2) Phương pháp/kĩ thuật dạy học: Đàm thoại, phát hiện và giải quyết vấn đề
(3) Phương tiện dạy học: SGK, máy tính, máy chiếu,…
(4) Hình thức tổ chức hoạt động: cá nhân, thảo luận nhóm
(5) Sản phẩm: HS hiểu về cấu trúc và cách hoạt động của cấu trúc lặp và sử dụng cấu
trúc lặp while – do.
Hoạt động của Giáo viên
Hoạt động của Học sinh
Các nhóm đọc SGK, thông qua chương trinh
Các nhóm thảo luận
tong_1b, thảo luận trả lời các câu hỏi sau:
Cú pháp của câu lệnh While .. do
Hoạt động của câu lệnh
Hãy chỉ ra các thông số của câu lệnh trong
chương trình tong_1b
Gọi đại diện 1 nhóm lên trình bày kết quả
Các nhóm nhận xét
thảo luận
Giáo viên tổng hợp lại kiến thức
While <điều kiện> do <câu lệnh>;
Các nhóm lắng nghe, ghi chép vào
- While, do là các từ khóa
sản phẩm học tập của mình
- Điều kiện là biểu thức quan hệ hoặc biểu
thức logic
- 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: Trong khi điều kiện vẫn còn
đúng thì câu lệnh tiếp tục được thực hiện.
Điều kiện sai thì thoát khỏi cấu trúc lặp
VD: Chương trình tong_1b
Điều kiện lặp:
1/(a+n)<0.0001
Câu lệnh lặp
S:=S+1/(a+n);
3. Luyện tập – Vận dụng
(1) Mục tiêu: HS viết được chương trình có sử dụng cấu trúc lặp while – do hoặc
repeat - until
(2) Phương pháp/kĩ thuật dạy học: cá nhân, thảo luận nhóm
(3) Phương tiện dạy học: SGK, máy tính, máy chiếu, …
(4) Sản phẩm: HS bước đầu biết sử dụng câu lệnh lặp trong chương trình
Hoạt động của Giáo viên
Hoạt động của Học sinh
Sử dụng câu lệnh While .. do, viết đoạn Các nhóm thảo luận, viết đoạn
chương trình giải quyết các bài toán sau
chương trình
Nhóm 1,2:
Bài 1: Tính tổng sau
S:=1+3+5+.. dừng lại khi s>1000
Nhóm 3,4: Bài 2: Tính tổng sau:
S:=1+2+4+.. dừng lại khi s>1000
Cho nhóm 1 quan sát sản phẩm của nhóm 2, Các nhóm quan sát sản phẩm của
nhóm 2 quan sát sản phầm của nhóm 1
nhau
Nhóm 3 quan sát sản phẩm của nhóm 4,
nhóm 4 quan sát sản phẩm của nhóm 3
Chọn 2 nhóm tốt nhất trình bày, các nhóm Các nhóm quan sát, cho ý kiến
còn lại thảo luận
Kết luận
Bài 1:
I:=1;
S:=0;
Wile s<=1000 do
Begin
S:=s+i;
I:=i+2;
End;
Bài 2:
I:=2;
S:=0;
Wile s<=1000 do
Begin
S:=s+i;
I:=i+2;
End;
4. Hoạt động tìm tòi mở rộng
(1) Mục tiêu: HS có nhu cầu mở rộng thêm kiến thức của mình
(2) Phương pháp/kĩ thuật dạy học: cá nhân
(3) Phương tiện dạy học: SGK, máy tính, máy chiếu,…
(5) Sản phẩm: HS biết phân tích từng dạng bài toán và sử dụng đúng loại cấu trúc lặp
Nội dung hoạt động – Thời gian: còn lại
Hoạt động của GV
Hoạt động của HS
Vẫn với bài toán liên quan đến lãi suất ngân Đưa ra những bài toán mà em có thể
hàng. Bảng lãi suất trong tiết trước:
gặp trong thực tế với lãi suất ngân
hàng mà từ đó em có thể lập trình để
tính toán
VD: Bài toán: Ông A có số tiền ban đầu là 10
triệu VNĐ. Ông muốn gửi tiết kiệm trong ngân
hàng trong x tháng với hình thức có kì hạn và
lấy lãi ở cuối kì.
- Nếu ông rút tiền sau y tháng. Vậy ông A sẽ có
được bao nhiêu tiền.
- Nếu ông muốn mình có được ít nhất là 20
triệu VNĐ và ông gửi với kì hạn là y tháng. Thì
ông phải gửi ít nhất là bao nhiêu tháng
HS tìm hiểu thực tế lãi suất trong
ngân hàng và có thể làm thành một
bài tập lớn và nộp cho GV các
chương trình và phân tích bài toán
IV. Hệ thống câu hỏi, bài tập luyện tập sử dụng trong các tiết bài tập, bài tập thực
hành
1. Câu lệnh for .. do
Câu 1: Cú pháp lệnh lặp For – do dạng lùi:
A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;
D. for < biến đếm> := < Giá trị đầu >downto < Giá trị cuối > do < câu lệnh>;
Đáp án: B
Câu 2: Cú pháp lệnh lặp For – do dạng tiến:
A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;
D. for < biến đếm> := < Giá trị đầu > to < Giá trị cuối > do < câu lệnh>;
Đáp án: D
Câu 3: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:
A. Cùng kiểu với giá trị đầu và giá trị cuối
B. Chỉ cần khác kiểu với giá trị đầu
C. Cùng kiểu với các biến trong câu lệnh
D. Không cần phải xác định kiểu dữ
liệu
Đáp án: A
Câu 4: Trong lệnh lặp For <biến đếm>:=<giá trị cuối> downto <giá trị đầu> do:
A. Giá trị đầu phải nhỏ hơn giá trị cuối
B. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
C. Giá trị đầu phải lớn hơn giá trị cuối
D. Giá trị đầu phải bằng giá trị cuối
Đáp án: B
Câu 5: Câu lệnh lặp for – do nào sau đây là đúng cú pháp?
A. For i= -10 to 0 do d:=d+1;
B. For i:= -10 to 0 do d:= d+1;
C. For i:=0.5 to -10.5 do d:= d+1;
D. For i= 0.5 to 10.5 do d:=d+1;
Đáp án: B
Câu 6: Trong các đoạn lệnh sau, đoạn lệnh nào có câu lệnh sau do được thực hiện
ít nhất 1 lần?
A. For i:=1 to 10 do writeln(‘A’);
B. For i:= 1.5 to 10.5 do writeln(‘A’);
C. For i=1 to 10 do writeln(‘A’);
D. For i:= 100 to 1 do writeln(‘A’);
Đáp án: A
Câu 7: Đâu là câu lệnh lặp for – do dạng lùi đúng:
A. For i:=1 to -10 do s:=s+I;
B. For i:= -10 to 1 do s:= s+ I;
C. For i:= 10.5 downto 1 do s:= s+I; D. For i:= 0 downto -10 do s:= s+I;
Đáp án: D
Câu 8: Cấu trúc lệnh lặp sau, biến đếm không thể có kiểu dữ liệu là?
for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
A. Real
B. Boolean
C. Byte
D. Char
Đáp án: A
Câu 9: Với NNLT Pascal câu lệnh lặp: x:=0; for i:=’1’ to ‘9’ do X:=x+ord(i)-48; thì
biến đếm i phải được khai báo bằng kiểu dữ liệu nào?
A. Integer
B. Real
C. Char
D. Boolean
Đáp án: A
Câu 10: Với NNLT Pascal câu lệnh lặp for c:=90 downto 65 do write(chr(c),#32); thì
biến đếm c có thể được khai báo bằng kiểu dữ liệu nào?
A. Integer
B. Real
C. Char
D. Boolean
Đáp án: C
Câu 11: Tính tổng dãy số sau
S:= 12 + 22 + 32 + … + n 2 với n nguyên được nhập từ bàn phím
Câu 12: Tính tổng sau:
S:= 1+ 3 + 5 + .. + 2*n-1 với n nguyên được nhập từ bàn phím
Câu 13: Tính tổng sau:
S:= 2 + 4 + 6 + .. + 2*n với n nguyên được nhập từ bàn phím
Câu 14: Cho số N nguyên dương
a) Tìm ước lớn nhất của N (không tính ước N)
b) Đếm xem N có bao nhiêu ước
c) Tính tổng số ước dương của N (không tính ước N)
d) Kiểm tra N có phải là số nguyên tố hay không (N nguyên tố khi có 2 ước là 1 và N)
e) Kiểm tra N có phải là số hoàn hảo hay không (tổng các ước dương của N không tính
N bằng N)
f*) Đếm xem trong phạm vi từ 1..1000 có bao nhiêu số nguyên tố
g*) Đếm xem trong phạm vi từ 1..1000 có bao nhiêu số hoàn hảo
Câu 15*: Dãy số fibonaci là dãy có công thức như sau
Tính F(n) với N nguyên dương, N được nhập từ bàn phím
2. Câu lệnh While .. do
Câu 1: Trong các cấu trúc sau, đâu là cú pháp đúng của câu lệnh lặp với số lần
lặp chưa biết trong Pascal?
A. While <câu lệnh> do <điều kiện>;
B. for <điều kiện> do <câu lệnh>;
C. While <điều kiện> do <câu lệnh>;
D. While <điều kiện> for <câu lệnh>;
Đáp án: C
Câu 2: Trong cấu trúc while <điều kiện> do <câu lệnh>; thì điều kiện có thể là:
A. Biểu thức số học
B. Biểu thức logic
C. Hằng số học
D. Từ khóa
Đáp án: B
Câu 3: Trong các cấu trúc sau, đâu là cú pháp đúng của câu lệnh lặp với số lần
lặp chưa biết trong Pascal?
A. Repeat <câu lệnh>; Until <điều kiện>; B. Repeat <điều kiện> do <câu lệnh>;
C. Repeat <điều kiện>; Until <câu lệnh>; D. Repeat <điều kiện> for <câu lệnh>;
Đáp án: A
Câu 4: Trong vòng lặp While <điều kiện> do <câu lệnh>; câu lệnh được thực hiện
khi:
A. Điều kiện còn đúng
B. Điều kiện còn sai
C. Điều kiện không xác định D. Không cần điều kiện
Đáp án: A
Câu 5: Trong cấu trúc Repeat <câu lệnh>; until <điều kiện>; thì câu lệnh tiếp tục được
thực hiện khi:
A. Biểu thức điều kiện đúng
B. Biểu thức điều kiện sai
Đáp án: B
Câu 6: Có thể dùng câu lệnh While – do thay cho câu lệnh For – do được không?
A. Không thể thay thế
B. Chỉ thay thế được khi vòng lặp đó chưa biết số lần lặp.
C. Luôn thay thế được D. Tỉ lệ thay thế được là 50%
Đáp án: C
Câu 7: Vòng lặp While <điều kiện> do <câu lệnh>; kết thúc khi nào
A. Khi một điều kiện cho trước được thỏa mãn
B. Khi đủ số vòng lặp
C. Khi tìm được Output
D. Tất cả các phương án
Đáp án: A
Câu 8: Hãy chỉ ra sự khác nhau giữa câu lệnh while – do và câu lệnh repeat – until?
Đáp án:
While <điều kiện> do <câu lệnh>; Repeat <câu lệnh>; until <điều kiện>;
Điều kiện đúng thì câu lệnh được Điều kiện sai thì câu lệnh được thực
thực hiện
hiện
Câu lệnh có thể không được thực Câu lệnh được thực hiện ít nhất 1 lần
hiện lần nào
Câu lệnh sau do là câu lệnh ghép Câu lệnh trong repeat-until nếu là các
phải sử dụng begin ..end;
câu lệnh đơn thì không cần begin..end;
Câu 9: Cho đoạn lệnh sau:
A:=1; While a<10 do a:= a+2;
Câu lệnh a:= a+2; được thực hiện bao nhiêu lần? Đáp án: 5 lần
Câu 10: Cho đoạn lệnh sau:
A:=1; Repeat a:=a+2; until a>11;
Câu lệnh a:= a+2; được thực hiện bao nhiêu lần? Đáp án: 6 lần
Câu 11: a) Cho đoạn lệnh sau: a:=1; while a<=s do a:=a*2; cho s=8 thì kết quả A là
bao nhiêu sau khi thực hiện đoạn lệnh?
Đáp án: a= 16
b) Cho đoạn lệnh sau: a:=1; repeat a:=a *2; until a>=s; cho s=8 thì kết quả a là bao
nhiêu sau khi thực hiện đoạn lệnh?
Đáp án: a= 8
Câu 12: Đoạn chương trình sau giải bài toán nào?
While not (1/(a+N) < 0.0001) do
Begin
N:=N+1;
S:=S+ 1.0/(a+N);
End;
A. Tính tổng các số nhỏ hơn 0,0001
B. Tính tổng các số lớn hơn 0,0001
C. Tính tổng cho đến khi
D. Tính tổng cho đến khi
Đáp án: D
Câu 13: Đoạn chương trình sau làm công việc gì?
While a < (b+25) do
readln(a,b);
A. Lặp lại việc nhập a,b cho đến khi a < b+25
B. Lặp lại việc nhập a,b cho đến khi a> b+25
C. Lặp lại việc nhập a,b cho đến khi a ≥ b+ 25
D. Lặp lại việc nhập a,b cho đến khi a ≤ b+25
Đáp án: C
Câu 14:
a) Tính tổng dãy số sau
S:= 12 + 22 + 32 + … cho đến khi S>1000
b) Tính tổng sau:
S:= 1+ 3 + 5 + .. cho đến khi S>1000
c) Tính tổng sau:
S:= 2 + 4 + 6 + .. cho đến khi S >1000
Câu 15: Sử dụng câu lệnh While .. do lập trình giải các bài toán sau:
a) Tính tổng dãy số sau
S:= 12 + 22 + 32 + … + n 2 với n nguyên được nhập từ bàn phím
b) Tính tổng sau:
S:= 1+ 3 + 5 + .. + 2*n-1 với n nguyên được nhập từ bàn phím
c) Tính tổng sau:
S:= 2 + 4 + 6 + .. + 2*n với n nguyên được nhập từ bàn phím
Câu 16*: Tính tổng của 100 số nguyên tố đầu tiên
Câu 17*: Tìm UCLN của 2 số nguyên dương M và N
C. Kết luận
Việc vận dụng các phương pháp dạy học tích cực để thiết kế các hoạt động học cho
học sinh sẽ góp phần nâng cao chất lượng dạy học. Học sinh sẽ tích cực, chủ động,
sáng tạo hơn trong quá trình học. Từ đó lĩnh hội tri thức một cách nhanh, chắc chắn và
nhớ lâu hơn, khắc sâu kiến thức đã học.
Tuy nhiên, do đặc thù bộ môn nên trong quá trình nghiên cứu giảng dạy vẫn còn nhiều
khó khăn. Tôi rất mong nhận được sự đóng góp ý kiến của các đồng nghiệp để chuyên
đề của tôi được hoàn thiện tốt hơn.