1. Trang chủ
  2. » Thể loại khác

bài tập trắc nghiệm lập trình pascal

20 2,2K 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 84,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chọn câu có chương trình viết đúng: khi dịch không có lỗi, khi chạy không “bị treo” A... Chọn câu có chương trình viết đúng: khi dịch không có lỗi, khi chạy không “bị treo” A... Các câu

Trang 1

1 Cho chương trình:

var a,b:boolean;

begin

a:=false;b:=true;

write(not(1<>4 mod 3) or not (a or not b));

write((5 div 6<=3) and (not true and (not b or a)):12);

readln end

Chọn trả lời đúng:

A Chương trình in ra: TRUE

FALSE *

B Chương trình in ra: TRUE

TRUE

C Chương trình in ra: FALSE FALSE

D Chương trình báo lỗi

2 Xét chương trình:

var i,j:integer;

begin

i:=1;

j:=2;

if odd(i)and (j>=2)then

if (i>0)or(j<i)then write(i)

else write(4);

readln

End

Chọn khẳng định đúng:

A Khi thi hành, chương trình in ra 1

B Khi thi hành, chương trình in ra 4

C Khi thi hành, chương trình không in

gì cả

D Khi dịch, chương trình báo lỗi ngữ pháp

3 Chọn (các) phép gán hợp lệ:

A a:= sqrt(25) – 2;

B b:= True Or (4 div 3) And (1 <> 2);

C x:= ln(1) – 4 div 2;

D y:= round(ln(3)) – 4 div 2;

1

Trang 2

trong đó, các biến được khai báo như sau: var a, y:byte; b: boolean; x: real;

4 Xét chương trình:

1 Var i,s,n:real;

2 Begin

3 S:=0;N:= 10;

4 For i:=2 to n do

5 S:=s+1/i;

6 i:= 1;

7 Write(‘i=’,i);

8 Write(‘Tong bang S’);

9 Begin End

10 End

Khi dịch, chương trình báo lỗi ở (những) dòng nào

A 9

B 4

C 7

D 5, 8

5 Chọn câu có chương trình viết đúng: khi dịch không có lỗi, khi chạy không “bị treo”

A Chương trình 1

const c=1; var i:byte;

begin

i:=1;

repeat

i:=i+1;

write(i);

until c:=1;

end

B

Chương trình 2

Var i,j:1 10;

Begin

for i:=1 to 5 do

For j:=1 to 2 do

