MỤC ĐÍCH YÊU CẦU:- Kiểm tra kiến thức về: lệnh lặp For .... Do, cách khai báo và sử dụng biến mảng, nhập và in các phần tử của dãy số.. - Vận dụng những kiến thức đã học để hồn thành bài
Trang 1I MỤC ĐÍCH YÊU CẦU:
- Kiểm tra kiến thức về: lệnh lặp For Do và While Do, cách khai báo và sử dụng biến mảng, nhập và in các phần tử của dãy số
- Vận dụng những kiến thức đã học để hồn thành bài kiểm tra
- Nghiêm túc trong giờ kiểm tra
II MA TRẬN ĐỀ:
NỘI DUNG Nhận biết CÁC MỨC ĐỘ CẦN ĐẠT Thơng hiểu Vận dụng TỔNG
Câu lệnh điều kiện
Lặp với số lần biết trước
Lặp với số lần chưa biết
trước (While … Do)
2
0.75
3
1.0
1
0.5
1
2.0
7
4.25
4
1.25
2
0.75
1
3.0
7
5.0
III ĐỀ BÀI:
Trang 2Đề chẳn
A TRAÉC NGHIEÄM: (5 ñieåm)
Khoanh tròn vào chữ cái đứng trước câu trả lời đúng: (Từ câu 1 đến câu 8) (4 điểm)
Câu 1: Phát biểu nào sau đây là đúng ?
A Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thoả mãn
B Chỉ ngôn ngữ lập trình Pascal mới có các câu lệnh lặp để thể hiện cấu trúc lặp
C Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh while…do
D Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp chưa biết trước bằng câu lệnh For…do
Câu 2: Lệnh lặp nào sau đây là đúng?
A For <biến đếm>= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>;
B For <biến đếm>:= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>;
C For <biến đếm>:= <giá trị cuôí> to <giá trị đầu> do <câu lệnh>;
D For <biến đếm>: <giá trị đầu> to <câu lệnh> do <giá trị cuối>;
Câu 3: Câu lệnh lặp while…do có dạng đúng là:
A While <điều kiện> do; <câu lệnh>; B While <điều kiện> <câu lệnh> do;
C While <câu lệnh> do <điều kiện>; D While <điều kiện> do <câu lệnh>;
Câu 4: Để tính tổng S=1+2+3+ 4+ 5 + … + n; em chọn đoạn lệnh:
A s:=0; i:=0;
While i<=n do
S:=S + 1;
B s:=0; i:=0;
While i<=n do
If (I mod 2)= 1 Then S:=S + i;
C s:=0; i:=0;
While i<=n do
begin
S:=S + i;
I:=i+1;
End;
D s:=0; i:=0;
While i<=n do begin
if (i mod2)=1 Then S:=S + i;
Else i:=i+1;
End;
Câu 5 : Trong các câu lệnh sau, câu lệnh nào đúng ?
A For i := 1 to 100 do Writeln ('A'); B For i := 1.9 to 20 do Writeln ('A);
C For i := 100 to 1 do Writeln ('A'); D For i = 1 to 100 do Writeln ('A');
Câu 6: Cho S và i là biến nguyên Khi chạy đoạn chương trình: Kết quả in lên màn hình là của s là :
s:=0; i:=1 while i<=5 do i:=i+1; s := s+i; writeln(s);
Câu 7: Trong ngôn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:
A If a=5 then a:=a+1; else a:=a+2; B If a=5 then a:=a+1else a:=a+2
C If a=5 then a=a+1; else a=a+2; D If a=5 then a:=a+1else a:=a+2;
Trang 3a) Trong Pascal, While do
b) Trong Pascal, For to do
B TỰ LUẬN: (5 điểm) Câu 1: (3 điểm) Viết chương trình in các số từ 1 đến 30 Câu 2: (2 điểm) Viết chương trình tính tổng S =1 1 1 1
2 3 4+ + + +n với n là số nguyên nhập từ bàn phím.
Trang 4
Đề lẻ
A TRAÉC NGHIEÄM: (5 ñieåm)
Khoanh tròn vào chữ cái đứng trước câu trả lời đúng: (Từ câu 1 đến câu 8) (4 điểm)
Câu 1: Trong ngôn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:
A If a=5 then a:=a+1; else a:=a+2; B If a=5 then a:=a+1else a:=a+2;
C If a=5 then a=a+1; else a=a+2; D If a=5 then a:=a+1else a:=a+2
Câu 2: Câu lệnh lặp while…do có dạng đúng là:
A While <điều kiện> do; <câu lệnh>; B While <điều kiện> <câu lệnh> do;
C While <câu lệnh> do <điều kiện>; D While <điều kiện> do <câu lệnh>;
Câu 3: Để tính tổng S=1+2+3+ 4+ 5 + … + n; em chọn đoạn lệnh:
A s:=0; i:=0;
While i<=n do
S:=S + 1;
B s:=0; i:=0;
While i<=n do
If (I mod 2)= 1 Then S:=S + i;
C s:=0; i:=0;
While i<=n do
begin
S:=S + i;
I:=i+1;
End;
D s:=0; i:=0;
While i<=n do begin
if (i mod2)=1 Then S:=S + i;
Else i:=i+1;
End;
Câu 4: Lệnh lặp nào sau đây là đúng?
A For <biến đếm>= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>;
B For <biến đếm>:= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>;
C For <biến đếm>:= <giá trị cuôí> to <giá trị đầu> do <câu lệnh>;
D For <biến đếm>: <giá trị đầu> to <câu lệnh> do <giá trị cuối>;
Câu 5 : Trong các câu lệnh sau, câu lệnh nào đúng ?
A For i := 1 to 100 do Writeln (i); B For i := 1.9 to 20 do Writeln (i);
C For i := 100 to 1 do Writeln (i); D For i = 1 to 100 do Writeln (i);
Câu 6: Phát biểu nào sau đây là đúng ?
A Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thoả mãn
B Chỉ ngôn ngữ lập trình Pascal mới có các câu lệnh lặp để thể hiện cấu trúc lặp
C Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh while…do
D Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp chưa biết trước bằng câu lệnh For…do
Câu 7: Cho S và i là biến nguyên Khi chạy đoạn chương trình: Kết quả in lên màn hình là của s là :
s:=0; i:=1 while i<=5 do i:=i+1; s := s+i; writeln(s);
Trang 5c) Trong Pascal, While do
d) Trong Pascal, For to do
B TỰ LUẬN: (5 điểm) Câu 1: (3 điểm) Viết chương trình in các số từ 1 đến 30 Câu 2: (2 điểm) Viết chương trình tính tổng S =1 1 1 1
2 3 4+ + + +n với n là số nguyên nhập từ bàn phím.
Trang 6
Câu hỏi 1 2 3 4 5 6
* Mỗi phương án đúng được 0,25 điểm (2 điểm)
Trang 7Câu Đáp án Điểm
1
Program bai1;
Var i : integer; s:longint;
Begin
s:= 0; i:= 1;
Write(‘Nhap n = ‘); Readln(n);
While i<=n do
Begin
s:=s+i;
i:=i+1;
end;
Writeln(‘Tổng cần tìm là:’,s:5);
Readln;
End
0.25
0.25 0.25 0.25
0.25 0.25 0.5
2
a Cho phép nhập vào 1 dãy số gồm n số (với n>1 và nhập từ bàn
phím)
Program bai2;
Uses crt;
Var A : array[1 100] of integer ;
Max, i, n: integer;
Begin
Write(‘Nhập số phần tử của dãy n = ‘); Readln(n);
Writeln(‘Nhập các giá trị phần tử ‘);
For i:= 1 to n do
Begin
Write(‘A[‘, i,’]=’);
Readln(A[i]);
End;
0.5 0.25 0.25
0.25
b In ra màn hình số lớn nhất.
Max:=A[1];
For i:= 2 to n Do
If Max < A[i] then Max:=A[i];
Writeln(‘So lon nhat la Max = ‘, Max);
0.25
0.25 0.25
c In ra màn hình những số lớn hơn 5 và không chia hết cho 2.
For i:= 1 to n DO
If (A[i] > 5) and (A[i] mod 2 <> 0) then
Write(‘ ‘ , A[i])
Readln;
End
0.25 0.5 0.25
Trang 8Lớp Sĩ số
Giỏi
(8-10) (6.5-7.9)Khá (5-6.4)TB (3.5-4.9)Yếu (0-3.4)Kém
8A1
8A2
8A3
VI NHẬN XÉT, BỔ SUNG.