Tải bản đầy đủ (.docx) (45 trang)

CHUYÊN ĐỀ: CẤU TRÚC LẶP TRONG PASCAL

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 (882.02 KB, 45 trang )

SỞ GIÁO DỤC & ĐÀO TẠO VĨNH PHÚC
TRƯỜNG THPT LIỄN SƠN
=====***=====

BÁO CÁO CHUYÊN ĐỀ CHUYÊN MÔN

TÊN CHUYÊN ĐỀ:

CẤU TRÚC LẶP TRONG PASCAL
NGƯỜI THỰC HIỆN: NGUYỄN THỊ HUỆ
CHỨC VỤ: GIÁO VIÊN
BỘ MÔN: TIN HỌC
ĐƠN VỊ: TRƯỜNG THPT LIỄN SƠN

Vĩnh Phúc, 02/2018


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

MỤC LỤC
MỤC LỤC...................................................................................................................................................2
MỘT SỐ TỪ VIẾT TẮT............................................................................................................................2
PHẦN I. MỞ ĐẦU.....................................................................................................................................2
1. Lí do chọn đề tài..................................................................................................................................2
2. Tên chuyên đề.....................................................................................................................................2
3. Tác giả chuyên đề:..............................................................................................................................2
4. Mô tả chuyên đề..................................................................................................................................2
4.1. Giới hạn, phạm vi chuyên đề.......................................................................................................2
4.2. Nội dung kiến thức lý thuyết trong chuyên đề:...........................................................................2


4.2.1. Khái niệm lặp, cấu trúc lặp...................................................................................................2
4.2.2. Câu lệnh lặp với số lần lặp đã biết: for – do........................................................................2
4.2.3. Câu lệnh lặp với số lần lặp chưa biết: while – do; repeat - until.........................................2
4.2.4. Chuyển đổi câu lệnh For – do thành dạng While – do........................................................2
PHẦN II. THỰC HIỆN DẠY HỌC CHUYÊN ĐỀ...................................................................................2
1. Mục tiêu của chuyên đề......................................................................................................................2
1.1. Kiến thức:.....................................................................................................................................2
1.2. Kĩ năng:........................................................................................................................................2
1.3. Thái độ:........................................................................................................................................2
2. Định hướng các năng lực hướng tới...................................................................................................2
3. Xây dựng hệ thống các câu hỏi/bài tập đánh giá theo các mức độ....................................................2
a) Ma trận các câu hỏi theo mức độ...................................................................................................2
b) Nội dung các câu hỏi và đáp án theo các mức độ đã thiết kế........................................................2
4. Tiến trình tổ chức hoạt động học tập theo tiết dạy (45 phút/tiết)......................................................2
Tiết 1. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR – DO..........................................2
Tiết 2. CÂU LỆNH LẶP VỚI SỐ LẦN LẶP CHƯA BIẾT..............................................................2
Sơ đồ tư duy bài học...................................................................................................................................2
Tiết 3, 4. LUYỆN TẬP.......................................................................................................................2
PHẦN 3. TỔNG KẾT.................................................................................................................................2
Tài liệu tham khảo:.....................................................................................................................................2

GV: Nguyễn Thị Huệ

2


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11


MỘT SỐ TỪ VIẾT TẮT
Từ viết tắt
THPT
GV
HS
VD
NNLT
CNTT
B1
B2
B3
B4
B5
SGK
SĐK

GV: Nguyễn Thị Huệ

Ý nghĩa (từ hoàn chỉnh)
Trung học phổ thông
Giáo viên
Học sinh
Ví dụ
Ngôn ngữ lập trình
Công nghệ thông tin
Bước 1
Bước 2
Bước 3
Bước 4
Bước 5

Sách giáo khoa
Sơ đồ khối

3


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

PHẦN I. MỞ ĐẦU
1. Lí do chọn đề tài
Trong thời đại thông tin bùng nổ ngày nay, việc lập được các chương trình tự
hoạt động cho máy tính, máy gia dụng là cần thiết. Và để làm được việc đó cần có một
quá trình nghiên cứu, học tập về ngôn ngữ lập trình lâu dài, qua đó nhà lập trình có thể
chọn một ngôn ngữ lập trình thích hợp. Tuy nhiên mọi thứ điều có điểm khởi đầu của
nó, với học sinh việc học Pascal là khởi đầu cho việc tiếp cận ngôn ngữ lập trình bậc
cao, qua đó giúp các em hình dung được sự ra đời, cấu tạo, hoạt đông cũng như ích lợi
của các chương trình hoạt động trong máy tính, các máy tự động…Từ đó giúp các em
có thêm một định hướng, một niềm đam mê về tin học, về nghề nghiệp mà các em lựa
chọn sau này.
Qua hơn bảy năm dạy đội tuyển học sinh giỏi tin học, hơn bốn năm dạy chương
trình chính khóa tin học lớp 11. Tôi nhận thấy cấu trúc lặp là không thể thiếu trong hầu
hết các bài toán khi lập trình. Từ những kinh nghiệm mà tôi có được, cùng quá trình
tìm hiểu về cấu trúc lặp trong Pascal tôi nhận thấy rất học sinh gặp nhiều khó khăn khi
học về cấu trúc lặp. Do vậy, tôi nghiên cứu cách dạy học phần cấu trúc lặp trong
Pascal thông qua chuyên đề: Cấu trúc lặp trong Pascal. Giúp học sinh học sẽ dễ hiểu
hơn khi tiếp cận về cấu trúc lặp.

