Cho đoạn chương trình sau: s := 0; i := 1 while s <= 10 do begin i := i + 1; s := s + i; end; Cho biết câu lệnh while dừng khi s bằng bao nhiêu?
1) Trong đoạn lệnh sau đây, chương trình đã thực hiện bao nhiêu vòng lặp?
S:=0; i:=0;
While S<=20 do
Begin
S:=S+i; i:=i+1;
end;
a) 2 b) 4 c) 8 d) vô hạn
2) Trong đoạn lệnh sau đây, chương trình đã thực hiện bao nhiêu vòng lặp?
x:=0;
For i:=1 to 5 do x:=x+3;
a) 1 b) 3 c) 5 d) 15
3) Sau khi thực hiện đoạn chương trình sau, giá trị của biến x bằng bao nhiêu?
x:=0;
For i:=1 to 5 do x:=x+3;
a) 1 b) 3 c) 5 d) 15
4) Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu?
S:=0; i:=0;
While S<=20 do
Begin S:=S+i; i:=i+1; end;
a) 18 b) 21 c) 25 d) 52
5) Đoạn chương trình sau đây đã mắc phải lỗi gì?
a:=5;
While a<=6 do Writeln(‘A’);
a) Sử dụng sai cú pháp lệnh While ... do
b) Cho biết trước số lần lặp
c) Không cho biết trước số lần lặp
d) Lặp vô hạn
6) Trong ngôn ngữ lập trình Pascal, câu lệnh For ... do là lệnh:
a) Không cho biết trước số lần lặp
b) Cho biết trước số lần lặp
c) Biết trước hay không biết trước số lần lặp đều sử dụng được
d) Cả a, b, c đều sai
7) Trong ngôn ngữ lập trình Pascal, câu lệnh lặp được dùng để thể hiện:
a) Cấu trúc lặp c) Cấu trúc điều kiện
b) Cấu trúc rẽ nhánh d) Cấu trúc mảng
8) Trong ngôn ngữ lập trình Pascal, lệnh lặp với số lần chưa biết trước là câu lệnh:
a) For ... do c) If ... then ...
b) While ... do d) If ... then ... else...
9) Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây hợp lệ?
a) For i:=10 to 1 do Writeln(‘A’);
b) For i:=10.5 to 1.5 do Writeln(‘A’);
c) For i=1 to 10 do Writeln(‘A’);
d) For i:=1 to 10 do Writeln(‘A’);
10) Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây hợp lệ?
a) x:=10; While x:=10 do x:=x+5;
b) x=10; While x=10 do x=x+5;
c) x:=10; While x=10 do x:=x+5;
d) x=10; While x:=10 do x=x+5;
Trong các câu lệnh Pascal sau đây, câu lệnh nào sai và sai ở đâu?
1) While i:=1 do t:=10;
2) For i:=1 to 10 do x:=x+1;
3) For i:=1 to 10 ; do x:=x+1;
4) i:=1; while i<10 do sum:=sum+i; i:=i+1;
B1: Trong các hoạt động sau đây hoạt động nào là hoạt động lặp với số lần chưa biết trước:
A. tính tổng các số tự nhiên từ 1 đến 20.
B. Nhập các số nguyên cho đến khi đủ 50 số
C. Mỗi ngày tập TD 2 lần
D. Nhập dữ liệu từ bàn phím cho đến khi nhập xong dữ liệu khi dừng
B2: Đoạn lệnh sau đây in ra kết quả gì?
s:=0; while s<10 do begin s:=s+1;
Writeln(s); end;
A. In ra các số từ 1 đến 9.
B. In ra các số từ 1 đến 10.
C. In ra các số 1.
D. Không có đáp án đúng.
B3: Hãy cho biết đâu là đoạn lệnh lặp bằng câu lệnh While...do để tính tổng S=1+2+...+10?
A. S:=0; while i<10 do S:=S+i;
B. S:=0; i:=0; while i<11 do begin S:=S+i; i:=i+1; end;
C. S:=0; i:=1; while i do S:=S+i; i:=i+1;
D. S:=0; i:=0; while i<=10 do begin S:=S+i; i:=i+1; end;
Chuyển câu lệnh lặp sau sang while...do
S:=1
For i:=1 to n do S:=S*(1+1/i)
TỔ TOÁN-TIN MÔN: TIN HỌC 8
I. TRẮC NGHIỆM
Câu 1: Lệnh lặp nào sau đây là đúng?
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ị cuối>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 2: Câu lệnh pascal nào sau đây là hợp lệ?
a) For i:=10 to 1 do write(‘A’); c) For i:=1.5 to 10 do write(‘A’);
b) For i= 1 to 10 do write(‘A’); d) For i:= 1 to 10 do write(‘A’);
Câu 3: Vòng lặp while ..do là vòng lặp:
a) Biết trước số lần lặp c) Chưa biết trước số lần lặp
b) Biết trước số lần <=100 d) Biết trước số lần là >=100
Câu 4: Câu lệnh lặp while…do có dạng đúng là:
a) While <đk> do; <câu lệnh>; c) While <đk> <câu lệnh> do;
b) While <câu lệnh> do <đk>; d) While <đk>do <câu lệnh>;
Câu 5: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=0; for i:=1 to 5 do s := s+i;
Kết quả cuối cùng của s là : a) 11 b) 55 c) 101 d) 15
Câu 6: Trong đọan chương trình pascal sau đây x có giá trị là mấy
Begin x:= 3 ; If (45 mod 3) =0 then x:= x +2;
If x > 10 then x := x +10 ; End.
a) 3 b) 5 c) 15 d) 10
Câu 7: Trong chương trình pascal sau đây:
var a, b :integer;
s,cv :real ;
begin a:= 10; b:= 5; s:= a*b ; cv:= (a +b ) * 2 ; end.
Biến s và cv có giá trị là mấy:
a) s = 10 ; cv = 5 ; c) s= 30 ; cv = 50 ;
b) s = 50 ; cv = 40 ; d) s = 50 ; cv = 30 ;
Câu 8: Sau khi thực hiện đoạn chương trình j:= 0; for i:= 1 to 3 do j:=j+2; thì giá trị in ra màn hình là? a) 4 b) 6 c) 8 d) 10
Câu 9: Để tính tổng S=1+3 + 5 + … + n; em chọn đoạn lệnh: |
|
a) for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; |
c) for i:=1 to n do if (i mod 2) <> 0 then S:=S+i; |
b) for i:=1 to n do if ( i mod 2)<>0 then S:=S + 1/i |
d) for i:=1 to n do if ( i mod 2)=0 then S:=S + i; |
Câu 10: Để tính tổng S=1/2+1/4 + 1/6 + … +1/ n; em chọn đoạn |
|
a) for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; |
c) for i:=1 to n do if (i mod 2) <> 0 then S:=S+i; |
b) for i:=1 to n do if ( i mod 2)=0 then S:=S – 1/i |
d) for i:=1 to n do if ( i mod 2)=0 then S:=S + i |
Câu 11: Để đếm các số lẻ <= n ; em chọn đoạn lệnh: |
|
a) for i:=1 to n do if ( i mod 2)< >0 then S:=S + 1; |
c) for i:=1 to n do if (i mod 2) =0 then S:=S + 1; |
b) for i:=1 to n do if ( i mod 2)=0 then S:=S + i ; |
d) for i:=1 to n do if ( i mod 2)=0 then S:=S + i; |
Câu 12: Câu lệnh nào sau đây lặp vô hạn lần |
|
a) s:=5; i:=0; While i<=s do s:=s + 1; |
a) s:=5; i:=1; While i<=s do i:=i + 1; |
b) s:=5; i:=1; While i> s do i:=i + 1; |
d) s:=0; i:=0; While i<=s do S:=S + i; |
Câu 13: Chọn khai báo hơp lệ |
|
a) Var a: array[1..n] of real; |
c) Var a: array[1:n] of real; |
b) Var a: array[1..100] of real; |
d) Var a: array[1…n] of real; |
Câu 14: Chọn khai báo hơp lệ |
|
a) Const n=5; Var a,b: array[1..n] of real; |
c) Var n: real; Var a,b: array[1:n] of real; |
b) Var a,b: array[100..1] of real; |
d) Var a:array[1.5.10] of real; |
Câu 15: Thực hiện đoạn lệnh:
a[1]:=2; a[2]:=3; t:=a[1]+a[2]+1;
Giá trị của t là: a) t=1 b) t=3 c) t=2 d) t=6
II. TỰ LUẬN
1) Nhập số tự nhiên n từ bàn phím, in ra các số chẵn từ 1 đến n và tổng của chúng?
2) Nhập số tự nhiên n từ bàn phím, in ra các số chia hết cho 5 từ 1 đến n và tổng của chúng?
3) Tính trung bình cộng của n số nguyên nhập từ bàn phím?
4) Tìm số lớn nhất trong dãy n số nguyên nhập từ bàn phím?
5) Sửa lỗi cho các câu lệnh Pascal sau:
a. For i=1 to 10 do s= s+i; b. While i:=5 do s:= s+i;
c. Var a:array[100..1] of real; d. If a>b; then max:=a;
6) Kẻ bảng thể hiện các câu lệnh lặp sau:
a. s:=0; b. s:=0; i:=10;
For i:= 1 to 20 do While i>0 do
If I mod 5=0 then s:=s+i; begin s:=s+i; i:=i-1end;
7) Sau khi thực hiện các đoạn chương trình sau, giá trị của biến s và biến i bằng bao nhiêu?
a. s:=1; b. s:=0; i:=0;
For i:= 1 to 5 do s:=s*i; While i<5 do begin i:=i+1; s:=s+i end;
8) Cho biết kiểu dữ liệu của biến a và b trong các đoạn chương trình sau:
a. a:= 0; b:=0;
while a<5 do begin a:=a+1; b:=b+1/a end;
b. b:=1;
For a:= 1 to 5 do b:=b*a;
I Trắc Nghiệm
1) Khi thực hiện đoạn chương trình sau:
n:=1; T:=50; while n>20 do Begin n:=n+5;T:=T-n
end;
Hãy cho biết giá trị của biến T
A)16 B)15 C)14 D)17
2) Trong câu lệnh khai báo mảng, phát biểu nào sau đây đúng?
A) Cả 3 ý trên
B) Chỉ số đầu và số cuối là 2 số nguyên
C) Kiểu dữ liệu có integer
D) Chỉ số đầu và chỉ số cuối
3) Khai báo biến mảng A: array [1...7] of real; for i= 1 to 5 do; Readln (A[i]) để gắn giá trị cho các phần tử trong biến A từ bàn phím, ta sẽ nhận được bao nhiêu giá trị
A)7 B)5 C)6 D)4
4) Trong câu lệnh lặp for i=1 to do J:=J+2 writeln (J); khi kết thúc câu lệnh trên, câu lệnh writeln (J) được thực hiện bao nhiêu lần
A) Không thực hiện C) 10 lần
B) 1 lần D) 5 lần
5) Trong pascal, câu lệnh nào sau đây là đúng?
A) for i:= 1 to 10 do writeln (`A');
B) for i:= 4 to 10 do writeln(`A');
C) for i to 10 do writeln (`A')
D)for i:= 1 to 10 do writeln (`A')
6) Trong pascal, câu lệnh nào sau đây đúng?
A) n:=2, while n<5 do writeln (`A')
B) i:=0; 5:=1; while S<10 do writeln (S);
while S<10 do S:= S+i; i=i+1;
C) S:=1,
D) Cả A và B đúng
7) Giả sử biến A có 5 phần tử và giá trị các phần tử lần lượt là 1,4,7,2,6. Khi thực hiện câu lệnh sau
Tb:= 0; for i:= 1 to 5 do
Tb: Tb + A(i)
Giá trị trung bình là bao nhiêu?
A)18 C)21
B)21 D)22
8) Cho đoạn chương trình J:=0; for i:= 1 to S sau khi thực hiện chương trình trên giá trị của biến i bằng bao nhiêu?
A)12 C)42
B)22 D)15
II Tự Luận
1) Viết cú pháp câu lệnh lặp với số lần chưa biết trước. Nêu hoạt động của câu lệnh
2) Viết chương trình nhập điểm kiểm tra học kì môn tin cho N học sinh và in ra màn hình với N và điểm kiểm tra được nhập từ bàn phím ( Sử sụng biến mảng).
Hãy chọn và khoanh tròn đáp án đúng nhất trong các câu sau.
Câu 1: Trong Pascal, cú pháp câu lệnh lặp với số lần lặp chưa biết trước có dạng: A. for...do B. if...then
C. while...do D. if...then...else
Câu 2: Trong các cách khai báo biến sau đây, cách khai báo nào là hợp lệ? A. Var a: array; B. Var a= integer;
C. Var a: integer; D. Var: a: integer;
Câu 3: Trong các cách khai báo biến mảng sau đây, cách khai báo nào là hợp lệ?
A. Var a: array [1..100] for integer; B. Var a: array [1.5..1.05] for integer; C. Var a: array [1,100] for integer; D. Var a: array [1.5,1.05] for integer;
Câu 4: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng? A.Chỉsốđầuvàchỉsốcuốilà2sốnguyên. B.Chỉsốđầu<chỉsốcuối.
C. Kiểu dữ liệu có thể là Integer hoặc Real.
Câu 5: Vòng lặp While ... do kết thúc khi nào?
A. Khi một điều kiện cho trước được thỏa mãn. C. Khi tìm được Output.
D. Cả ba ý trên.
B. Khi đủ số vòng lặp.
D. Tất cả các phương án.
Câu 6: Cho biết câu lệnh sau Do thực hiện mấy lần trong đoạn chương trình sau: i := 5;
While i>=1 do i := i – 1;
A. 1 lần. B. 2 lần. C. 5 lần. D. 6 lần Câu 7: Khi thực hiện đoạn chương trình sau: n:=1; T:=50;
While n>20 do begin n:=n+5; T:=T - n end; Hãy cho biết giá trị của biến T bằng bao nhiêu?
A.14 B.15 C.16 D.17
Câu 8: Khai báo biến mảng: A : array[1..7] of real;. Sử dụng câu lệnh For i:= 1 to 5 do readln(A[i]); để
gán giá trị cho các phần tử trong biến A từ bàn phím, ta sẽ nhập được bao nhiêu giá trị? A.4 B.5 C.6 D.7
Câu 9: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng:
A.Chỉsốđầuvàchỉsốcuốilà2sốnguyên.
C. Kiểu dữ liệu có thể là integer hoặc real.
Câu 10: Cú pháp lệnh lặp với số lần chưa biết trước:
B.Chỉsốđầu chỉsốcuối. D. Cả ba ý trên.
A. While < điều kiện > to < câu lệnh >;
B. While < điều kiện > do < câu lệnh >;
C. While < điều kiện > do ;< câu lệnh >;
D. While < điều kiện > to < câu lệnh 1 > do < câu lệnh 2 >;