- Biết cấu trúc lặp với số lần chưa biết trước để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện được thỏa mãn - Hiểu được hoạt động của câu lệnh lặp với s[r]
Trang 1Ngày kiểm tra: 8a: /03/2018
8b: /03/2018
Tiết 53 KIỂM TRA 1 TIẾT - TIN HỌC 8 THỜI GIAN: 45 PHÚT
I Mục đích kiểm tra
1) Về kiến thức
Kiểm tra mức độ đạt chuẩn KTKN của học sinh các kiến thức cơ bản về lập trình các câu lệnh lặp biết trước và chưa biết trước trong ngôn ngữ lập trình Pascal
- Biết được cú pháp câu lệnh lặp và khai báo biến trong chương trình
- Hiểu được hoạt động của câu lệnh lặp
- Biết cấu trúc lặp với số lần chưa biết trước để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện được thỏa mãn
- Hiểu được hoạt động của câu lệnh lặp với số lần chưa biết trước trong ngôn ngữ lập trình cụ thể
- Sắp xếp được hoàn chỉnh chương trình tính tổng N số tự nhiên
- Viết được cú pháp và nêu được hoạt động của câu lệnh lặp For do
- Vận dụng kiến thức đã học để viết hoàn chỉnh hoàn chỉnh chương trình từ thuật toán
2) Về kỹ năng:
- Rèn kỹ năng tư duy, so sánh, đánh giá tổng hợp
- Biết sửa lỗi chương trình đơn giản trong Pascal
3) Về thái độ:
- Giáo dục học sinh thái độ tự giác, nghiêm túc, độc lập, sáng tạo trong quá trình làm bài
II Hình thức kiểm tra
1) Hình thức: TNKQ – Tự luân
2) Học sinh: Làm bài trên lớp
III Ma trận đề
Cấp độ
Tên
chủ đề
Nhận biết Thông hiểu Vận dụng
Cộng Cấp độ thấp Cấp độ cao
Câu lệnh
lặp
For to do
- Biết được cú pháp câu lệnh lặp và khai báo biến trong chương trình
Viết được cú pháp và nêu
- Hiểu được hoạt động của câu lệnh lặp
- Sắp xếp được hoàn chỉnh chương trình tính tổng N số
Trang 2được hoạt động của câu lệnh lặp For do
tự nhiên
Số câu
Số điểm
Tỷ lệ %
2 0,5 5%
1 2 20%
2 0,5 5%
1 3 30%
6 6 50%
Lặp với
số lần
chưa biết
trước
While do
Biết cấu trúc lặp với số lần chưa biết trước
để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện được thỏa mãn
Hiểu được hoạt động của câu lệnh lặp với số lần chưa biết trước trong ngôn ngữ lập trình cụ thể
- Vận dụng kiến thức đã học để viết hoàn chỉnh hoàn chỉnh chương trình từ thuật toán
Số câu
Số điểm
Tỷ lệ %
2 0,5 5%
2 0,5 5%
1 3 40%
5 4 50%
T số câu
T.điểm
Tỷ lệ %
4 1 10%
1 2 20%
4 1 10%
1 3 30%
1 3 30%
11 10 100%
IV Nội dung kiểm tra
1) Kiểm tra sĩ số: 8a :………… 8b :………
2) Nội dung
ĐỀ 1
A Trắc nghiệm (2 điểm)
Khoanh tròn vào chữ cái đầu em cho là đúng
Câu 1: Trong ngôn ngữ lập trình Pascal, câu lệnh lặp với số lần chưa biết trước là:
A If (Điều kiện) then (Câu lệnh);
B Var i,n: Integer;
C While (điều kiện) do (câu lệnh);
D For (Biến đếm):=(Giá trị đầu) downto (Giá trị cuối) do (câu lệnh);
Câu 2: Trong câu lệnh lặp: For (Biến đếm):=(Giá trị đầu) to (Giá trị cuối) do (câu
lệnh); Khi thực hiện ban đầu Biến đếm nhận giá trị = Giá trị đầu, sau mỗi vòng lặp
biến đếm tăng thêm:
A 1 đơn vị B 2 đơn vị C 3 đơn vị D 4 đơn vị
Câu 3: Đâu là hoạt động lặp với số lần chưa biết trước?
A Hàng ngày em đi học
Trang 3B Một tuần trường em tổ chức chào cờ 1 lần.
C Ngày em đánh răng ba lần
D Em sẽ đến nhà bà ngoại chơi vào hôm cả bố và mẹ đi vắng
Câu 4: Câu lệnh pascal nào sau đây là hợp lệ?
A For i=1 to 10 do writeln(‘A’) B For i : = 1 to 10 do writeln(‘A’);
C For i:=5 to 30 do; writeln(‘A’) D For i:= 10 to 1 do writeln(‘A’);
C©u 5: Trong các câu lệnh lặp Pascal sau đây, câu nào đúng
A While i= 1 do T:=10; B While (n mod i <> 0) ; do i:= i+ 1 ;
C While 1 = 1; do Writeln (‘Dung’); D While x<=y do; Writeln (‘y khong nho hon
x’);
C©u 6: Sau khi thực hiện đoạn chương trình sau, giá trị của biến a bằng bao nhiêu? a:=0 ; for i:= 1 to 3 do a:= a+i;
Câu 7: Trong câu lệnh lặp for i:=1 to 10 do begin…end; câu lệnh ghép được thực
hiện bao nhiêu lần (nói cách khác, bao nhiêu vòng lặp được thực hiện?)
Câu 8: Trong ngôn ngữ Pascal, đoạn chương trình sau thực hiện bao nhiêu vòng
lặp?
S:=2; n:=0; While s<=10 do Begin n:=n+1; s:= s+ n end;
B Tự luận (8 điểm)
Câu 1 (2đ): Em cho biết cú pháp câu lệnh lặp For do và hoạt động của câu lệnh
lặp
Câu 2: (3đ) Em hãy sắp xếp chương trình tính tổng N số tự nhiên sau cho phù hợp? Var N, i: integer;
Write(‘Nhap so N=’); s:=0;
S: Longint; readln(n);
For i:=1 to n do
Begin
Program tinh_tong;
S:=s+i;
Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s);
End
Readln
Câu 3:(3đ) Em hãy cho biết thuật toán máy tính sẽ thực hiện bao nhiêu vòng lặp? Kết thúc giá trị của S bằng bao nhiêu? Viết chương trình bằng Pascal để mô tả
thuật toán đó
B1: S 20, n 1;
B2: Nếu S ≥ 5, chuyển B4
B3: n N + 1, S S - n và quay lại B2
Trang 4B4: Thông báo S và kết thúc thuật toán.
ĐỀ 2
A Trắc nghiệm (2 điểm)
Khoanh tròn vào chữ cái đầu em cho là đúng
Câu 1: Trong ngôn ngữ lập trình Pascal, câu lệnh lặp với số lần chưa biết trước là:
A If (Điều kiện) then (Câu lệnh);
B Var i,n: Integer;
C While (điều kiện) do (câu lệnh);
D For (Biến đếm):=(Giá trị đầu) downto (Giá trị cuối) do (câu lệnh);
Câu 2: Trong câu lệnh lặp: For (Biến đếm):=(Giá trị đầu) to (Giá trị cuối) do (câu
lệnh); Khi thực hiện ban đầu Biến đếm nhận giá trị = Giá trị đầu, sau mỗi vòng lặp
biến đếm tăng thêm:
A 1 đơn vị B 2 đơn vị C 3 đơn vị D 4 đơn vị
Câu 3: Đâu là hoạt động lặp với số lần chưa biết trước?
A Hàng ngày em đi học
B Một tuần trường em tổ chức chào cờ 1 lần
C Ngày em đánh răng ba lần
D Em sẽ đến nhà bà ngoại chơi vào hôm cả bố và mẹ đi vắng
Câu 4: Câu lệnh pascal nào sau đây là hợp lệ?
A For i=1 to 10 do writeln(‘A’) B For i : = 1 to 10 do writeln(‘A’);
C For i:=5 to 30 do; writeln(‘A’) D For i:= 10 to 1 do writeln(‘A’);
C©u 5: Trong các câu lệnh lặp Pascal sau đây, câu nào đúng
A While i= 1 do T:=10; B While (n mod i <> 0) ; do i:= i+ 1 ;
C While 1 = 1; do Writeln (‘Dung’); D While x<=y do; Writeln (‘y khong nho hon
x’);
C©u 6: Sau khi thực hiện đoạn chương trình sau, giá trị của biến a bằng bao nhiêu? a:=0 ; for i:= 1 to 3 do a:= a+i;
Câu 7: Trong câu lệnh lặp for i:=1 to 10 do begin…end; câu lệnh ghép được thực
hiện bao nhiêu lần (nói cách khác, bao nhiêu vòng lặp được thực hiện?)
Câu 8: Trong ngôn ngữ Pascal, đoạn chương trình sau thực hiện bao nhiêu vòng
lặp?
S:=2; n:=0; While s<=10 do Begin n:=n+1; s:= s+ n end;
B Tự luận (8 điểm)
Câu 1 (2đ): Em cho biết cú pháp câu lệnh lặp For do và hoạt động của câu lệnh
lặp
Câu 2: (3đ) Em hãy sắp xếp chương trình tính tổng N số tự nhiên sau cho phù hợp?
Trang 5Var N, i: integer;
Write(‘Nhap so N=’); s:=0;
S: Longint; readln(n);
For i:=1 to n do
Begin
Program tinh_tong;
S:=s+i;
Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s);
End
Readln
Câu 3:(3đ) Em hãy cho biết thuật toán máy tính sẽ thực hiện bao nhiêu vòng lặp? Kết thúc giá trị của S bằng bao nhiêu? Viết chương trình bằng Pascal để mô tả
thuật toán đó
B1: S 0, n 2;
B2: Nếu S≥5, chuyển B4
B3: S S + n và quay lại B2
B4: Thông báo S và kết thúc thuật toán
HƯƠNG DẪN CHẤM VÀ THANG ĐIỂM
ĐỀ 1
A Trắc nghiệm khách quan (2 điểm)
Điểm 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25
B Tự luận (8 điểm)
Câu
Câu 1
- Cú pháp:
For <biến đếm>:=<Giá trị đầu> To <Giá trị cuối> Do <Câu lệnh>;
- Hoạt động:
B1: Biến đếm được gán bằng giá trị đầu
B2: Nếu biến đếm <= giá trị cuối thì thực hiện câu lệnh sau đó tăng
biến đếm lên một đơn vị và thực hiện tiếp Nếu biến đếm > GTC
thì thoát khỏi vòng lặp FOR
1
1
Câu 2 Sắp xếp chương trình tính tổng
Program tinh_tong;
Var N, i: integer;
S: Longint;
Begin
0,5
Trang 6Write(‘Nhap so N=’); readln(n);
s:=0;
For i:=1 to n do S:=s+i;
Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s);
Readln
End
0,5 1 1
Câu 3
- Số vòng lặp là 5, giá trị của S = 0;
- Chương trình mẫu
Program bai3;
Var s,n:integer;
Begin
S:=20; n:=1;
While s < 5 Do
Begin
N:=n +1; S:= S - n;
End;
Writeln(‘Gia tri cua s la’,s);
Readln;
End
0,5
0,25 0,25 1,5
0,5
ĐỀ 2
A Trắc nghiệm khách quan (2 điểm)
Điểm 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25
B Tự luận (8 điểm)
Câu
Câu 1
- Cú pháp:
For <biến đếm>:=<Giá trị đầu> To <Giá trị cuối> Do <Câu lệnh>;
- Hoạt động:
B1: Biến đếm được gán bằng giá trị đầu
B2: Nếu biến đếm <= giá trị cuối thì thực hiện câu lệnh sau đó tăng
biến đếm lên một đơn vị và thực hiện tiếp Nếu biến đếm > GTC
thì thoát khỏi vòng lặp FOR
1
1
Câu 2 Sắp xếp chương trình tính tổng
Program tinh_tong;
Trang 7S: Longint;
Begin
Write(‘Nhap so N=’); readln(n);
s:=0;
For i:=1 to n do S:=s+i;
Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s);
Readln
End
0,5 1 1
Câu 3
- Số vòng lặp là 3, giá trị của S = 6;
- Chương trình mẫu
Program bai3;
Var s,n:integer;
Begin
S:=0; n:=2;
While s < 5 Do
S:= S + n;
Writeln(‘Gia tri cua s la’,s);
Readln;
End
0,5
0,25 0,25 1,5 0,5