2. Tên chuyên đề: CẤU TRÚC LẶP TRONG PASCAL

3. Tác giả chuyên đề:
- Họ và tên: NGUYỄN THỊ HUỆ
- Trường: THPT Liễn Sơn

4. Mô tả chuyên đề
4.1. Giới hạn, phạm vi chuyên đề
- Chuyên đề thuộc môn Tin học – Lớp 11 – Bài 10: Cấu trúc lặp – Chương III: Cấu
trúc rẽ nhánh và lặp.
- Đối tượng: HS lớp 11
- Dự kiến số tiết dạy: 4
- Kế hoạch dạy học chuyên đề:
Tiết
Nội dung
1. Khái Niệm Lặp Và
- Khái niệm lặp
Cấu Trúc Câu Lệnh Lặp
- Câu lệnh lặp for – do
Với Số Lần Biết Trước
- Ví dụ bài toán
2. Câu Lệnh Lặp Với Số
- Ví dụ bài toán lặp với số lần chưa biết
Lần Chưa Biết
- Cấu trúc của câu lệnh lặp while – do
- Cấu trúc của câu lệnh lặp repeat – until
3, 4. Luyện Tập
- Bài toán về câu lệnh lặp với số lần lặp biết trước
GV: Nguyễn Thị Huệ

4



Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

-

Bài toán về câu lệnh lặp với số lần lặp chưa biết
Bài 1: Tính UCLN (a, b);
Bài 2. Kiểm tra một số là số nguyên tố


4.2. Nội dung kiến thức lý thuyết trong chuyên đề:
4.2.1. Khái niệm lặp, cấu trúc lặp
 Lặp là việc thực hiện lặp đi lặp lại một công việc nào đó
 Cấu trúc lặp là dùng các thao tác để thể hiện việc lặp nào đó trong thuật toán.
 Cấu trúc lặp mô tả thao tác lặp được phân biệt thành hai loại:
 Lặp với số lần biết trước
 Lặp với số lần chưa biết
4.2.2. Câu lệnh lặp với số lần lặp đã biết: 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:

GV: Nguyễn Thị Huệ

5


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

Dạng lùi:

Dạng tiến
- B1: Kiểm tra giá trị đầu ≤ giá trị cuối?
Đúng sang B2, sai thoát khỏi cấu trúc lặp
- B2: Gán giá trị đầu cho biến đếm
- B3: Thực hiện câu lệnh sau do
- B4: Kiểm tra biến đếm không? Đúng sang B5, sai thoát khỏi cấu
trúc lặp
- B5: Tăng biến đếm lên 1 rồi quay lại B3
GV: Nguyễn Thị Huệ

Dạng lùi
- B1: Kiểm tra giá trị cuối ≥ giá trị đầu? Đúng
sang B2, sai thoát khỏi cấu trúc lặp
- B2: Gán giá trị cuối cho biến đếm
- B3: Thực hiện câu lệnh sau do
- B4: Kiểm tra biến đếm > giá trị đầu hay

không? Đúng sang B5, sai thoát khỏi cấu trúc
lặp
- B5: Giảm biến đếm đi 1 rồi quay lại B3
6


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

4.2.3. Câu lệnh lặp với số lần lặp chưa biết: while – do; repeat - until
Câu lệnh
Cấu trúc
Thông số

WHILE – DO
REPEAT – UNTIL
While <điều kiện> do <câu lệnh>; Repeat <câu lệnh> Until <Điều kiện>;
- While, do, repeat, until 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. Trong câu
lệnh repeat – until nếu như có nhiều câu lệnh đơn thì không nhất thiết phải để
trong cặp begin … end;

Hoạt động

B1. Tính và kiểm tra điều kiện, nếu B1. Thực hiện câu lệnh
điều kiện đúng thì chuyển sang B2, B2. Kiểm tra điều kiện, nếu điều kiện
sai thì thoát khỏi cấu trúc lặp
sai thì quay lại B1, còn điều kiện đúng

B2. Thực hiện câu lệnh và quay lại thì thoát khỏi cấu trúc lặp
B1
Khái quát Trong khi điều kiện vẫn còn đúng
Trong khi điều kiện vẫn còn sai thì câu
hoạt động thì câu lệnh tiếp tục được thực
lệnh tiếp tục được thực hiện. Điều kiện
hiện. Điều kiện sai thì thoát khỏi
đúng thì thoát khỏi cấu trúc lặp
cấu trúc lặp
Lưu ý
- Câu lệnh for, while kiểm tra điều kiện ở đầu vòng lặp, câu lệnh repeat –
until kiểm tra điều kiện ở cuối vòng lặp
- Câu lệnh while kiểm tra điều kiện trước, nên câu lệnh sau do có khi không
được thực hiện lần nào. Câu lệnh Repeat – Until luôn thực hiện câu lệnh ít
nhất một lần rồi mới kiểm tra điều kiện
- Cả hai câu lệnh while – do và repeat – until: trong thân vòng lặp phải thiết
kế lệnh điều khiển để thoát khỏi vòng lặp, thông thường là tăng, giảm biến
đếm, hỏi, trả lời hoặc sử dụng phím đặc biệt.
4.2.4. Chuyển đổi câu lệnh For – do thành dạng While – do
For – to – do
<biến đếm>:= <giá trị đầu>;
While (<biến đếm> <= <giá trị cuối>) do
Begin
<Câu lệnh>;
<Tăng biến đếm lên 1 đơn vị>;
End;