writeln(i, ' ',j,': Turbo Pascal’) End

C Chương trình 3.

Var do:byte;radian:real;

Begin

Do:=30;

radian:=do*pi/180;

write(radian:1:2);

End

2

Trang 3

D Chương trình 4

var diem:real;

begin readln(diem);

case round(diem) / 1 of

0 4: write(‘Khong dat!’);

5 10: begin write(‘Dat!’) end else write(‘Nhap diem

sai!!! ’) end; end

6 Cho chương trình sau giải phương trình ax 2 + bx + c = 0 (a, b, c  R):

var a,b,c,x,x1,x2,delta:real;

begin

write('nhap vao he so a,b,c:='); readln(a,b,c);

if a=0 then {PT bac nhat}

if b=0 then

if c=0 then writeln('pt vo so nghiem')

else writeln('pt vo nghiem')

else

begin

x:=-c/b; writeln('pt co nghiem la', x:8:2)

end

else

begin {PT bac 2}

delta:=b*b-4*a*c;

if(delta<0) then

writeln('pt vo nghiem');

if(delta=0) then

begin

x:=-b/(2*a);

writeln('pt co nghiem kep x1=x2=',x:8:2)

end;

if(delta>0) then

x1:= (-b-sqrt(delta))/ 2/a;

x2:= (-b+sqrt(delta))/(2*a);

3

Trang 4

writeln('pt co nghiem x1=',x1:8:2);

writeln('pt co nghiem x2=',x2:8:2);

end;

end

Chọn trả lời đúng:

A Khi dịch báo lỗi

B Kết quả in ra sai

C Kết quả in ra đúng

D Chương trình bị treo

7 Chọn câu có chương trình viết đúng: khi dịch không có lỗi, khi chạy không “bị treo”

A Chương trình 1

Const a=5;

Var x:byte;

Begin

Write(‘Nhap x = ’);

readln(x);

If x:=0 then

write(x)

Else

Begin

x:=a*10;

write(x)

end

End

B Chương trình 2

Var a,b: integer;

Begin

a:=1;b:=0;

while (a<>21) or (b<10) do Begin

a:=a+2; b:=b+1;

writeln(a,’ ’,b) end

End

C Chương trình 3

uses crt;

var x,y,i,s,t:integer;

begin clrscr;{xoa man hinh}

readln(x);

readln(y);

s:=0;

t:=abs(x+y);

for i:=1 to t do

if t mod i= 0 then begin

s:=s+i;

i:=i+1;

4

Trang 5

end;

writeln(s:6);

readln;

end

8 Cho chương trình:

var i:shortint;

begin

repeat

i:=i+1;

writeln(i:8);

until i<=-1;

end

Chọn câu trả lời đúng:

A chương trình báo lỗi hoặc treo

B chương trình in ra các số -128 127

C chương trình in ra các số 1 127

D không câu trả lời nào đúng

Vì phụ thuộc vào TP/FP: nếu trong TP thì chương trình in ra 1 127, -128 và dừng.

Còn trong FP thì báo lỗi runtime.

9 Xét chương trình sau:

type chi_so=1 4;

MI=array[chi_so] of byte;

Var i:byte;

X: mi;

Function Min(x:Mi):byte;

Var i:chi_so;tam:byte;

Begin

Tam:=x[1];

For i:=2 to 4 do

If x[i]<tam then tam:=x[i];

Min:=tam End;

Begin

5

Trang 6

For i:=1 to 4 do readln(x[i]);

Writeln(min(x));

Readln End

Hãy chọn câu trả lời đúng:

A Chương trình báo lỗi khi dịch

B Với dữ liệu vào là 5, 3, 7, 9 thì kết quả in ra 3

C Với dữ liệu vào là 5, 3, 7, 9 thì kết quả in ra 9

D Các câu trả lời trên đều sai

Câu 10 Cho chương trình sau:

var r:byte;n,m,sl,t:integer;

Begin

Write(‘m = ’);Readln(n);

m:=0;sl:=0;t:=0;

repeat

r:=n mod 10;

m:=m*10+ r;

sl:=sl+1; t:=t+r;

n:=n div 10;

until n=0;

write(m:4,sl:4,t:4)

End

Sau khi thực hiện biên dịch và chạy:

A Chương trình báo lỗi cú pháp lệnh

B Nhập n = 123, chương trình in ra 123 3 6

C Nhập n = 123, chương trình in ra 321 3 6

D Nhập n = 123, chương trình in ra 321 6 3

6

Trang 7

Câu 11 Cho chương trình:

var i:byte;k:integer;

begin

repeat

i:=i+2;

K:=i*i;

if i = 100 then i := 0;

writeln(k,i:8);

until i>=100;

end

Chọn câu trả lời đúng:

A chương trình báo lỗi cú pháp

B chương trình báo lỗi runtime

C chương trình bị treo và k có giá trị cố định là 0

D chương trình bị treo và k có giá trị không cố định

Câu 12 Cho đề bài: Nhập vào một dãy số gồm 7 phần tử và cho biết dãy vừa nhập có phải là

cấp số cộng hay không? (BT5-SGK trang 79)

Chương trình của HS như sau:

Var a: array[1 7] of integer;

i, d: integer; kt: boolean;

Begin

Writeln('Nhap day so: ');

For i:=1 to 7 do

Begin

Write('a[',i,'] = ');Readln(a[i]);

End;

d:=a[2]-a[1]; kt:=true; i:=1;

while kt and (i<=7) do

if (a[i]-a[i-1] <> d) then

kt:=false

7

Trang 8

else i:=i+1;

if kt then

writeln('Day tao thanh cap so cong') else

writeln(‘Day khong tao thanh cap so cong'); readln;

End

Chọn câu trả lời đúng:

A chương trình báo lỗi cú pháp

B chương trình báo lỗi runtime

C chương trình cho kết quả đúng

D chương trình cho kết quả sai

Chỉ số vượt ngoài phạm vi cho phép

Câu 13 Chương trình tính tổng S và đưa kết quả ra màn hình (với a>2)

S = 1/a + 1/(a+1) + 1/(a+2) +…+1/(a+100)

HS lập trình giải bài toán như sau:

Chương trình 1:

Var s,n,a:real;

Begin

Readln(a);S:=1/a; N:=1;

While ( N<=100) do;

Begin

S:=S+1/(a+N); N:=N+1 End;

Writeln(‘Tong la S=’, S:8:4);

End

Chương trình 2:

Var s,a:real;n:integer;

Begin

Readln(a);

S:=1/a;

For N:=1 to 1000 do

S:=S+1/(a+N);

If n = 100 then break;

Writeln(‘Tong la S=’, S:0:4);

End

8

Trang 9

Chọn câu trả lời đúng:

A 2 chương trình đều có lỗi cú pháp

B 2 chương trình đều có lỗi runtime

C 2 chương trình đều cho kết quả đúng

D 2 chương trình đều cho kết quả sai

Câu 14 Tính giá trị đa thức

P(x) = 1+ x + x2 +… + x20 tại x = x0

HS lập trình giải bài toán như sau:

Var x0:real;

Function P:real;

Var k: integer;

Begin

P:=1;

For k:=1 to 20 do

P:=P*x0 + 1;

End;

Begin

Readln(x0);

Writeln(‘Gia tri da thuc la: ‘, P:0:3);Readln;

End

Chọn câu trả lời đúng:

A chương trình có lỗi cú pháp

B chương trình cho kết quả sai

C chương trình cho kết quả đúng

D các câu trả lời trên đều sai Vì chương trình lặp vô tận.

Câu 15 Cho đề bài: Viết chương trình con tính bội chung nhỏ nhất của hai số

nguyên dương a, b (BT4- SGK trang 117) HS lập trình giải bài toán như sau: Var a, b: integer;

Function bcnn(a, b:integer):integer;

Trang 10

var ucln:integer;

begin

while (a<>b) do

if a > b then a:=a-b else b:=b-a;

ucln:=b;

bcnn:= (a*b) div ucln;

end;

Begin

Readln(a,b);

Writeln(‘BCNN la: ‘,bcnn(a,b));

readln End

Chọn câu trả lời đúng:

A chương trình có lỗi cú pháp

B chương trình có lỗi ngữ nghĩa

C chương trình cho kết quả đúng

D các câu trả lời trên đều sai

Câu 16 Cho đề bài: Nhập vào một xâu kí tự st, rồi xoá tất cả các kí tự trắng vô

nghĩa trong xâu (xoá bỏ mọi kí tự trắng, ngoại trừ một kí tự trắng giữa hai từ)

Có 03 chương trình con xóa xâu như sau:

procedure xoa1(var st:string);

var i:byte;

begin

while st[1]=' ' do delete(st,1,1);

while st[length(st)]=' ' do delete(st,length(st),1);

i:=1;

repeat

if (st[i]<>' ')and(st[i+1]=' ') then

while st[i+2]=' ' do delete(st,i+2,1);

i:=i+1;

Trang 11

until i>length(st);

end;

procedure xoa2(var st:string);

var i:byte;

begin for i:=1 to length(st)-1 do

if (st[i]=' ')and(st[i+1]=' ') then st:=delete(st,i,1);

If st[1]= ' 'then Delete(st,1,1);

If st[length(st)]= ' 'then delete(st, length(st),1);

St:=s;

end;

procedure xoa3(var st:string);

var i:byte;

begin

for i:= length(st) downto 1 do

if (st[i]=' ')and(st[i-1]=' ') then delete(st,i,1);

If st[1]= ' 'then Delete(st,1,1);

If st[length(st)]= ' 'then delete(st, length(st),1); end;

Chọn câu trả lời đúng:

A Cả 3 chương trình đều cho kết quả đúng

B chương trình cho kết quả đúng chỉ là xoa2.

C chương trình cho kết quả đúng chỉ là xoa1 xoa3

D chương trình cho kết quả đúng chỉ là xoa3.

Trang 12

Câu 1:

Trong ngôn ngữ Pascal

a/ 15 47 -13 là các hằng nguyên b/ 4.0 3E-7 0.523 là các hằng thực c/ ‘a’ ‘+’ ‘ ‘ là các hằng kí tự d/ a,b,c sai

x e/ a,b,c đúng

Câu 2 :

Trong ngôn ngữ Pascal, với x,y thuộc loại integer

a/ x:=y là một biểu thức luận lý b/ x+2y-5 là một biểu thức luận lý

x c/ x+2<>y là một biểu thức luận lý

d/ not (x+y) là một biểu thức luận lý e/ các câu trên đều sai

câu 3:

Trong ngôn ngữ Pascal ,với x,y thuộc loại integer a/ x=y là một biểu thức luận lý

b/ (x<>0)or (2*y>5) là một biểu thức luận lý c/ x+2<>y+1 là một biểu thức luận lý

d/ not (x>y) là một biểu thức luận lý

x e/ các câu trên đều sai

Câu 4:

Xét chương trình Pascal sau:

PROGRAM vidu;

TYPE d=ARRAY [ 1 n] of integer;

VAR i:integer; a:=d;

Trang 13

BEGIN Read(n);

FOR i:=1 TO n DO

END

x a/chương trình báo lỗi ngữ pháp khi dịch b/ chương trình báo lỗi khi thi hành

c/ cả hai câu trên đều sai

d/ cả hai câu trên đều đúng

câu 5:

cho khai báo sau:

TYPE th=SET OF char;

VAR I,j,n:integer;

x,y,z:real; k:boolean;

a,b:th;

Hãy cho biết câu lệnh nào dưới đây bị sai: a/ n:=I DIV j;

c/ k:=’c’ IN a d/ x:=i/j +1

x e/ n:=i/j

câu 6:

cho khai báo sau:

TYPE th=SET OF char;

VAR I,j,n:integer;

x,y,z:real; k:boolean;

a,b:th;

Trang 14

u,v:array[1 3] of integer;

Hãy cho biết câu lệnh nào dưới đây bị sai: a/ n:=I DIV j;

b/ z:=x/y;

c/ k:=’c’ IN a d/ x:=i/j +1

x e/ a:=[‘a’,b]

câu 7:

cho khai báo sau:

TYPE th=SET OF char;

VAR I,j,n:integer;

x,y,z:real; k:boolean;

a,b:th;

u,v:array[1 3] of integer;

Hãy cho biết câu lệnh nào dưới đây bị sai: a/ n:=I DIV j;

b/ z:=x/y;

c/ k:=’c’ IN a

x d/b:=b+’b’

e/ a:=[‘a’,’A’]

câu 8:

cho khai báo sau:

TYPE th=SET OF char;

VAR I,j,n:integer;

x,y,z:real; k:boolean;

a,b:th;

Trang 15

u,v:array[1 3] of integer;

Hãy cho biết câu lệnh nào dưới đây bị sai:

a/ n:=I DIV j;

b/ z:=x/y;

c/ k:=’c’ IN a

x d/ u:=u*v

e/ a:=[‘a’,’A’]

câu 9:

cho khai báo sau:

VAR i:integer; c:char ; r:real;

Hãy cho biết nhóm lệnh nào sau đây viết đúng ngữ pháp: a/ các lệnh r:=7; i:=r; write(r)

b/ các lệnh c:=’9’ ;i:=9; if i=c then write(‘hop le’)

x c/ các lệnh r:=7; c:=’9’; i:=ord(c)

d/ cả ba nhóm lệnh trên đều có lỗi sai e/ cả ba nhóm lệnh trên đều có lỗi đúng

Câu 10:

cho khai báo sau:

VAR i:integer; c:char ; r:real;

Hãy cho biết nhóm lệnh nào sau đây viết đúng ngữ pháp: a/ các lệnh r:=7; i:=r; write(r)

b/ các lệnh c:=’9’ ;i:=9; if i=c then write(‘hop le’) c/ các lệnh r:=7; c:=ord(r); i:=ord(c)

x d/ cả ba nhóm lệnh trên đều có lỗi sai

e/ cả ba nhóm lệnh trên đều có lỗi đúng

Câu 11:

Trang 16

cho khai báo sau:

VAR i:integer; c:char ; r:real;

Hãy cho biết nhóm lệnh nào sau đây viết đúng ngữ pháp:

x a/ các lệnh i:=7; r:=i; write(r)

b/ các lệnh c:=’9’ ;i:=9; if i=c then write(‘hop le’) c/ các lệnh i:=7; c:=ord(r); i:=ord(c)

d/ cả ba nhóm lệnh trên đều có lỗi sai e/ cả ba nhóm lệnh trên đều có lỗi đúng

Câu 12:

cho khai báo sau:

VAR i:integer; c:char ; r:real;

Hãy cho biết nhóm lệnh nào sau đây viết đúng ngữ pháp: a/ các lệnh i:=7; r:=9; writeln((r>i+1)

x b/ các lệnh c:=’9’ ;i:=9; if i=ord(c) then write(‘hop le’) c/ các lệnh i:=7; c:=ord(r); r:=ord(c)

d/ cả ba nhóm lệnh trên đều có lỗi sai e/ cả ba nhóm lệnh trên đều có lỗi đúng

Câu 13:

Cho x,y,z và t có loại integer.sau khi thi hành các lệnh: x:=5; y:=3; z:=5; t:=6;

If x>y then

If y>z then t:=y

ELSE

t:=x giá trị của t là bao nhiêu?

Trang 17

x a/ t:=5

b/ t:=6 Câu 14:

Cho x,y ,z,t thuộc kiểu integer.Sau khi thi hành các lệnh: x:=5; y:=3; z:=5; t:=4;

IF x>=y THEN

IF y>z-1 THEN

t:=y

ELSE t:=x+1 giá trị của t là bao nhiêu?

x a/ t:=6

b/ t:=4 Câu 15:

Cho x,y ,z,t thuộc kiểu integer.Sau khi thi hành các lệnh: x:=5; y:=3; z:=5; t:=1;

IF x>=y THEN

IF y>=z-2 THEN

t:=y+2

ELSE t:=x-1 giá trị của t là bao nhiêu?

x a/ t:=5

b/ t:=1 Câu 16:

Cho x,y ,z,t thuộc kiểu integer.Sau khi thi hành các lệnh: x:=5; y:=3; z:=5; t:=5;

Trang 18

IF x>=y THEN

IF y+2>=z THEN

t:=y-1

ELSE t:=x-1 giá trị của t là bao nhiêu?

x a/ t:=2

b/ t:=4 Câu 17:

Xét chương trình Pascal sau đây:

PROGRAM thi;

VAR I,j:integer;

BEGIN i:=1; j:=2;

IF (i<=1) AND (j>2) THEN

IF (i>0) OR (j<i) THEN

Write(3) ELSE Write(4) END

a/Khi thi hành ,chương trình in ra 3 b/Khi thi hành ,chương trình in ra 4

x c/Khi thi hành ,chương trình không in ra gì cả d/Khi dịch,chương trình báo lỗi ngữ pháp Câu 18:

Xét chương trình Pascal sau đây:

PROGRAM thi;

Trang 19

VAR I,j:integer;

BEGIN i:=1; j:=3;

IF (i<=1) AND (j>2) THEN

IF (i:=0) OR (j<i) THEN

Write(3) ELSE Write(4) END

a/Khi thi hành ,chương trình in ra 3 b/Khi thi hành ,chương trình in ra 4 c/Khi thi hành ,chương trình không in ra gì cả

x d/Khi dịch,chương trình báo lỗi ngữ pháp Câu 19:

Xét chương trình Pascal sau đây:

PROGRAM thi;

VAR I,j:integer;

BEGIN i:=1; j:=3;

IF (i=1) AND (j>2) THEN

IF (i>0) OR (j<i) THEN

Write(3) ELSE Write(4) END

a/Khi thi hành ,chương trình in ra 3

x b/Khi thi hành ,chương trình in ra 4

Trang 20

c/Khi thi hành ,chương trình không in ra gì cả d/Khi dịch,chương trình báo lỗi ngữ pháp Câu 20:

Cho khai báo sau trong ngôn ngữ Pascal:

TYPE a=record Hoten:array[0 40] of char;

Tuoi:integer END;

Pt=^b;

b=RECORD

info:a;

last:pt;

next:pt;

END;

VAR p1,p2:pt; x:a; y:=b;

Hãy chọn lệnh viết sai trong các lệnh sau: a/ new(p1)

b/ new(p1^.next) c/ new(p1^.next.last)

x d/ new(p1^.info)

Ngày đăng: 25/07/2014, 10:58

TỪ KHÓA LIÊN QUAN

w