$I$
1. C
2. A
3. A
4. Không đáp án
5. D
6. B
7. A
8. D
9. C
10. A
$II$
Câu 1:
Cú pháp: while <điều kiện> do <câu lệnh>;
Hoạt động:
+ Xét điều kiện, nếu điều kiện đúng, thực hiện và lặp đến khi nào điều kiện sai.
+ Nếu từ đầu điều kiện đã sai thì kết thúc chương trình.
+ Trường hợp nữa là lặp $\infty$ có nghĩa là lặp vô tận, vô cực, là điều kiện luôn đúng.
Sơ đồ: (hình)
Câu 2:
a.
Do k:=k+j không nằm trong vòng lặp nên chỉ thực hiện j:=j+2;
Ban đầu j=2; k=3.
Lần 1: j=j+2=2+2=4
Lần 2: j=j+2=4+2=6
Lần 3: j=j+2=6+2=8
Lần 4: j=j+2=8+2=10
Lần 5: j=j+2=10+2=12
k=k+j=3+12=15
$\to$ j=12; k=15.
b.
Ban đầu S=20; n=0
Lần 1 S>5 (TM): n=n+3=0+3=3; S=S-n=20-3=17
Lần 2 S>5 (TM): n=n+3=3+3=6; S=S-n=17-6=11
Lần 3 S>5 (KTM): n=n+3=6+3=9; S=S-n=11-9=2
Thực hiện 3 lần và S=2.
Câu 3:
uses crt;
var a:array[1..100] of longint;
n,i:integer;
begin
clrscr;
write('Nhap so luong phan tu: '); readln(n);
for i:=1 to n do
begin
write('Nhap phan tu thu ',i,': '); readln(a[i]);
end;
write('Day so vua nhap: ');
for i:=1 to n do write(a[i],' '); writeln;
write('Cac so duong: ');
for i:=1 to n do if a[i]>0 then write(a[i],' ');
readln;
end.