A. TRẮC NGHIỆM: (2 điểm) Hãy khoanh tròn ý đúng nhất.
Câu 1:Trong ngôn ngữ Pascal, về mặt cú pháp câu lệnh nào sau đây đúng với cấu trúc lặp For ..to..do
A. for i:= 4 to 1 do writeln(‘A’); B. for i= 1 to 10 writeln(‘A’);
C. for i:= 1 to 10 do writeln(‘A’); D. for i to 10 do writeln(‘A’);
Câu 2:Trong câu lệnh lặp for i:=1 to 22 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?)
A. Không lần nào B. 22 lầnC. 20 lần D. 30 lần
Câu 3:Khi thực hiện đoạn chương trình sau: n:=100; T:=10;
While T>20 do begin T:=T – 10; n:=n+5; end;
Hãy cho biết giá trị của biến n bằng bao nhiêu?
A. 10 B. 100 C. 16 D. 15
Câu 4:Đoạn chương trình này thực hiện bao nhiêu vòng lặp
S:=0;A:=2;while A<5 do S:=S+A;
A. 1 vòng lặp B. Lặp vô hạn
C. 25 vòng lặp D. Không có vòng lặp nào
Câu 5:Hãy phân biệt câu lệnh trong chương trình trên đúng hay sai và đánh dấu “x” vào ô ở cột tương ứng trong bảng dưới đây?
Câu | Đúng | Sai |
a. While a<=b do writeln (‘A’); |
|
|
b. For i:=10 to 1 do writeln(‘A’); |
|
|
c. Var X: array[1..10] of integer; |
|
|
d. Var X: array[15..8] of integer; |
|
|
B. TỰ LUẬN: (8,0 điểm)
Câu 1: Hãy điền đúng , sai (đánh dấu x) và sửa chương trình sau: (3điểm)
Viết chương trình tính H và tìm n biết H= và H >1.85
Câu lệnh | Đ | S | Sửa lỗi |
Use_Crt; |
|
|
|
Var I, n,H :interge; |
|
|
|
Begin; |
|
|
|
H:=1; n:=0; |
|
|
|
clrscr; |
|
|
|
while H<= 1.85 do |
|
|
|
begin n:=n+2; |
|
|
|
if n mod 2 =1 then H:= H+1/n; |
|
|
|
End. |
|
|
|
writeln('so can tim la ,n,’tong la:,H); |
|
|
|
readln end; |
|
|
|
Câu 2: (5 điểm)
a) Hãy mô tả thuật toán chương trình nhập n số nguyên từ bàn phím. Đếm xem có bao nhiêu số chẵn và tính tổng của các số chẵn. Biết N cũng được nhập từ bàn phím
b)Viết chương trình nhập dãy số nguyên từ bàn phím. Đếm xem có bao nhiêu số chẵn và tính tổng của các số chẵn. Biết N cũng được nhập từ bàn phím
Ai giúp mk với
Câu 5:
a) Đúng
b) Sai
c) Đúng
d) Sai
II: Tự luận
Câu 2:
a) Mô tả thuật toán
-Bước 1: Nhập n và nhập dãy số
-Bước 2: dem←0; i←1; t←0;
-Bước 3: Nếu a[i] mod 2=0 thì dem←dem+1 và t←t+a[i];
-Bước 4: i←i+1;
-Bước 5: Nếu i<=n thì quay lại bước 3
-Bước 6: Xuất t và dem
-Bước 7: Kết thúc
II: Tự luận
Câu 2:
b) uses crt;
var a:array[1..100]of integer;
i,n,t,dem:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
t:=0;
dem:=0;
for i:=1 to n do
if a[i] mod 2=0 then
begin
t:=t+a[i];
inc(dem);
end;
writeln('So so chan la: ',dem);
writeln('Tong cac so chan la: ',t);
readln;
end.