GV: Nguyễn Thị Huệ

For – downto - do

<biến đếm>:= <giá trị cuối>;
While (<biến đếm> >= <giá trị đầu>) do
Begin
<Câu lệnh>;
<Giảm biến đếm đi 1 đơn vị>;
End;

7


Trường THPT Liễn Sơn

GV: Nguyễn Thị Huệ

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

8


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

PHẦN II. THỰC HIỆN DẠY HỌC CHUYÊN ĐỀ
1. Mục tiêu của chuyên đề
1.1. Kiến thức:
- HS nêu được khái niệm lặp, cấu trúc lặp, 2 loại cấu trúc lặp.
- Cấu trúc của câu lệnh lặp với số lần lặp đã biết, ý nghĩa các thành phần trong các cấu
trúc (thông số), hoạt động của từng dạng cấu trúc lặp theo hai dạng lặp tiến và dạng
lặp lùi.

- Cấu trúc của câu lệnh lặp với số lần lặp chưa biết while – do, repeat – until, ý nghĩa
các thành phần trong các cấu trúc lặp, hoạt động từng loại câu lệnh lặp.
1.2. Kĩ năng:
- Biết cách viết đúng được các dạng cấu trúc lặp, hiểu được cách hoạt động của từng
dạng.
- HS có khả năng phân tích bài toán đơn giản để chọn kiểu cấu trúc điều khiển phù hợp
- Biết cách chuyển đổi từ câu lệnh for – do sang câu lệnh while - do
1.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.

2. Đị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

GV: Nguyễn Thị Huệ

9


Trường THPT Liễn Sơn


Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

- 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

3. Xây dựng hệ thống các câu hỏi/bài tập đánh giá theo các m ức đ ộ
a) Ma trận các câu hỏi theo mức độ
Nội
dung
1.
Khái
niệm
lặp
(ND1)

Loại
câu
hỏi/bài
tập
Bài
tập
định
tính
(DT)


Nhận biết
(NB)

Thông hiểu
(TH)

Vận dụng thấp
(VDT)

Vận dụng cao
(VDC)

HS viết được
câu lệnh lặp for
- do thực hiện
một tình huống
quen thuộc.

HS viết được
câu lệnh lặp for
- do thực hiện
một tình huống
mới.

HS hiểu nhận
biết được khái
niệm lặp, cấu
trúc lặp

HS chỉ ra và

giải
thích
được cấu trúc
lặp trong một
mô tả thuật
toán cụ thể.
Câu hỏi:
Câu hỏi:
ND1.DT.NB.* ND1.DT.TH.*

Bài tập định
lượng
Bài thập
thực hành

2. Câu
lệnh
lặp for
– do

Bài
tập
định
tính

(ND2)

(DT)
Bài
tập

định
lượng
(DL)

HS mô tả cấu
trúc, ý nghĩa
lệnh for-do.

Câu hỏi:
ND2.DT.NB.*
HS biết cơ chế
hoạt động của
câu lệnh for do để chỉ ra
được
hoạt
động một lệnh
dạng for - do
cụ thể.
Câu hỏi:
ND2.DL.NB.
*

GV: Nguyễn Thị Huệ

HS chỉ ra
được các
thành phần
của một câu
lệnh for-do cụ
thể.

Câu hỏi:
ND2.DT.TH.*
HS hiểu cơ
chế hoạt động
của câu lệnh
for - do để
giải
thích
được
hoạt
động một tập
lệnh cụ thể
chứa for - do.
Câu hỏi:
ND2.DL.TH.
*
10

Câu hỏi:
Câu hỏi:
ND2.DL.VDT.* ND2.DL.VDC.
*


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

Bài
thập

thực
hành
(TH)

3. Câu
lệnh
lặp
while
– do,
Repeat
– until
(ND3)

Bài
tập
định
tính
(DT)

Bài
tập
định
lượng
(DL)

HS sửa lỗi
lệnh lặp for do trong
chương trình
quen thuộc có
lỗi.


HS mô tả cấu
trúc, ý nghĩa
lệnh while –
do, repeat until.
Câu hỏi:
ND3.DT.NB.*
HS biết cơ chế
hoạt động của
câu lệnh while
– do, repeat –
until để chỉ ra
được hoạt
động một lệnh
dạng while –
do hoặc repeat
- until cụ thể.

Câu hỏi:
ND3.DL.NB.
*
Bài
thập
thực
hành
(TH)

GV: Nguyễn Thị Huệ

Câu hỏi:

ND2.TH.TH.
*
HS chỉ ra
được các
thành phần
của một câu
lệnh while –
do, repeat –
until cụ thể.
Câu hỏi:
ND3.DT.TH.*
HS hiểu cơ
chế hoạt động
của câu lệnh
while – do,
repeat - until.
để giải thích
được hoạt
động một tập
lệnh cụ thể
chứa while –
do, repeat until.
Câu hỏi:
ND3.DL.TH.
*
HS sửa lỗi
lệnh lặp while
– do, repeat until trong
chương trình
quen thuộc có

lỗi.
11

HS vận dụng
câu lệnh for –
do kết hợp với
các lệnh khác
đã học để viết
được chương
trình hoàn chỉnh
giải quyết vấn
đề trong tình
huống quen
thuộc.
Câu hỏi:
ND2.TH.VDT.*

