Trắc nghiệm Khoanh tròn chữ cái đứng trước câu trả lời đúng Câu 1: Trong vòng lặp For := to do ; củaPascal, trong mỗi vòng lặp, biến đếm thay đổi như thế nào c.. Biết trước số lần lặp
Trang 1ĐỀ CƯƠNG TIN HỌC 8 HỌC KÌ II NĂM HỌC 2009 - 2010
I Trắc nghiệm Khoanh tròn chữ cái đứng trước câu trả lời đúng
Câu 1: Trong vòng lặp For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh> ; củaPascal, trong mỗi vòng lặp, biến đếm thay đổi như thế nào
c Một giá trị bất kỳ d Một giá trị khác không
Câu 2: Câu lệnh pascal nào sau đây là hợp lệ?
a For i:=100 to 1 do writeln(‘A’); b For i:= 1 to 10 do writeln(‘A’);
c For i:=1.5 to 10.5 do writeln(‘A’); d For i= 1 to 10 do writeln(‘A’);
Câu 3: Lệnh lặp nào sau đây là đúng?
a For i:=1 to 10; do x:=x+1; b For i:=10 to 1 do x:=x+1;
c For i:=1 to 10 do x:=x+1; d For i=1 to 10 do x:=x+1;
Câu 4: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu
Câu 5: 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 của j là?
Câu 6: Để tính tổng S=1+1/2 +1/3 + 1/4 … 1/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;
b for i:=1 to n do
if ( i mod 2)=0 then S:=S + i Else S:= S + I;
c for i:=1 to n do
S:=S + 1/i;
d for i:=1 to n do
if ( i mod 2)<>0 then S:=S + 1/i Else S:=S-1/i;
Câu 7: Để 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;
b for i:=1 to n do
if ( i mod 2) < > 0 then S:=S + i;
c for i:=1 to n do
if ( i mod 2)=0 then S:=S + i else S:= S + I; d for i:=1 to n doif ( i mod 2)=0 then S:=S + i;
Câu 8: Vòng lặp while do là vòng lặp:
b Biết trước số lần lặp c Chưa biết trước số lần lặp
d Biết trước số lần lặp nhưng giới hạn là <=100 e Biết trước số lần lặp nhưng giới hạn là >=100
Câu 9: Đoạn lệnh sau đây So:=1; While so<10 do writeln(so); So:=so+1; Sẽ cho kết quả gì?
a In ra các số từ 1 đến 9 b In ra các số từ 1 đến 10
c Không phương án nào đúng d In vô hạn các số 1, mỗi số trên một dòng
Câu 10: Tìm hiểu đoạn lệnh sau và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp
S:=0; n:=0;
While S< =10 do n:=n+1; s:=s+n;
a 9 lần b 10 lần c 11 lần d Vô hạn lần
Câu 11: Câu lệnh lặp while…do có dạng đúng 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âu 12: Lần lượt thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i:3:1); sẽ viết ra màn hình?
a Thứ tự của biến đếm, chiếm 3 chỗ và lấy 1 chữ số sau phần thập phân
b Viết số 1 rồi viết số 3.5
Trang 2c Chỉ viết số 3.5 mà thôi
d Không thực hiện được vì giá trị của biến đếm có kiểu thứ tự là Real
Câu 13: Tìm hiểu đoạn lệnh sau và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp
S:=0; n:=0;
While S< =10 do
a 4 lần b 6 lần c 5 lần d 10
Câu 14: 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;
b s:=5; i:=1;
While i<=s do i:=i + 1;
c s:=5; i:=1;
While i> s do i:=i + 1;
d s:=0; i:=0;
While i<=n do
if (i mod2)=1 then S:=S + I else i:=i+1;
Câu 15: Hãy tìm hiểu đoạn chương trình sau đây Không cần viết chương trình, hãy cho biết lệnh Writeln in ra màn hình giá trị của i, j, k là bao nhiêu?
While i<=6 do i:=i+1; j:=j+1; k:=k+j; I=
Write(I,space,j,space,k); K=
Câu 16: Hãy tìm hiểu đoạn chương trình sau đây Không cần viết chương trình, hãy cho biết lệnh Writeln in ra màn hình giá trị của i, j, k là bao nhiêu?
While i<=6 do I=
Begin i:=i+1; j:=j+1; k:=k+j; end; J=
Write(I,space,j,space,k);
Câu 17: Hãy tìm hiểu đoạn chương trình sau đây Sau khi đoạn chương trình này được thực hiện, giá trị của x bằng bao nhiêu?
X:=0; Tong:=0;
While tong<=20 do
Begin
Writeln(tong); Tong:=tong+1;
End.
X:=tong;
a 20 b 21 c Không xác định d 0
Câu 18: Để tính tổng S=1+1/3 + 1/5 + … +1/ n; em chọn đoạn lệnh:
a for i:=1 to n do
if ( i mod 2)=1 then S:=S + 1/i; b for i:=1 to n doif ( i mod 2) =0 then S:=S + 1/i;
c for i:=1 to n do
if ( i mod 2)=0 then S:=S + 1/i
else S:= S + 1/;
d for i:=1 to n do
if ( i mod 2)=0 then S:=S + i;
Câu 19: Để tính tổng S=1+2+3+ 4+ 5 + … + n; em chọn đoạn lệnh:
a s:=0; i:=0;
While i<=n do S:=S + 1; b s:=0; i:=0;While i<=n do If (I mod 2)= 1 Then S:=S + i;
c s:=0; i:=0;
While i<=n do
begin
S:=S + i;
i:=i+1;
End;
d s:=0; i:=0;
While i<=n do begin
if (i mod2)=1 Then S:=S + i Else i:=i+1;
End;
Trang 3Câu 20: Hãy xác định đúng sai cho những phát biểu dưới đây
Không nên thay đổi giá trị của biến đếm trong câu lệnh lặp For … do, ví dụ câu lệnh lặp
sau đây là không nên sử dụng For i:=1 to n do i:=i+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;
Nếu giá trị đầu < giá trị cuối thì chương trình dịch sẽ báo lỗi để ta chỉnh sữa lại
Câu lệnh lặp For… do rất thuận tiện và hữu ích trong việc tránh phải viết lặp đi lặp lại
nhiều lần một câu lệnh nào đó Chẳng hạn để in ra các số nguyên hơn kém nhau 1 đơn vị từ
1 đến 15 ta chỉ viết 1 câu lệnh sau For i:=1 to 15 do writeln(i:3:1);
Mọi câu lệnh lặp While…do đều có thể thay thế một cách thích hợp bởi câu lệnh For do
II Tự luận
Bài 1 Điền vào chỗ trống để được câu đúng:
1 Câu lệnh điều kiện có hai dạng:
2 Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh:
3 Câu lệnh lặp với số lần chưa biết trước trong Pascal là:
Bài 2 Viết chương trình tính tổng của N số tự nhiên đầu tiên, với N là số tự nhiên được nhập vào từ bàn
phím
program Tinh_tong;
var N,i: integer;
S: longint;
begin
write(‘Nhap so N = ‘); readln(N);
S:= 0;
for i:= 1 to N do S:= S+i;
writeln(‘Tong cua’, N, ‘so tư nhien dau tien S = ‘, S);
readln
end
Bài 3 Ta kí hiệu N! là tích N số tự nhiên đầu tiên Viết chương trình tính N! = 1.2.3 N
program Tinh_Giai_Thua;
var N,i:integer;
P:longint;
begin
write(‘Nhap so N = ‘); readln(N);
P:= 1;
for i:= 1 to N do P:= P*i;
writeln( N, ‘! = ‘, P);
readln
end
Bài 4 Viết chương trình tính tổng các số lẻ từ 1 đến n.
program tinh_tong;
uses crt;
var S, n, i: integer;
begin
clrscr;
Trang 4write(‘nhap so nguyen n=’); readln(n);
S:= 0;
for i:= 1 to n do
if i mod 2<>0 then S:= S+i;
writeln(‘tong S=,’ S);
readln;
end
Bài 5 Viết chương trình xuất ra màn hình tổng bình phương những số lẻ từ 1 đến N Với N là số tự
nhiên được nhập vào từ bàn phím (tương tự như bài 4)
Bài 6 Viết chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay
không.
Thuật toán:
Bước 1: Nhập số tự nhiên N từ bàn phím.
Bước 2: Nếu N≤ 1 thông báo N không phải là số nguyên tố, rồi chuyển đến bước 4
Bước 3: Nếu N > 1:
3.1 i¬2;
3.2 Trong khi N mod i <> 0, i¬ i+1;
3.3 Nếu i = N thì thông báo N là số nguyên tố, ngược lại thông báo N không phải là số nguyên tố
Bước 4: Kết thúc thuật toán.
Uses Crt;
Var n,i:integer;
Begin
Clrscr;
write('Nhap vao mot so nguyen: '); readln(n);
If n<=1 then writeln('N khong la so nguyen to')
else
begin
i:=2;
while (n mod i<>0) do i:=i+1;
if i=n then writeln(n,' la so nguyen to!')
else writeln(n,' khong phai la so nguyen to!');
end;
readln
End.
Bài 7 Viết chương trình xuất ra màn hình những số nguyên tố nhỏ hơn 100
Program CAC_SO_NGUYEN_TO;
Var i, t: integer;
Begin
Clrscr;
Writeln(‘Cac so nguyen to nho hon 100:’);
For t:=2 to 100 do
Begin
i:= 2;
while (t mod i <> 0) do i:=i+1;
If i=t then Write(t:5);
end;
readln
End