Các câu lệnh sau trong Pascal sau có hợp lệ không? Nếu không hãy sửa lại cho hợp lệ?
a) For i:=100 to 1 do writeln('A');
b) For i:= 1.5 to 10.5 do Writeln('A');
c) X:= 10; while X:= 10 do X:= X+5;
d) X:=10; while X=10 do X= X+5
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;
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;
Bài 1: Trong các câu lệnh lặp Pascal sau đây, câu lệnh nào sai và sai ở đâu?
A. While i:=1 do t:=10;
B. While a<=b; do write(‘b khong nho hon a);
C. While 1=1 do write(‘Toi lap trinh gioi);
D. i:=1; while i<10 do sum:=sum+1; i:=i+1;
Bài 2:Viết chương trình nhập vào hai cạnh a,b là cạnh của hcn, a<=0; b<=0 thì yêu cầu
nhập lại, sau đó tính diện tích hcn.
1. Các câu lệnh sau được viết đúng hay sai, nếu sai sửa lại cho đúng.
a. While i:=1 do t:=10;
b. While a<=b; do Writeln(‘b khong nho hon a’);
c. i:=1;
While i<10 do
Begin
Sum:=Sum+i;
i:=i+1;
End;
Lập bảng chạy = tay giá trị của các biến trong 1 đoạn lệnh có sự dụng vòng lặp while .
Ví dụ : Cho đoạn lệnh sau , hãy cho biết khi thực hiện , máy tính sẽ thực hiện bao nhiêu vòng lặp , hãy lập bảng giá trị của các biến i, T trong từng vòng lặp mẫu sau :
i:= 0; T:= 10
while T >=0 do
begin i:= i+3; T= T-i; end;
Lần lặp thứ : |
1 | 2 | 3 | ...... |
i= | ||||
T= |
Giúp em với mọi người ơi !!! mai em thi r ạ
------------------- Em cảm ơn-------------------
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;
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)Viết CT nhập vào số N nguyen dương. Hãy đếm xem có bao nhieu số chia hết cho 2 va 5 từ 1->N
5)Viết CT nhập vào 2 số M, N nguyên dương(0<M<N). Hãy in ra màn hình các số là ước của 1000 từ M đến N
6) Các câu lệnh sau đúng hay sai, vì sao? Nếu sai, hãy sửa lại cho đúng
a.For i:=1 to 10 do; write(i:5); b. for i:= 100 to 10 do x=x-i;
c.For i:=100 to200 do i:=i+5; d. for i:=0*4 to 20*4 do write(i-5);
d. Vả n,i:real;
begin n:=0;i:=0;fori:=5 to105 do n:=n+i;end.