Sử dụng câu
lệnh lặp for – do
giải quyết bài
toán mới

Câu hỏi:
ND2.TH.VDC.
*

Phân biệt câu
lệnh while – do
và repeat – until


Câu hỏi:
ND3.DT.VDT.*
HS viết được
câu lệnh lặp
while – do,
repeat - until.
thực hiện một
tình huống quen
thuộc.

HS viết được
câu lệnh lặp
while – do,
repeat - until.
thực hiện một
tình huống mới.

Câu hỏi:
Câu hỏi:
ND3.DL.VDT.* ND3.DL.VDC.
*
HS vận dụng
câu lệnh while
– do, repeat until kết hợp
với các lệnh
khác đã học để
viết được

Sử dụng câu
lệnh lặp while –

do, repeat –
until giải quyết
bài toán mới


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

Câu hỏi:
ND3.TH.TH.
*

chương trình
hoàn trong tình
huống quen
thuộc.
Câu hỏi:
Câu hỏi:
ND3.TH.VDT.* ND3.TH.VDC.
*

b) Nội dung các câu hỏi và đáp án theo các mức độ đã thiết kế
Nội dung 1 (ND1): Khái niệm lặp, cấu trúc lặp
Câu ND1.DT.NB.1: Em hãy nêu khái niệm lặp, cấu trúc lặp?
Đáp án: - Lặp là việc thực hiện lặp đi lặp lại một công việc nào đó
- Cấu trúc lặp là dùng các thao tác để thể hiện việc lặp nào đó trong thuật toán.
Câu ND1.DT.TH.1: Chọn phát biểu sai trong số các phát biểu sau đây:
A. Để mô tả việc lặp đi lặp lại một số thao tác (câu lệnh) trong một thuật toán ta có thể
dùng cấu trúc lặp

B. Tùy từng trường hợp cụ thể, khi thì ta biết trước số lần lặp, khi thì ta không cần
hoặc không xác định được trước số lần lặp các thao tác nào đó
C. Có thể dùng cấu trúc lặp để thay thể cho cấu trúc rẽ nhánh trong mô tả thuật toán
D. Không thể mô tả được mọi thuật toán bằng NNLT bậc cao nếu không dùng cấu trúc
lặp.
Đáp án: C
Nội dung 2 (ND2): Câu lệnh lặp for - do
Câu ND2.DT.NB.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 ND2.DT.NB.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 ND2.DT.NB.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
GV: Nguyễn Thị Huệ

12



Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

