Lời giải :
Lỗi sai = ( )1) While i(:)=1 do t:=10;
3) For i:=1 to 10 (;) do x:=x+1;
4) i:=1; while i<10 do sum:=sum+i; i:=i+1; ( câu lệnh này vẫn chạy được nhưng phải đặt trong begin...end;)
i:=1; while i<10 do ( begin) sum:=sum+i; i:=i+1; (end; )
Lời giải :
Lỗi sai = ( )1) While i(:)=1 do t:=10;
3) For i:=1 to 10 (;) do x:=x+1;
4) i:=1; while i<10 do sum:=sum+i; i:=i+1; ( câu lệnh này vẫn chạy được nhưng phải đặt trong begin...end;)
i:=1; while i<10 do ( begin) sum:=sum+i; i:=i+1; (end; )
Câu lệnh nào sai và sai ở đâu:
a. for i:=10 to 2 do write (A);
b. for i:=15 to 5 do write (A);
c. while (n mod 2<>0) do i:= 1+1
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) 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;
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
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;
1.Em hiểu câu lệnh lặp nào trong pascal theo nghĩa nào sau đây ?
A.câu lệnh lặp là câu lệnh được sử dụng để chỉ thị cho máy tính thực hiện cấu trúc lặp
B.Một câu lệnh lặp có thể thay cho nhiều câu lệnh khác nhau
C.câu lệnh lặp chỉ là tên của 1 loại câu lệnh trong pascal
D.cả A,B và C đều sai
2.Trong câu lệnh lặp for<biến đếm>:=<giá trị đầu>to<giá trị cuối>do<câu lệnh>; thì biến đếm thuộc kiểu dữ liệu gì?
A.kiểu kí tự.
B.kiểu số thực
C.kiểu số nguyên
D.kiểu số thực hoặc số nguyên
3.Trong câu lệnh For i:=1 to 20 do write (‘*’); số vòng lặp là:
A.1. B.19. C.20. D.21
4.câu lệnh nào dùng để in ra màn hình sau ‘Pascal’?
A.for i:=1 to 10 do writeln (‘Pascal’)
B. for i:=1 to 10 writeln (‘Pascal’)
C. for i:=1 to 10 do writeln (‘Pascal’); for i:=1 to 10 do writeln (Pascal);
5.câu lệnh nào dùng để in ra màn hình các số lẻ từ 1 đến 10?
A. for i:=1 to 10 do writeln (‘i’);
B. for i:=1 to 10 do writeln (i);
C. for i:=1 to 10 writeln (‘i’);
D. for i:=10 to 1do writeln (‘i’);
mấy bẹn xinh trai,gái đẹp giúp hộ mình nhe😇
Gạch chân lỗi sai trong các câu lệnh sau và sửa:
a) For i:=1.5 to 10.5 do writeln('A');
b) 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;
Sửa các lỗi câu sau a,for i:=4 to 1 do wrieln ('A') b,for i= 1 to 10 do writeln ('A') c,for i: 10 do 1 to writeln('A')