modul 3 , bài tập cuối khóa Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ). Hiểu câu lệnh ghép. 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 từng loại cấu trúc lặp với tình huống cụ thể. Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản.
Trang 1PHÂN TÍCH, XÂY DỰNG KẾ HOẠCH - BỘ CÔNG CỤ ĐÁNH GIÁ (ĐỊNH KÌ)
CHỦ ĐỀ : GIẢI QUYẾT VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH – LỚP 10
Chủ đề con: Lập trình cơ bản
I Nội dung: Các câu lệnh điều khiển trong lập trình Pascal
- ND 1: Câu lệnh rẽ nhánh.
- ND 2: Lặp với số lần biết trước và câu lệnh for - do.
- ND 3: Lặp với số lần chưa biết trước và câu lệnh while - do.
Quy trình kiểm
1 Phân tích
mục đích đánh
giá, MT học tập
đánh giá
- Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ)
- Hiểu câu lệnh ghép
- 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 từng loại cấu trúc lặp với tình huống cụ thể
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
- Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản
- 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
- Phẩm chất - Năng lực hướng tới :
+ Phẩm chất : Trung thực, chăm chỉ.
+ Năng lực đặc thù: NLc - Viết được chương trình có sử dụng các lệnh rẽ
nhánh khuyết, rẽ nhánh đầy đủ, cấu trúc lặp và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản
2 Xây dựng kế hoạch công cụ kiểm tra đánh giá (ma trận)
Yêu cầu cần
đạt
1.1 Câu lệnh rẽ
nhánh dạng
thiếu và dạng
đủ
Biết cấu trúc của câu lệnh rẽ nhánh dạng thiếu và dạng đủ
Giải thích được hoạt động của cấu trúc rẽ nhánh dạng thiếu, dạng đủ trong tình huống
cụ thể
HS phát hiện và sửa được lỗi ngữ nghĩa khi quan sát thao tác giải quyết vấn đề
Sử dụng được nhiều đơn vị kiến thức và
có suy luận trung gian
Phiếu trả lời Các câu hỏi, bài tập ra
quyết định, dạng trắc nghiệm khách quan gắn với
Trang 2tình huống, bài toán
1.2 Câu lệnh
lặp với số lần
biết trước
Biết được cấu trúc của câu lệnh lặp với số lần biết trước for – do dạng tiến
và lùi
Giải thích được hoạt động của cấu trúc lặp với
số lần biết trước trong tình huống
cụ thể
HS phát hiện và sửa được lỗi ngữ nghĩa khi quan sát thao tác giải quyết vấn đề
Sử dụng được nhiều đơn vị kiến thức và
có suy luận trung gian
Phiếu trả lời Các câu hỏi, bài tập ra
quyết định, dạng trắc nghiệm khách quan gắn với tình huống, bài toán
1.3 Câu lệnh
lặp với số lần
chưa biết trước
Biết được cấu trúc câu lệnh lặp với số lần chưa biết trước while
- do
Giải thích được hoạt động của cấu trúc lặp với
số lần chưa biết trước trong tình huống cụ thể
HS phát hiện và sửa được lỗi ngữ nghĩa khi quan sát thao tác giải quyết vấn đề
Sử dụng được nhiều đơn vị kiến thức và
có suy luận trung gian
Phiếu trả lời Các câu hỏi, bài tập ra
quyết định, dạng trắc nghiệm khách quan gắn với tình huống, bài toán
Bộ câu hỏi công cụ :
Câu 1: Trong Pascal, cấu trúc rẽ nhánh dạng thiếu là
A if <điều kiện> then <câu lệnh>;
B if <điều kiện> then <câu lệnh>
C if <điều kiện> do <câu lệnh>;
D if <câu lệnh> then <điều kiện>;
(Biết cấu trúc của câu lệnh rẽ nhánh dạng thiếu)
Câu 2: Trong Pascal, cấu trúc rẽ nhánh dạng đủ là
A if <điều kiện> else <câu lệnh 1> then <câu lệnh 2>;
B if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
C if <điều kiện> do <câu lệnh 1> else <câu lệnh 2>;
D if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>
(Biết cấu trúc của câu lệnh rẽ nhánh dạng đủ)
Câu 3: Hãy giải thích hoạt động của câu lệnh sau đây và cho biết nó thực hiện công việc gì?
if a<0 then write(‘a la so am’);
(Giải thích được hoạt động của câu lệnh rẽ nhánh khuyết trong một tình huống cụ thể)
Đáp án:
Câu lệnh kiểm tra a < 0 thì thông báo ra mà hình ‘a la so am’, trường hợp ngược lại không thông báo nội dung gì ra màn hình
Câu 4: Đoạn chương trình sau thực hiện tìm max đúng hay sai?
Trang 3if a<b then max:=a else max:=b;
(Phát hiện lỗi ngữ nghĩa khi quan sát thao tác giải quyết vấn đề)
Đáp án:
Đoạn chương trình tìm max là sai, đây là đoạn chương trình tìm min Lỗi ngữ nghĩa trong thao tác xét nếu a<b thì gán max:=a; nếu không thì gán max:=b; cần phải sửa lại là: if a<b then max:=b else max:=a;
Câu 5: Đoạn chương trình sau in ra màn hình thông tin gì?
a:=1; b:=5;
if a<b then a:=a+1 else a:=a-1;
if b mod a = 0 then b:=b+2 else b:=b-2;
write(a, ‘ ’, b);
(Có nhiều đơn vị kiến thức và có suy luận trung gian)
Câu 6: Trong Pascal, cấu trúc lặp for-do dạng tiến là:
A for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
B for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>
C for <biến đếm>:=<giá trị đầu> downto <giá trị cuối> do <câu lệnh>;
D for <biến đếm>=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
(Biết cấu trúc của câu lệnh for - do dạng tiến)
Câu 7: Trong Pascal, cấu trúc lặp for-do dạng lùi là:
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> downto <giá trị đầu> do <câu lệnh>;
D for <biến đếm>:=<giá trị cuối> to <giá trị đầu> do <câu lệnh>;
(Biết cấu trúc của câu lệnh for - do dạng lùi)
Câu 8: Hãy giải thích hoạt động của câu lệnh sau đây và cho biết nó thực hiện công việc gì?
s:=0; for i := 1 to 100 do if i mod 2 = 0 then s:=s+i;
A Tính tổng các số chẵn trong đoạn [1,100] B Tính tổng các số lẻ trong đoạn [1,100].
(Giải thích được hoạt động của câu lệnh lặp for-do trong một tình huống cụ thể)
Câu 9: Đoạn chương trình sau thực hiện đếm các số lẻ trong đoạn [1,100] đúng hay sai?
d:=0; for i := 1 to 100 do if i mod 2 <> 0 then d:=d+i;
(Phát hiện lỗi ngữ nghĩa khi quan sát thao tác giải quyết vấn đề)
Đáp án:
Đoạn chương trình tìm thực hiện đếm các số lẻ trong đoạn [1,100] là sai, đây là đoạn chương trình tìm tính tổng các số lẻ trong đoạn [1,100] Lỗi ngữ nghĩa trong thao tác gán d:=d+i; phải sửa lại
là d:=d+1;
Câu 10: Đoạn chương trình sau in ra màn hình thông tin gì?
d:=0; for i := 1 to 10 do if i mod 2 = 0 then d:=d+1;
for i:=1 to 10 do if i mod 3 = 0 then d:=d+1;
write(d);
(Có nhiều đơn vị kiến thức và có suy luận trung gian)
Câu 11: Trong Pascal, cấu trúc lặp while-do là:
A while <điều kiện> then <câu lệnh>; B while <điều kiện> to <câu lệnh>;
C while <điều kiện> do <câu lệnh>; D while <điều kiện> do <câu lệnh>
(Biết cấu trúc của câu lệnh while - do)
Câu 12: Hãy giải thích hoạt động của câu lệnh sau đây và cho biết nó thực hiện công việc gì?
Trang 4s:=0; i:=1;
while i<=100 do
begin
s:=s+i;
i:=i+2;
end;
(Giải thích được hoạt động của câu lệnh lặp for-do trong một tình huống cụ thể)
Câu 13: Đoạn chương trình sau thực hiện đếm các số chẵn trong đoạn [1,100] đúng hay sai?
d:=0; i:=1;
while i<=100 do
begin
d:=d+1;
i:=i+2;
end;
(Phát hiện lỗi ngữ nghĩa khi quan sát thao tác giải quyết vấn đề)
Đáp án:
Đoạn chương trình tìm thực hiện đếm các số chẵn trong đoạn [1,100] là sai, đây là đoạn chương trình đếm các số lẻ trong đoạn [1,100] Lỗi ngữ nghĩa trong thao tác gán khởi tạo i:=1; phải sửa lại là
i:=2;
Câu 14: Đoạn chương trình sau in ra màn hình kết quả gì?
i:=1;
while i<=10 do
begin
if (i mod 2 = 0) and (i mod 5 <> 0) then write(i);
i:=i+10;
end;
write(i);
(Có nhiều đơn vị kiến thức và có suy luận trung gian)