Câu ND2.DT.NB.4: Trong lệnh lặp For <biến đếm>:=<giá trị cuối> downto đầ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 ND2.DT.TH.1: 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 ND2.DT.TH.2: 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 ND2.DT.TH.3: Đâ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 ND2.DT.TH.4: 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 ND2.DT.TH.5: 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 ND2.DT.TH.6: 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 ND2.DL.NB.1: Các đoạn lệnh sau đây, đoạn lệnh nào mà câu lệnh write(i,#32)
không được thực hiện lần nào?
A. For i:=’A’ to ‘Z’ do write(i,#32);
B. For i:= ‘Z’ to ‘A’ do write(i,#32);
C. For i:= ‘Z’ downto ‘A’ do write(i,#32);D. For i:=’0’ to ‘9’ do writeln(i,#32);
Đáp án: B
Câu ND2.DL.TH.1: Sau khi thực hiện đoạn lệnh sau. Giá trị của i, t, d bằng bao
nhiêu?
A:=1; b:= 10; t:=0; d:=0; For i:= a to b do if i mod 3=1 then begin t:= t+i;inc(d) end;

Đáp án: i= 10, t= 22, d= 4
GV: Nguyễn Thị Huệ

13


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

Câu ND2.DL.TH.2: Trong NNLT Pascal đoạn chương trình sau đưa ra màn hình kết
quả gì? For i:= 1 to 10 do write(i,#32);
A. 1 2 3 4 5 6 7 8 9 10
B. 12345678910
C. 10 9 8 7 6 5 4 3 2 1
D. Không đưa ra kết quả gì
Đáp án: A
Câu ND2.DL.TH.3: Trong NNLT Pascal đoạn chương trình sau đưa ra màn hình kết
quả gì?
For i:= 10 to 1 do write(i,#32);
A. 1 2 3 4 5 6 7 8 9 10
B. 12345678910
C. 10 9 8 7 6 5 4 3 2 1
D. Không đưa ra kết quả gì
Đáp án: D
Câu ND2.DL.TH.4: Trong NNLT Pascal, sau khi thực hiện đoạn chương trình sau giá
trị của T bằng bao nhiêu?
T:=0; for i:= 1 to 10 do if (i mod 3= 0) or (i mod 5=0) then T:= T + i;
A. T= 18
B. T= 15

C. T= 33
D. T= 0
Đáp án: C
Câu ND2.DL.TH.5: Cho đoạn chương trình:
For i:=1 to 10 do if I mod 2=0 then write(i);
Số lần thực hiện câu lệnh write(i) là:
A. 10
B. 9
C. 1
D. 5
Đáp án: D
Câu ND2.DL.TH.6: Cho chương trình sau:

Phát biểu nào sau đây là đúng?
A. Đây là chương trình đếm số các số chia hết cho 3
B. Đây là chương trình đếm và thông báo ra màn hình trong khoảng từ 1 đến 10000 có
M số là bội số của 3 và N số là bội số đồng thời của cả 3 và 5.
C. Đây là chương trình đếm và thông báo ra màn hình trong khoảng từ 1 đến 10000 có
N số là bội số của 3 và M số là bội số đồng thời của cả 3 và 5
D. Đây là chương trình đếm số các số chia hết cho 3 và 5 trong khoảng từ 1 đến 10 4.
Đáp án: B
Câu ND2.DL.TH.7: Kết quả đoạn lệnh sau:
GV: Nguyễn Thị Huệ

14


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11


Write(‘Nhap a=’); readln(a);
If a<=1 then kt:=false else
If (a=2)or(a=3) then kt:=true else
Begin Kt:= true;
For i:=2 to trunc(sqrt(a)) do
If a mod I =0 then begin kt:=
false;
break; end;
End;
Điền kết quả vào bảng?
Đáp án:

GV: Nguyễn Thị Huệ

15


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

a
Trunc(sqrt(a)) i
kt
0
0
0
FALSE
2

1
0
TRUE
20
4
2
FALSE
31
5
5
TRUE
Câu ND2.DL.VDT.1: Viết câu lệnh hiển thị ra màn hình:
Sử dụng câu lệnh lặp for – do
Lệnh 1
Lệnh 2
1
5
Đáp án:
2
4
Lệnh 1: For i:=1 to 5 do writeln(i);
3
3
Lệnh 2: For i:=5 downto 1 do
4
2
writeln(i);
5
1
Câu ND2.DL.VDT.2: Viết câu lệnh hiển thị ra 10 dòng: Hoc Pascal?

Đáp án: For i :=1 to 10 do Writeln(‘Hoc Pascal’) ; Hoặc
For i:=10 downto 1 do Writeln(‘Hoc Pascal’) ;
Câu ND2.DL.VDT.3: Viết câu lệnh lặp tương ứng có sử dụng cấu trúc lặp for – do với
bài toán:
Đáp án: S:=1/a;
Dạng tiến: For i:=1 to 100 do S:= S+1/(a+i);
Dạng lùi: For i:=100 downto 1 do S:= S+1/(a+i);
Câu ND2.DL.VDT.4: Đề giải bài toán ta dùng lệnh lặp nào dưới đây:
A. For i:=1 to n do a:=a+1/n;
B. For n:=1 to 100 do a:=a+ 1/n;
C. For n:=100 to 1 do a:=a+1/n
D. For i:=1 to 100 do a:=a+1/n;
Đáp án: B
Câu ND2.DL.VDC.1: Viết đoạn lệnh đếm số các số chẵn, số các số lẻ mà chia hết cho
3 trong khoảng từ a đến b (a, b là nguyên dương và aĐáp án: Dc:=0; dl:=0;
For i:=a to b do begin
If I mod 2=0 then inc(dc);
If (I mod 2=1)and(I mod 3=0) then inc(dl);
End;
Write(‘So cac so chan: ‘,dc,’; so cac so le chia het cho 3: ‘,dl);
Câu ND2.DL.VDC.2: Hãy viết câu lệnh lặp for – do để hiển thị các kí tự có mã từ 48
đến 122 trong bảng mã ASCII (viết theo hai dạng tiến và lùi)?
Đáp án: Dạng tiến: For i:=48 to 122 do write(ord(i),#32);
Dạng lùi: For i:=122 downto 48 do write(ord(i),#32);
Câu ND2.TH.TH.1: Muốn hiển thị các kí tự từ ‘a’ về kí tự ‘Z’ trong bảng mã ASCII
ta sử dụng đoạn lệnh sau có được không? Nếu không được sẽ phải thay đổi như thế
nào? For i:= ‘a’ to ‘Z’ do write(I, #32);
Đáp án: do kí tự ‘a’ có mã là 97, kí tự ‘Z’ có mã 90 do vậy ta không dùng được cấu
trúc for – to – do mà ta có thể thay: For i:= ‘a’ downto ‘Z’ do write(I, #32);

Câu ND2.TH.TH.2: Cho đoạn chương trình sau:
GV: Nguyễn Thị Huệ

16


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

Var i: byte; Begin For i:= ‘0’ to ‘9’ do write(ord(i),#32);
readln; End.
Chỉ ra lỗi của đoạn chương trình trên
Đáp án: do kí tự ‘0’..’9’ là dạng kí tự chứ không phải dạng số do vậy ta phải khai báo
I là kiểu kí tự (char)
Câu ND2.TH.VDT.1: Viết chương trình có sử dụng câu lệnh lặp for – do hiển thị ra
màn hình câu: “Chao ban! Ban co khoe khong?” 5 lần trên màn hình?
Đáp án:
Var i: byte;
Begin for i:=1 to 5 do writeln(“Chao ban! Ban co khoe khong?’); readln end.
Câu ND2.TH.VDT.2: Viết chương trình hoàn chỉnh tính tổng theo công thức
với a>=2
Đáp án:
Var a, S: real; i: byte;
Begin readln(a); s:= 1/a;
For i:=1 to 100 do s:= s+ 1/(a+i);
Write(‘s= ‘,s:0:2); readln
End.
Câu ND2.TH.VDT.3. Viết chương trình tính tổng: với n là số nguyên được nhập vào
từ bàn phím (0

Đáp án:
Var s: real; I, n: word; mau: longint;
Begin
Write(‘Nhap n=’); readln(n);
S:=1;
For i:=2 to n do {For i:=n downto 2 do } s:=s+ 1/sqr(i);
Write(‘S= ‘,S);
Readln;
End.
Câu ND2.TH.VDC.1: Tính số Fibonacci thứ n (n<=45) theo công thức truy hồi sau:

Đáp án:
var f1,f2,f, i,n: longint;
begin
readln(n); f1:=1; f2:=1;
for i:=3 to n do
begin
f:=f1+f2;
f1:=f2;
f2:=f;
end; writeln;
write('So fibo thu ',n,' la: ',f);
readln
end.
Câu ND2.TH.VDC.2: Lập trình nhập vào một số nguyên dương n (n<=2x10 9). Kiểm
tra n có phải là số nguyên tố hay không? Đưa ra màn hình dòng thông báo kết quả?
Đáp án:
GV: Nguyễn Thị Huệ

17



Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

Var a, i: longint; kt: boolean;
Begin Write(‘Nhap a=’); readln(a);
If a<=1 then kt:=false else
If (a=2)or(a=3) then kt:=true else
Begin
kt:= true;
For i:=2 to trunc(sqrt(a)) do
If a mod I =0 then begin kt:= false; break; end;
End;
If kt=false then writeln(a,’ khong la so nguyen to’)
else writeln(a,’ la so nguyen to’); Readln;
End.
Nội dung 3 (ND3): Câu lệnh lặp while - do
Câu ND3.DT.NB.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 ND3.DT.NB.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 ND3.DT.NB.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 ND3.DT.TH.1: 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 ND3.DT.TH.2: 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 ND3.DT.TH.3: 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.
GV: Nguyễn Thị Huệ

18



Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

C. Luôn thay thế được
D. Tỉ lệ thay thế được là 50%
Đáp án: C
Câu ND3.DT.TH.4: 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 ND3.DT.VDT.1: 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 thực Điều kiện sai thì câu lệnh được thực hiện
hiện
Câu lệnh có thể không được thực hiện Câu lệnh được thực hiện ít nhất 1 lần
lần nào
Câu lệnh sau do là câu lệnh ghép phải Câu lệnh trong repeat-until nếu là các câu
sử dụng begin ..end;
lệnh đơn thì không cần begin..end;
Câu ND3.DL.NB.1: 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 ND3.DL.NB.2: 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 ND3.DL.TH.1: 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 ND3.DL.TH.2: Đ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 ND3.DL.TH.3: Đ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
GV: Nguyễn Thị Huệ


19


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

D. Lặp lại việc nhập a,b cho đến khi a ≤ b+25
Đáp án: C
Câu ND3.DL.VDT.1: Sử dụng câu lệnh lặp while – do hoặc repeat – until viết đoạn
chương trình kiểm tra một số a nhập vào thỏa mản a>2 và a<104 thì dừng lại, còn
không thỏa mãn thì vẫn tiếp tục nhập
Đáp án: - Sử dụng while – do: readln(a); while (a<=2)or(a>=1e4) do readln(a);
-

Sử dụng repeat – until: repeat readln(a); until (a>2)and(a<1e4);

Câu ND3.DL.VDT.2: Sử dụng câu lệnh lặp while – do hoặc repeat – until để thực
hiện viết đoạn lệnh tính S cho bài toán sau:
a) với a>=2
b) cho đến khi
c) S = 1 + 2 + 3 + … + n + … cho đến khi S>108
Đáp án:
a) Sử dụng while – do:
Sử dụng repeat – until:
S:= 1/a; i:=1;
S:= 1/a; i:=1;
Repeat s:=s+1/(a+i); inc(i);
While i<=100 do begin s:=s+ 1/

until i>100;
(a+i); inc(i);end;
b)
c) Sử dụng while – do:
Sử dụng repeat – until:
S:=1/a; i:=1;
S:= 1/a; i:=1;
While 1/(a+i)>=1e-4 do begin
Repeat s:=s+1/(a+i); inc(i);
s:=s+ 1/(a+i); inc(i); end;
until 1/(a+i)<1e-4;
d)
e) Sử dụng while – do:
Sử dụng repeat – until:
S:= 1; i:=2;
I:=1; s:=0;
While s<=1e8 do begin s:=s+ i;
Repeat s:=s+I; inc(i); until
inc(i);end;
s>1e8;
Câu ND3.DL.VDC.1: Viết đoạn lệnh tìm UCLN của 2 số a, b nguyên dương.
Đáp án:
 Phương pháp trừ:
o While – do:
While a<>b do if a>b then a:=a-b else b:=b-a;
o Repeat – Until: Repeat if a>b then a:=a-b else b:=b-a; until a=b;
 Phương pháp chia:
o While – do:
While b<>0 do begin r:= a mod b; a:=b; b:=r;end;
o Repeat – Until: Repeat r:=a mod b; a:=b; b:=r; until b=0;

Câu ND3.TH.TH.1: Để giải quyết bài toán: nhập số x>=-10 và x<=100, nếu số nhập
vào không thỏa mãn điều kiện thì yêu cầu nhập lại. Hãy quan sát đoạn lệnh sau:
Readln(x); while (x>=-10)and(x<=100) do readln(x);
Đoạn lệnh này có thể giải quyết được bài toán trên không? Nếu không hãy viết lại
đoạn lệnh sao cho đúng

GV: Nguyễn Thị Huệ

20


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

Đáp án: Đoạn lệnh không giải quyết được bài toán trên. Có thể thay đổi đoạn lệnh như
sau: Cách 1: Sử dụng while – do viết lại đoạn lệnh:
Readln(x); while (x<-10)or(x>100) do readln(x);
Cách 2: Sử dụng repeat – until viết lại đoạn lệnh:
Repeat readln(x); until (x>=-10)and(x<=100);
Câu ND3.TH.VDT.1: Viết chương trình giải bài toán (sử dụng while – do, repeat –
until), có kiểm tra dữ liệu đầu vào:
Tính và đưa kết quả ra màn hình: Với a là số nguyên và 104>a>=2, xét các bài toán:
cho đến khi <0.0001
Đáp án:
- Sử dụng while – do:
var a,s: real; i:longint;
begin
readln(a);while (a<2)or(a>=1e4) do readln(a);
s:=1/a;i:=1;

while 1/(a+i)>=0.0001 do
begin
s:=s+1/(a+i); inc(i);
end;
writeln('s= ',s:0:2);
readln
end.
- Sử dụng repeat – until:
var a,s: real; i:longint;
begin
repeat readln(a);
until (a>=2)and(a<1e4);
s:=0;i:=0;
repeat
s:=s+1/(a+i);
inc(i);
until 1/(a+i)<=1e-4;
writeln('s= ',s:0:2);
readln
end.
Câu ND3.TH.VDT.2: Viết chương trình tính số fibonacci thứ n (0nguyên dựa vào công thức truy hồi sau. Kiểm tra dữ liệu đầu vào thỏa mãn đề bài (Sử
dụng lệnh lặp while – do, repeat – until)

- Sử dụng while – do
var f1,f2,f, i,n: longint;
begin
readln(n); while (n<=0)or(n>=46) do readln(n);f1:=1; f2:=1;i:=3;
while i<=n do begin f:=f1+f2;
f1:=f2;f2:=f;

inc(i);end;
write('So fibo thu ',n,' la: ',f);readln
end.
- Sử dụng repeat – until
var f1,f2,f, i,n: longint;
begin
repeat readln(n); until (n>0)and(n<46);
f1:=1; f2:=1;
i:=3;
Repeat f:=f1+f2; f1:=f2; f2:=f; inc(i);
until i>n;
write('So fibo thu ',n,' la: ',f);
readln
end.
GV: Nguyễn Thị Huệ

21


Trường THPT Liễn Sơn

Chuyên đề dạy học: Cấu trúc lặp – Tin học 11

Câu ND3.TH.VDT.3: Viết chương trình tìm UCLN(a,b) với a, b là hai số nguyên
dương <=2x109. Đưa ra màn hình UCLN của hai số a, b.
Đáp án:
Var a,b, r: longint;
Begin
Repeat readln(a,b); until (a>0)and(b>0)and(a<=2e9)and(b<=2e9);
While b<>0 do

Begin r:= a mod b; a:=b; b:=r;
End;
Writeln(‘UCLN= ’,a); readln
End.
Câu ND3.TH.VDC.1. Viết chương trình sử dụng cấu trúc lặp while – do, repeat-until

để tính số theo công thức
1/n! <10-8 thì dừng lại.
Đáp án:
- Sử dụng while – do:
var e: real; i, gt: longint;
begin i:=2; e:=2; gt:=2;
while 1/gt>1e-8 do
begin
e:=e+1/gt; inc(i);
gt:=gt*i;
end;
Writeln('e= ',e:0:15);
readln
end.

GV: Nguyễn Thị Huệ

đến khi
- Sử dụng repeat-until
var e: real; i, gt: longint;
begin i:=2; e:=2; gt:=2;
repeat
e:=e+1/gt;
inc(i); gt:=gt*i;

until 1/gt<=1e-8;
Writeln('e= ',e:0:15);
readln
end.

22


*********************************************

4. Tiến trình tổ chức hoạt động học tập theo tiết dạy (45 phút/ti ết)
*********************************************
Tiết 1. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR – DO
I. Mục tiêu bài học
1. Kiến thức
- HS nắm được cấu trúc cú pháp của câu lệnh lặp theo hai dạng: dạng tiến, dạng lùi
- Cách hoạt động của câu lệnh lặp
2. Kĩ năng:
- Phân biệt được hai dạng cấu trúc lặp: dạng tiến, dạng lùi
- Thực hiện viết được một số đoạn lệnh giải bài toán có sử dụng câu lệnh for – do
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:
- Giấy A1: đã có sẵn phần khung của hai sơ đồ khối (chưa điền thông tin) tương ứng

với hai bài tập
- Máy tính, máy chiếu
- Bút màu (đủ cho 4 nhóm), nam châm,..
2. HS:
- Sách, vở, đọc lại kiến thức của SĐK, học bài cũ, đọc trước bài mới
- HS tự phân chia làm 4 nhóm, có một nhóm trưởng. Trong mỗi nhóm chia thành 2
nhóm nhỏ.
III. Tiến trình lên lớp
Hoạt động

Nội dung

Thời gian


Kiểm tra sĩ số
Ổn định lớp
GV phát mỗi nhóm HS (nhóm có từ 5-6HS). Mỗi nhóm 2
Kiểm tra bài cũ
đề. HS tự phân chia thành nhóm nhỏ để làm

6 phút

1. Khởi
động/xuất phát

Đưa ra một số hình ảnh về hành động có yếu tố lặp trong
thực tế

4 phút


2. Hình thành
kiến thức

- Khái niệm lặp
- Cấu trúc câu lệnh lặp for – do
- Hoạt động của câu lệnh for – do.
- Một số ví dụ, lưu ý

20 phút

3. Luyện tập

GV đưa ra một số câu hỏi, HS giải đáp

12 phút

4. Mở rộng

Bài toán lãi suất ngân hàng

Còn lại

IV. Hướng dẫn cụ thể tiến trình dạy học
* Ổn định lớp, kiểm tra sĩ số (30 giây)
* Kiểm tra bài cũ (5 phút 30 giây) – (phát đề, thu đề: 30 giây+ làm bài 3 phút + 2 phút
chữa bài )
GV: Phát mỗi nhóm hai đề khác nhau. Các nhóm làm trong 3 phút
HS: Tự chia làm thành 2 nhóm nhỏ, mỗi nhóm làm 1 đề
Mỗi câu trả lời đúng 2.5 điểm

Đề 1 - Nhóm:…….

Đề 2 - Nhóm:………

Họ tên HS1:……………………………

Họ tên HS1:……………………………

Họ tên HS2: …………………………

Họ tên HS2: ………………………………

Họ tên HS3: …………………………………
Khoanh tròn vào đáp án đúng ở mỗi câu
Câu 1: Em hãy cho biết trong các cú pháp sau
đây, đâu là cú pháp của câu lệnh rẽ nhánh
dạng đủ?
A. If <điều kiện> then <câu lệnh 1>;
B. If <điều kiện> else <câu lệnh 1> then lệnh 2>;
C. If <điều kiện> else <câu lệnh 1>;
D. If <điều kiện> then <câu lệnh 1> else lệnh 2>;
Câu 2: Phát biểu nào sau đây có thể lấy làm
biểu thức điều kiện trong câu lệnh rẽ nhánh?
A. A+B
C. A<>B
B. N mod 10
D. ‘A nho hon B’
Câu 3: Muốn dùng biến X để lưu giá trị nhỏ

hơn trong các giá trị của hai biến A, B ta
không thể dùng cấu trúc đoạn lệnh nào sau
đây:
A. If A
Họ tên HS3: …………………………
Khoanh tròn vào đáp án đúng ở mỗi câu
Câu 1: Em hãy cho biết trong các cú pháp
sau đây, đâu là cú pháp của câu lệnh rẽ
nhánh dạng thiếu?
A. If <điều kiện> then <câu lệnh 1>;
B. If <điều kiện> else <câu lệnh 1> then lệnh 2>;
C. If <điều kiện> else <câu lệnh 1>;
D. If <điều kiện> then <câu lệnh 1> else lệnh 2>;
Câu 2: Phát biểu nào sau đây có thể lấy làm
biểu thức điều kiện trong câu lệnh rẽ nhánh?
A. A+B
C. A/B
B. N mod 10=0 D. ‘A nho hon B’
Câu 3: Muốn dùng biến X để lưu giá trị lớn
hơn trong các giá trị của hai biến A, B ta
không thể dùng cấu trúc đoạn lệnh nào sau
đây:
A. If A>B then X:=A;


B. If A<=B then X:=A else X:=B;
C. X:= B; If A

D. If ACâu 4. Cho đoạn chương trình:
X:= 2; y:= 3;
If x>y then F:= 2*x –y else if x=y then F:= 2*x
else F:= x*x + y*y;
Sau khi thực hiện đoạn chương trình trên, giá trị
của F là:
A. F= 1
B. F= 13
C. F= 4
D. Không xác định được
Đáp án:
Để/Câu
1
2

1
D
A

B. If A>=B then X:=A else X:=B;
C. X:= B; If A>B then X:= A;
D. If ACâu 4. Cho đoạn chương trình:
X:= 3; y:= 2;
If x>y then F:= 2*x –y else if x=y then F:= 2*x
else F:= x*x + y*y;
Sau khi thực hiện đoạn chương trình trên, giá trị
của F là:
A. F= 1

B. F= 13
C. F= 4
D. Không xác định được

2
C
B

3
D
A

4
B
C

Bài mới
1/ Hoạt động 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 cấu trúc lặp
(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, Projector, máy tính,…
(4) Sản phẩm: HS có nhu cầu tìm hiểu về cấu trúc lặp
Nội dung hoạt động – Thời gian 4 phút
Hoạt động của GV

Hoạt động của HS

? Em hãy lấy ví dụ về hành động mà
em cho là lặp đi lặp lại trong thực tế?
GV đưa ra ví dụ:

VD1: Chạy thể dục:
? Em có nhận xét gì trong VD này?

HS lắng nghe và trả lời
- Hoạt động ăn cơm hàng ngày
- Tắm giặt
- ……………………………………………..
……………………………………………….
Quan sát, lắng nghe và ghi bài
Quan sát và tìm câu trả lời

TH1:
- Giống nhau: thao tác lặp – chạy vòng quanh
sân
- Khác nhau: số lần lặp
A: Số lần lặp là 10
B : Số lần lặp chưa biết

TH2:
VD2: Múc nước đổ vào thùng:
? Em có nhận xét gì khi?
- TH1: Biết được dung tích của ca
Lắng nghe
nước và thùng nước