29
1- Cho S, i và N>0 là các biến nguyên. Ðể tính S = N!, chọn câu nào : A- S := 1; For i := 1 to N do S := S * i; B- S := 0; For i := 1 to N do S := S * i; C- S := 1; For i := 1 to N do S := S * N; D- S := 1; For i:= 1 to N do S := S + i; 2- Cho S = 1^2 + 2^2 + ... + 100^2 . Nhóm lệnh nào tính sai Giá trị của S: A- S:=0; FOR i:=1 TO 100 DO S := S + i*i; B- S:=0; FOR i:=1 TO 100 DO S := S + SQR(i); C- S:=0; FOR i:=100 DOWNTO 1 DO S := S + i*i; D- S:=1; FOR i:=1 TO 100 DO S := S + i*i; 3- Khi chạy chương trình : Var S, i, j : Integer; Begin S := 0; for i:= 1 to 3 do for j:= 1 to 4 do S := S + 1 ; End. Giá trị sau cùng của S là : A- 0 B- 12 C- 3 D- 4 4- Cho S và i biến kiểu nguyên. Khi chạy đoạn chương trình : S:= 0; i:= 1; while i<= 6 do begin S:= S + i; i:= i + 2; end; Giá trị sau cùng của S là : A- 6 B- 9 C- 11 D- 0 5- Khi chạy chương trình : Var S, i : Integer; Begin S:= 0; i:= 1; Repeat S:= S + i * i; i:= i + 1; Until i > 4 ; End. Giá trị sau cùng của S là : A- 0 B- 14 C- 16 D- 30 6- Cho i là biến nguyên. Khi chạy đoạn chương trình : i := 5; Repeat i := i + 1;

trac nghiem pascal.doc

Embed Size (px)

Citation preview

Page 1: trac nghiem pascal.doc

1- Cho S, i và N>0 là các biến nguyên. Ðể tính S = N!, chọn câu nào :

A- S := 1; For i := 1 to N do S := S * i;B- S := 0; For i := 1 to N do S := S * i;C- S := 1; For i := 1 to N do S := S * N;D- S := 1; For i:= 1 to N do S := S + i;

2- Cho S = 1^2 + 2^2 + ... + 100^2 . Nhóm lệnh nào tính sai Giá trị của S:

A- S:=0; FOR i:=1 TO 100 DO S := S + i*i;B- S:=0; FOR i:=1 TO 100 DO S := S + SQR(i);C- S:=0; FOR i:=100 DOWNTO 1 DO S := S + i*i;D- S:=1; FOR i:=1 TO 100 DO S := S + i*i;

3- Khi chạy chương trình : Var S, i, j : Integer; Begin S := 0; for i:= 1 to 3 do for j:= 1 to 4 do S := S + 1 ; End.Giá trị sau cùng của S là :

A- 0B- 12C- 3D- 4

4- Cho S và i biến kiểu nguyên. Khi chạy đoạn chương trình : S:= 0; i:= 1;while i<= 6 do begin S:= S + i; i:= i + 2; end; Giá trị sau cùng của S là :

A- 6B- 9

C- 11D- 0

5- Khi chạy chương trình : Var S, i : Integer; Begin S:= 0; i:= 1; Repeat S:= S + i * i; i:= i + 1; Until i > 4 ;End. Giá trị sau cùng của S là :

A- 0B- 14C- 16D- 30

6- Cho i là biến nguyên. Khi chạy đoạn chương trình : i := 5; Repeat i := i + 1; Until i > 4 ; Giá trị sau cùng của i là :

A- 6B- 4C- 5D- 0

7- Cho chương trình : Var A : Real; Begin . . . While A = 0 do begin write ('nhap A # 0:'); Readln (A); 

Page 2: trac nghiem pascal.doc

end; End. Ðể lệnh Readln(A) được thực hiện ít nhất một lần, phải điền vào chỗ . . . lệnh nào trong các lệnh dưới đây ?

A- A:=0;B- A:=1;C- A:=-1;D- A <> 0;

8- Giả sử các khai báo biến đều hợp lệ. Ðể tính S = 10!, chọn câu nào :   

A- S := 1; i := 1; while i<= 10 do S := S * i;i := i + 1;

B- S := 1; i := 1; while i<= 10 do i := i + 1;S := S * i;

C- S := 0; i := 1; while i<= 10 dobeginS := S * i;i := i + 1;end;

D- S := 1; i := 1; while i<= 10 dobeginS := S * i;i := i + 1;end;

9- Chọn khai báo đúng :   

A- Var A: array[1..10] of integer;B- Var A= array[1..10] of integer;C- Var A:= array[1..10] of integer;D- Var A: array[1,10] of integer;

10- Cho khai báo: 

Var A: Array[1..4] of Real; i : Integer ; Ðể nhập dữ liệu cho A, chọn câu nào :

A- For i:=1 to 4 do Write(’ Nhập A[’, i, ’]:’); Readln(A[i]);B- For i:=1 to 4 do Readln(’ Nhập A[’, i, ’]:’);C- For i:=1 to 4 do Begin Write(’ Nhập A[’, i, ’]:’); Readln(A[i]);

End;D- Write(’ Nhập A:’); Readln(A);

1- Trong ngôn ngữ lập trình Pascal, chương trình sau thực hiện công việc gi? Dem:=0;For ch:=’a’ to ’z’ do

A- Đếm số lượng ký tự khác dấu cách (khoảng trắng) của xâu S;B- Đếm số lượng ký tự là chữ cái in hoa của xâu S;C- Đếm số lượng ký tự là những chữ thường của xâu S;D- Đếm số lượng ký tự là những chữ thường khác nhau của xâu S;

2- Trong ngôn ngữ lập trình Pascal, chương trình sau thực hiện công việc gi? X:= length(s);For i:=x downto 1 doIf S[i] =’ ’ then delete(s,i,1); (’’ là khoảng trắng, dấu cách)

A- Xóa dấu cách(khoảng trắng) đầu tiên trong xâu ký tự S;B- Xóa dấu cách(khoảng trắng) thừa trong xâu ký tự S;C- Xóa dấu cách(khoảng trắng) tại vị trí cuối cùng trong xâu ký tự

S;D- Xóa mọi dấu cách(khoảng trắng) trong xâu ký tự S;

3- Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì? S1:=’anh’; S2:=’em’;, i:=Pos(s1,s);While i<> 0 doBeginDelete(s,i,2);Insert(s1,s,i);

Page 3: trac nghiem pascal.doc

i:=pos(s2,s);End;

A- Thay toàn bộ cụm từ ’anh’ trong xâu S bằng cụm từ ’em’;B- Thay toàn bộ cụm từ ’em’ trong xâu S bằng cụm từ ’anh’;C- Thay toàn bộ cụm từ ’em’ đầu tiên trong xâu S bằng cụm từ

’anh’;D- Thay toàn bộ cụm từ ’anh’ đầu tiên trong xâu S bằng cụm từ

’em’;

4- Trong ngôn ngữ lập trình Pascal sau khi thực hiện xong đoạn chương trình biến Found có giá trị là gi? (s là biến xâu ký tự) Found:=0; x:=length(s);For i:=1 to x div 2 doIf s[i] <> s[x-i+1] then found:=1;

A- Found = 0 nếu s là xâu đối xứng;B- Found = 0 nếu s là xâu không đối xứng;C- Found = 1 nếu s là xâu đối xứng;D- Found không có giá trị gì;

5- Trong ngôn ngữ lập trình Pascal, để xóa ký tự đầu tiên của xâu ký tự S ta viết:   

A- delete(s,1,1);B- delete(s,1,i); {i là biến có giá trị bất kỳ}C- delete(s, length(s),1);D- delete( 1,S,1);

6- Trong ngôn ngữ lập trình Pascal, đoạn chươn trình sau thực hiện công việc nào trong các công việc sau: i:=pos(’ ’,S); {’ ’ là 2 dấu cách}While i<>0 doBeginDelete(s,i,1);i:=pos(’ ’, s);End;

A- Xóa hai dấu cách liên tiếp nhau đầu tiên trong xâu;B- Xóa đi một trong 2 dấu cách đầu tiên trong xâu;

C- Xóa các dấu cách trong xâu s để s không còn 2 dấu cách liền nhau;

D- Xóa các dấu cách liền nhau cuối cùng trong xâu;

7- Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau đây làm công việc gì? I:=pos (’’,X); (’’ la một dấu cách)While i<>0 doBeginDelete(x,I,1);I:=Pos(’’,X);End;

A- Xóa tất cả các dấu cách trong xâu x;B- Xóa tất cả các dấu cách bên trái của xâu x;C- Xóa tất cả các dấu cách bên phải của xâu x;D- Xóa tất cả các dấu cách ở hai đầu của xâu x;

8- Trong ngôn ngữ lập trình Pascal, để in một xâu ra màn hình theo thứ tự ngược lại giữa các ký tự trong xâu (Ví dụ ’abcd’ thì in ra là ’dcba’), đoạn chương trình nào sau đây thực hiện việc này?  

A- For i:=1 to length(s) do write(s[i]);B- For i:= length(s) downto 1 do write(s[i]);C- For i:=1 to length(s) do write(s);D- For i:=1 to length(s) div 2 do write(s[i]);

9- Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì? d:=0;for i:=1 to length(s) doif s[i]=’ ’ then d:=d+1; {’’ là khoảng trắng};

A- Xóa các dấu khoảng trắng trong xâu s;B- Đếm số dấu cách có trong xâu s;C- Xóa đi các chữ số có trong xâu s;D- Xóa đi chữ số đầu tiên trong xâu s;

10- Số lượng phần tử trong tệp:  

Page 4: trac nghiem pascal.doc

A- Không được lớn hơn 128;B- Không được lớn hơn 255;C- Phải được khai báo trước;D- Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa;

Page 5: trac nghiem pascal.doc

1- Trong ngôn ngữ lập trình Pascal, xâu ký tự là gì?   

A- Mảng các ký tự;B- Dãy các ký tự trong bảng mã ASCII;C- Tập hợp các chữ cái trong bảng chữ cái tiếng anh;D- Tập hợp các chữ cái và các chữ số trong bảng chữ cái tiếng

anh;

2- Trong ngôn ngữ lập trình Pascal cách khai báo xâu ký tự nào sau đây là đúng:   

A- S: file of String;B- S: file of char;C- S: String;D- S: Strings[255];

3- Trong ngôn ngữ lập trình Pascal, xâu ký tự có tối đa là:   

A- 8 Ký tựB- 256 ký tựC- 16 Ký tựD- 255 ký tự

4- Trong ngôn ngữ lập trình Pascal xâu ký tự không chứa ký tự nào gọi là:   

A- Xâu trắng;B- Xâu không;C- Xâu rỗng;D- Không phải là xâu ký tự

5- Trong ngôn ngữ lập trình Pascal phần tử đầu tiên của xâu ký tự mang chỉ số là:   

A- 0B- 1

C- Do người lập trình khai báoD- Không có chỉ số

6- Trong ngôn ngữ lập trình Pascal, khai báo nào trong các khai báo sau là sai khi khai báo xâu ký tự.   

A- S: String;B- X1: String[100];C- S: String[256];D- X1:String[1];

7- Trong ngôn ngữ lập trình Pascal sau khi thực hiện đoạn chương trình sau, giá trị của biến S là:S:=’Ha Noi mua thu’;Delete(S,7,8);Insert(’Mua thu’,S,1);   

A- Ha Noi Mua thu;B- Mua thu Ha Noi mua thu;C- Mua thu Ha Noi;D- Ha Noi;

8- Trong ngôn ngữ lập trình Pascal, với xâu ký tự ta có thể:   

A- So sánh hai xâu ký tự;B- So sánh hai xâu ký tự, gán biến xâu cho biến xâu và gán một

ký tự cho biến xâu;C- Gán biến xâu cho biến xâu và gán một ký tự cho biến xâu;D- So sánh và gán một biến xâu cho biến xâu.

9- Trong ngôn ngữ lập trình Pascal, hai xâu ký tự được so sánh dựa trên:   

A- Mã của từng ký tự trong các xâu lần lượt từ trái sang phải;B- Độ dài tối đa của hai xâu;C- Độ dài thực sự của hai xâu;

Page 6: trac nghiem pascal.doc

D- Số lượng các ký tự khác nhau trong 2 xâu;

10- Trong ngôn ngữ lập trình Pascal, hàm Upcase(ch) cho kết quả là:   

A- Chữ cái in hoa tương ứng với ch;B- Xâu ch toàn chữ thường;C- Xâu ch toàn chữ hoa;D- Biến ch thành chữ thường;

1- Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây là đúng?   

A- Type 1chieu=array[1..100] of char;B- Type 1chieu=array[1-100] of char;C- Type mang1c=array(1..100) of char;D- Type mang1c=array[1..100] of char;

2- Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây là đúng?   

A- Type 2mang=array[1..100,1..100] of char;B- Type mang=array[1-100,1-100] of char;C- Type mang2c=array[1..100,1..100] of char;D- Type mang2c=array[1..100][1..100] of char;

3- Trong ngôn ngữ lập trình Pascal:   

A- Các phần tử của mảng một chiều được sắp thứ tự theo chỉ số;B- Các phần tử của mảng một chiều được sắp thứ tự giá trị giảm

dần;C- Các phần tử của mảng một chiều được sắp thứ tự giá trị tăng

dần;D- Các phần tử của mảng một chiều không sắp thứ tự;

4- Trong ngôn ngữ lập trình pascal, với khai báo mảng A: array[1..100,1..100] of integer thì việc truy xuất đến các phần tử như

sau:   

A- A[i],[j]B- A[i;[j]C- A[i][j]D- A[i,j]

5- Trong ngôn ngữ lập trình pascal, với khai báo mảng A:array[1..100] of array[1..100] of integer thì việc truy xuất đến các phần tử như sau:   

A- A[i],[j]B- A[i;[j]C- A[i][j]D- A[i,j]

6- Trong ngôn ngữ lập trình pascal, trong quá trình nhập dữ liệu của mảng một chiều, để giá trị i cũng tăng theo phần tử thứ i ta viết như sau:   

A- Write(’A[’,i,’]=’); readln(A[i]);B- Write(’A[i]=’); readln(A[i]);C- Write(’A[’i’]=’); readln(A[i]);D- Write("A[",i,"]="); readln(A[i]);

7- Trong ngôn ngữ lập trình pascal, trong quá trình nhập dữ liệu của mảng hai chiều, để giá trị i,j cũng tăng theo phần tử thứ i,j ta viết như sau:   

A- Write(’A[’,i,j,’]=’); readln(A[i,j]);B- Write(’A[’,i,’,’,j,’]=’); readln(A[i,j]);C- Write(’A[’i,j’]=’); readln(A[i]);D- Write("A[",i,j,"]="); readln(A[i]);

8- Trong ngôn ngữ lập trình pascal, trong quá trình xuất dữ liệu của mảng hai chiều A[m,n] để các phần tử hiển thị đúng như mô hình

Page 7: trac nghiem pascal.doc

của mảng hai chiều ta viết lệnh như sau:   

A- For i:=1 to m doFor j:=1 to n do Write(A[i,j]:5);

B- For i:=1 to m doBeginFor j:=1 to n do Write(A[i,j]:5);End;

C- For i:=1 to m doBeginFor j:=1 to n do Writeln;End;

D- For i:=1 to m doBeginFor j:=1 to n do Write(A[i,j]:5);Writeln;End;

9-  Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện việc nào trong các việc sau:S:=0;For i:= 1 to n do S:=S+ A[i];   

A- Tính tổng các phần tử của mảng một chiều;B- In ra màn hình mảng A;C- Đếm số phần tử của mảng A;D- Không thực hiện việc nào trong 3 việc trên;

10- Trong ngôn ngữ lập trình Pascal với khai báo như sau:Type mang=array[1..100] of integer;Var a,b:mang;c:array[1..100] of integer;Câu lệnh nào dưới đây hợp đúng:   

A- a:=b;B- b:=c;C- c:=b;D- a:=c;

1- Khai báo nào đúng?   

A- Type T = Set of Real;B- Type T = Set of Integer;C- Type T = Set of String;D- Type T = Set of 0..9;

2- Khai báo nào sai?   

A- Var T: Set of Char;B- Var T: Set of -10..300;C- Var T: Set of "A’..’z’;D- Var T: Set of Boolean;

3- Tổng của [1..5] + [3..10, 20] là tập hợp nào?   

A- [1..10, 20]B- [1..5]C- [1..20]D- [3..5]

4- Hiệu của hai tập hợp [10..15]-[4..12] là tập hợp nào?   

A- [4..15]B- [13..15]C- [4..10]D- [10..12]

5- Cho khai báo:Var T: Set of Char;ch: Char;Sau khi thực hiện các lệnh:T:=["A’.. "D’] * ["A’.. "Z’];For ch:=’A’ to "F’ do T:=T+[ch];Tập T sẽ là?   

Page 8: trac nghiem pascal.doc

A- ["A’..’D’]B- ["A’..’Z’]C- ["A’..’F’]D- ["C’..’F’]

6- Cho khai báo:Var F: File of Integer;i ,j,k: Integer;Chọn câu có các lệnh đều đúng?   

A- Assign( F,T1.DAT); Rewrite(F); Write(F,i,j,k);B- Assign(F,"T1.DAT’); Rewrite(F); Write(F, i+ j+ k);C- Assign(F); Rewrite(F,"T1.DAT’); Write(F,i,j,k);D- Assign(F,"T1.DAT’); Rewrite(F); Write(F,i,j,k);

7- Khi chạy chương trình:Var F: File of Char;ch: Char;BeginAssign(F,"tt.txt’); Rewrite(F);For ch:= "A’ to "F’ do Write(F,ch);Seek(F,4); Read(F,ch);Write(ch); Close(F);End.Kết quả in ra là?   

A- EB- FC- CD- D

8- Cho khai báo:Var F: TEXT;Sau khi thực hiện các lệnh:Assign(F,"tt1.txt’); Rewrite(F);Write(F,123+456); Close(F);

Nội dung của tập tin tt1.txt sẽ là?   

A- 123+456B- 123456C- 579D- 123 456

9- Cho F1 là biến tập tin có định kiểu và F2 là biến tập tin văn bản. Lệnh nào không dùng được?   

A- Seek(F1, 0);B- Seek(F2, 0);C- Write(Filesize(F1));D- Write(FilePos(F1));

10- Cho TT2.TXT là tập tin văn bản có nội dung là:Turbo Pascal 6.0Khi chạy chương trình:Var F: Text;St: String[20];BeginAssign(F,"tt2.txt’); Reset(F);Read(F, St); Write(St);Close(F);End.Sẽ in ra chữ?   

A- Turbo Pascal 6.0B- TurboC- Pascal 6.0D- Turbo Pasca

1- Cho khai báo biến và khai báo đầu của thủ tục TT:Var x,y: Integer;St:String;Procedure TT(Var a: Integer; b: String);Lệnh nào đúng?

A- TT(x +1, St);

Page 9: trac nghiem pascal.doc

B- TT(10, St);C- TT(x, St);D- y:= TT(St, x);

2- Khi chạy chương trình:Var x,y: Real;Function F(x,y: Real): Real;BeginF:=x;If x < y then F:= y;End;BEGINx:=10; y:=15;Write(F(x, y): 0:0);END.Kết quả in ra?   

A- 10B- 15C- 0D- F(x,y)

3- Cho a là biến nguyên a=3, và khai báo thủ tục:Procedure TT(x: Integer);Beginx:=x+2;End.Sau khi gọi thủ tục TT(a) thì Giá trị của biến a là?   

A- 2B- 5C- 3D- 0

4- Cho x, y là hai biến nguyên và khai báo thủ tục:Procedure Doicho(Var a: Integer; b: Integer);

Var z: Integer;Beginz:=a; a:=b; b:=z;End.Sau khi thực hiện các lệnh:x:=7; y:=3;Doicho(x,y);Thì giá trị của x, y là?   

A- x=7, y=7B- x=3, y=3C- x=3, y=7D- x=7, y=3

5- Cho khai báo hàm đệ quy:Function F(a: Integer): Integer;BeginIf a=1 then F:=1 else F:= a*a+ F(a-1);End.Giá trị của hàm F(4) là?   

A- 1B- 25C- 14D- 30

6- Khi chạy chương trình:Var x: Integer;Procedure TT;Beginx:=4; x:= x+5;End;BEGINx:=0; TT;Write(x);END.Kết quả in ra là?   

Page 10: trac nghiem pascal.doc

A- 4B- 5C- 9D- 0

7- Khi chạy chương trình:Var x: Integer;Procedure TINH;Var x: Integer;Beginx:=1; x:= x+12;End;BEGINx:=10; TINH;Write(x);END.Kết quả in ra là?   

A- 10B- 12C- 22D- 13

8- Khi chạy chương trình:Var x: Integer;Procedure TTA;Var x: Integer;Beginx:= 7*5;Write(x, ",’);End;BEGINx:=4; TTA;Write(x:2);END.Kết quả in ra là?   

A- 35, 4B- 4, 35C- 4, 75D- 354

9- Chọn khai báo đúng?   

A- Type Phanso = RecordTu, Mau: Integer;End.

B- Type Phan so = Record;Tu so, Mau so: Integer;End.

C- Var Phanso = Record;Tu, Mau: Integer;End.

D- Type Record = Phanso; Tu, Mau: Integer;End.

10- Chọn khai báo đúng?   

A- Type DIEM = Record;x,y: Real;

B- Type DIEM = Record;x,y: Real;end.

C- Type DIEM = Record;x, y;end.

D- DIEM = Record;x, y: Real;end.

Page 11: trac nghiem pascal.doc

1- Khai báo đầu chương trình con nào đúng?   

A- Function F: Boolean;B- Procedure TT: Integer;C- Proceduce TT(K: Integer);D- Function F(Ch: Char);

2- Cho khai báo biến và khai báo đầu của hàm F:Var x,S: Real;n: Integer;FUNCTION F(y: Real; m: Integer): Real;Lời gọi hàm nào dưới đây là đúng?   

A- S:= F(n, x);B- S:= F( x, n);C- S:= F( n);D- S:= F( x);

3- Cho khai báo biến và khai báo đầu của thủ tục TT như sau: Var x,S: Integer;ch: Char;Procedure TT(y: Integer; kytu: char);Lệnh gọi thủ tục nào đúng?  

A- S:= TT(x, ch);B- TT(ch, x);C- TT;D- TT(x, ch);

4- Khi chạy chương trình:Procedure TINHS;Var i,S: integer;BeginS:=1;For i:=1 to 4 do S:=S*I;Write(S);

End;BEGINTINHS;END.Kết quả in ra sẽ là?   

A- 12B- 6C- 24D- 4

5- Cho khai báo hàm:Function F(x: Integer): Integer;BeginF:=x*x;End.Giá trị của F(2+1) là?   

A- 9B- 3C- 4D- 1

6- Cho khai báo hàm:Function F(x,y: Integer): Integer;BeginIf x < y then F:=x else F:=y;End.Giá trị của F(9,0) là?   

A- 0B- 1C- 2D- 3

7- Cho khai báo hàm:

Page 12: trac nghiem pascal.doc

Function F(k: Integer): Integer;BeginF:=2*k+1;End.Giá trị của hàm F(F(1)) là?   

A- 3B- 7C- 5D- 1

8- Khi chạy chương trình: Procedure TT(a: Integer);BeginRepeat;a:= 2*a;Until a > 15;Write(a);End;BEGINTT(2); END.Kết quả in ra là?   

A- 9B- 16C- 32D- 2

9- Cho khai báo đầu của một hàm:Function F(k: Integer): String;BeginIf k mod 2=0 then F:= "Chan’ else F:= "Le’;End.Muốn gán X:= F(5) thì biến X phải khai báo kiểu gì?   

A- Var X: Real;B- Var X: String;C- Var X: Integer;D- Var X: Char;

10- Cho khai báo đầu của một hàm:Function F(k: Integer): String;BeginIf k mod 2=0 then F:= 'Chan' else F:= 'Le';End.Muốn in Write(F(y)) thì biến y phải khai báo kiểu gì?   

A- Var y: Real;B- Var y: String;C- Var y: Integer;D- Var y: Char;

1- Cho khai báo:Var Chuoi: string[10];x: real;Lệnh nào sau đây là đúng?   

A- Chuoi:= Str(x:5:2);B- Str(x:5:2, Chuoi);C- Chuoi:= x;D- x:= Chuoi;

2- Cho St là biến chuỗi, sau khi thực hiện hai lệnh:St:= Copy( 'PASCAL VERSION 5.5' , 8, 7);Write(St);Kết quả in lên màn hình là?   

A- VERSION 5.5B- VERSIONC- PASCALD- 5.5

3- Cho St là biến chuỗi, sau khi thực hiện bốn lệnh:St:=’ABCDEF’;Delete(St, 3, 2);Insert("XYZ’, St, 2);

Page 13: trac nghiem pascal.doc

Write(St);Kết quả in lên màn hình là?   

A- ABXYZEFB- AXYZBCDEFC- AXYZD- AXYZBEF

4- Cho i và x là hai biến kiểu nguyên. Khi thực hiện lệnh:VAL('1234', x, i);Giá trị của x và i là bao nhiêu?   

A- x = 0 , i = 1234B- x = 1234 , i = 4C- x = 1234 , i = 0D- x = 0 , i = 0

5- Cho các biến St chuỗi và k nguyên. Sau khi gán:St:='Sinh vien Tin hoc hoc Tin hoc';k := Pos('Tin', ST);Giá trị của k là?   

A- k=11B- k=13C- k=26D- k=23

6- Khi chạy chương trình:Var St: string;i,L: integer;BeginSt:='Hom nay thuc tap' L:=Length(St);For i:= 1 to L doIf (St[i] >= 'a') and (St[i] <= 'z') then St[i]:= Upcase (St[i]);Write(St);End.

Chương trình in ra?   

A- Hom Nay Thuc TapB- hom nay thuc tapC- Hom nay thuc tapD- HOM NAY THUC TAP

7- Khi chạy chương trình: Var St: String;i,L: integer;BeginSt:='ABCD'; L:= Length(St);For i:= L Downto 1 do write (St[i]);End.Chương trình in ra?   

A- DCABB- ABCDC- 4321D- DCBA

8- Cho St là biến chuỗi và St:= "AAABAAB’Sau khi thực hiện hai lệnh:While St[1]=’A’ do Delete(St,1,1);Write(St);Kết quả in ra là?   

A- BAABB- AABAABC- BBD- AAA

9- Khai báo đầu thủ tục nào đúng?   

A- Procedure TT(x: Integer): Real;B- Procedure TT(x: Integer; x: Real);C- Procedure TT(x: Integer; Var a: Real);D- Procedure TT(x);

Page 14: trac nghiem pascal.doc

10- Khai báo đầu hàm nào đúng?   

A- Function F(x: real);B- Function F(x: integer): Real;C- Function F(x): Real;D- Function F(St: String[20]): Integer;

1- Cho khai báo biến:Var A: array[1..5] of Integer;Chọn lệnh đúng?   

A- A[1]:= 4/2B- A[2]:= -6C- A(3):= 6D- A:= 10

2- Trong khai báo sau còn bỏ trống … một chỗ, vì chưa xác định được kiểu dữ liệu của biến Max:Var A: Array["a’..’d’] of Real;Ch: Char;Max: …Muốn biến Max lưu giá trị lớn nhất của mảng A thì cần khai báo biến Max kiểu gì vào chỗ …?   

A- CharB- StringC- IntegerD- Real

3- Cho khai báo:Var A: Array[1..4] of Integer;i: Integer;Sau khi thực hiện các lệnh:For i:=1 to 4 do A[i]:= i;For i:=1 to 4 do A[i]:= A[i]+1;Thì mảng A có giá trị là?   

A- A[1]=1, A[2]=2, A[3]=3, A[4]=4B- A[1]=2, A[2]=3, A[3]=4, A[4]=5C- A[1]=0, A[2]=1, A[3]=2, A[4]=3D- A[1]=1, A[2]=1, A[3]=1, A[4]=1

4- Khai báo nào đúng?   

A- Var A: array[1..n,1..m] of integer;B- Const n=2 m=3;

Var A: array[1..n,1..m] of integer;C- Var n, m : integer;

A: array[1..n,1..m] of integer;D- Var A: array[3, 2] of Integer;

5- Cho khai báo:Var A: array[1..2,1..3] of Real;i,j: integer;Ðể nhập dữ liệu cho ma trận A, chọn?   

A- Write('Nhập A:’);Readln(A);

B- For i:=1 to 2 do Readln(A[i,j]);C- For i:=1 to 2 do

For j:=1 to 3 doBeginWrite('Nhập A[",i,j,"]:’);readln(A[i, j]);End.

D- For i:=1 to 2 doFor j:=1 to 3 doWrite('Nhập A[',i,j,']:’);Readln(A[i,j]);

6- Cho khai báo:Var A: array[1..2,1..3] of Real;i,j: integer;

Page 15: trac nghiem pascal.doc

Max: Real;Ðể tìm số lớn nhất của ma trận A, chọn câu nào?   

A- Max:=A[1,1];If Max < A[i,j] then Max:=A[i,j];

B- Max:=A[1,1];For i:=1 to 2 doIf Max < A[i,j] then Max:=A[i,j];

C- A[1,1]:=Max;For i:=1 to 2 doFor j:=1 to 3 doIf Max < A[i,j] then A[i,j]:=Max;

D- Max:=A[1,1];For i:=1 to 2 doFor j:=1 to 3 doIf Max < A[i,j] then Max:=A[i,j];

7- Khi chạy chương trình:Var A: array[1..2,1..3] of integer;i,j,S: integer;BeginA[1,1]:= 3; A[1,2]:= -1; A[1,3]:= -4;A[2,1]:= -9; A[2,2]:= 0; A[2,3]:= 5;S:=0;for i:=1 to 2 dofor j:=1 to 3 doIf A[i,j] < 0 then S:=S+1;Write(S);End.Kết qủa in ra gía trị của S là?   

A- 0B- -9C- 3D- 5

8- Cho X1, X2,...Xn là một mảng số thực. Ðể tính biểu thức:

S=(1/N)*(X1 + X2 + … + XN);Ta có đoạn chương trình sau gồm ba lệnh, một lệnh còn bỏ trống …:S:=0;For i:=1 to N do S:= S + X[i];...Hãy điền lệnh thích hợp vào chỗ …?   

A- Write('S=', S);B- Readln(S);C- Writeln(N);D- S:= S/N;

1- Cho S,i và N>0 là các biến nguyên. Ðể tính S=N!, chọn câu nào?   

A- S:=1 For i:=1 to N do S:=S*iB- S:=0 For i:=1 to N do S:=S*iC- S:=1 For i:=1 to N do S:=S*ND- S:=1 For i:=1 to N do S:=S+i

2- Cho S = 12 + 22 + ... + 1002. Nhóm lệnh nào tính Sai giá trị của S?   

A- S:=0 FOR i:=1 TO 100 DO S:=S+i*iB- S:=0 FOR i:=1 TO 100 DO S:=S+SQR(i)C- S:=0 FOR i:=100 DOWNTO 1 DO S:=S+i*iD- S:=1 FOR i:=1 TO 100 DO S:=S+i*i

3- Khi chạy chương trình:Var S,i,j: Integer;BeginS:=0;for i:=1 to 3 dofor j:=1 to 4 do S:=S+1;End.Giá trị sau cùng của S là?   

Page 16: trac nghiem pascal.doc

A- 0B- 12C- 3D- 4

4- Cho S và i biến kiểu nguyên. Khi chạy đoạn chương trình:S:= 0 i:= 1;While i<= 6 doBeginS:= S + i;i:= i + 2;End;Giá trị sau cùng của S là?   

A- 6B- 9C- 11D- 0

5- Khi chạy chương trình:Var S,i: Integer;BeginS:=0;i:=1;RepeatS:= S + i * i;i:= i + 1;Until i > 4End.Giá trị sau cùng của S là?   

A- 0B- 14C- 16D- 30

6- Cho i là biến nguyên. Khi chạy đoạn chương trình:i:=5;Repeati:= i + 1;Until i > 4Giá trị sau cùng của i là?   

A- 6B- 4C- 5D- 0

7- Cho m, n, i là các biến nguyên. Khi chạy đoạn chương trình:m:=4; n:=5; i:=5;Repeati:=i+1;Until (i Mod m = 0) and (i Mod n = 0);Giá trị sau cùng của i là?   

A- 0.33B- 5C- 4D- 20

8- Cho chương trình:Var A: Real;Begin. . .While A = 0 doBeginWrite ('nhap A # 0:');Readln(A);End; End.Ðể lệnh Readln(A) được thực hiện ít nhất một lần, phải điền vào chỗ … lệnh nào trong các lệnh dưới đây?   

A- A:=0B- A:=1

Page 17: trac nghiem pascal.doc

C- A:=-1D- A <> 0

9- Chọn khai báo đúng?   

A- Var A: array[1..10] of integer;B- Var A= array[1..10] of integer;C- Var A:= array[1..10] of integer;D- Var A: array[1,10] of integer;

10- Cho khai báo:VarA: Array[1..4] of Real;i: Integer;Ðể nhập dữ liệu cho A, chọn câu nào?   

A- For i:=1 to 4 doWrite('Nhập A[", i, "]:’);Readln(A[i]);

B- For i:=1 to 4 doReadln('Nhập A[", i, "]:’);

C- For i:=1 to 4 doBeginWrite("Nhập A[", i, "]:’)Readln(A[i]);End.

D- Write("Nhập A:’);Readln(A);

10- Cho S và i là biến nguyên. Khi chạy đoạn chương trình:s:=0;For i:=1 to 10 do s := s+i;Writeln(s);Kết quả in lên màn hình là?   

A- 11B- 55C- 100D- 101

1- Trong Turbo Pascal có sẵn một thủ tục khởi tạo chế độ đồ họa là?

A- Graph(var GD,GM: Integer, DP:string[n]);B- Unitgraph(var GD,GM: Integer, DP:string[n]);C- Initgraph(var GD,GM: Integer, DP:string[n]);

2- Cho ví dụ sau:Program Ve_hinh_tron;Uses graph;Var GD,GM: Integer;BeginGD:= detect; Initgraph(GD,GM,’b:\tp\bgi’);If graphresult <> grok then halt(1);Circle(320,240,50);Readln; CloseGraph;End.Hãy cho biết kết quả của đoạn chương trình trên?   

A- Là một chương trình vẽ một đường tròn có tâm tại chính giữa màn hình và bán kính là 50 Pixel

B- Vẽ hình tròn có bán kình là 240 PixelC- Vẽ hình tròn có bán kính là 320 Pixel

3- Hàm nhận giá trị là Grok, điều này có ý nghĩa?   

A- Tốt, không có lỗiB- Không tìm thấy đơn vị đồ họaC- Không có phần cứng đồ họa

4- Hàm nhận giá trị là Grnotdetected, điều này có ý nghĩa?   

A- Không tìm thấy các tệp điều khiển màn hình đồ họaB- Không có phần cứng đồ họaC- Không tìm thấy đơn vị đồ họa

Page 18: trac nghiem pascal.doc

5- Để vẽ hình trong Pascal người ta sử dụng lệnh MOVETO(x,y). Lệnh này có tác dụng?   

A- Di chuyển con trỏ tới một tọa độ tùy ýB- Di chuyển con trỏ tới tọa độ x,y (với x là hoành độ, y là

tung độ)C- Cả 2 đáp án trên đều đúng

6- Thủ tục vẽ một đường thẳng từ tọa độ x1,y1 đến tọa độ x2,y2 là?   

A- BAR(x1,y1,x2,y2)B- LINE(x1,y1,x2,y2)C- RECTANGLE(x1,y1,x2,y2)

7- Thủ tục CIRCLE(x,y,r) có tác dụng gì trong chế độ đồ họa?   

A- Vẽ đường tròn tâm tại tọa độ x,y bán kính bằng r PixelB- Vẽ đường tròn tâm tại tọa độ x,r bán kính bằng y PixelC- Vẽ đường tròn tâm tại tọa độ y,r bán kính bằng x Pixel

8- Thủ tục BAR(x1,y1,x2,y2): Vẽ một hình chữ nhật góc trên bên trái có tọa độ có tọa độ x1,y1 góc dưới bên phải có tọa độ x2,y2. Khi dùng kết hợp với thủ tục nào sẽ đồng thời cho phép kẻ các vân hoa trên nền và tô màu cho nền?   

A- LINETO(x,y)B- SETFILLSTYLE(n1,n2)C- PUTPIXEL(x,y,n)

9- Khi đang làm việc trong chế độ đồ họa, muốn viết chữ trong các hình vẽ ta sử dụng thủ tục nào sau đây?   

A- OUTTEXTXY(x,y,chuỗi)B- OUTTEXT(Chuỗi)C- Cả 2 đáp án trên đều đúng

10- Thủ tục SOUND(n) có tác dụng?   

A- Tạo ra âm thanh với tần số n, ở đây n phải là một số nguyên dương

B- Kéo dài tín hiệu âm thanh trong khoảng thời gian n miligiây

C- Ngắt tín hiệu âm thanh1- Bảng điểm của một lớp học bao gồm các thành phần sau: Hoten,

Gioitinh, Lop, Diachi, Toan, Ly, Hoa,…, các thành phần này tạo nên dữ liệu cho một người trong đơn vị và được gọi là?   

A- Một bản ghiB- Một trườngC- Một đơn vị cấu trúc

2- Tệp dữ liệu là một dãy các phần tử được sắp xếp như thế nào?   

A- Một cách không tuần tựB- Một cách tuần tựC- Cả 2 đáp án trên đều sai

3- Theo quy định của DOS, tên tệp được đặt như thế nào?   

A- Phần tên dài không quá 8 ký tựB- Phần đuôi dài không quá 3 ký tựC- Cả 2 đáp án trên đều đúng

4- Các loại tệp nào dưới đây được sử dụng trong Pascal?   

A- Tệp có định kiểu và tệp không định kiểuB- Tệp có định kiểu và tệp văn bảnC- Tệp có định kiểu, tệp văn bản và tệp không định kiểu

5- Tác dụng lớn nhất của kiểu dữ liệu Tệp là?   

Page 19: trac nghiem pascal.doc

A- Có thể lưu giữ các dữ liệu nhập vào từ bàn phím cùng các kết quả xử lý trong bộ nhớ RAM ra tệp để dùng nhiều lần

B- Có thể lưu giữ các dữ liệu nhập vào từ bàn phím cùng các kết quả xử lý trong bộ nhớ RAM ra tệp để dùng duy nhất một lần

C- Lưu kết quả đã được xử lý

6- Tệp có định kiểu được khai báo sau từ khóa nào?   

A- VARB- BEGINC- TYPE

7- Tệp truy nhập trực tiếp là tệp?   

A- Có thể truy nhập vào phần tử bất kỳ trong tệpB- Không thể truy nhập vào phần tử nào của tệpC- Chỉ truy nhập vào một phần tử

8- Để mở một tệp chuẩn bị lưu trữ dữ liệu Pascal sử dụng các thủ tục chuẩn nào sau đây?   

A- ASSIGN(Biến tệp, Tên tệp);B- REWRITE(Biến tệp);C- Cả 2 đáp án trên đều đúng

9- Các phần tử của Tệp được lưu giữ tuần tự thành một dãy và việc truy nhập vào phần tử phụ thuộc vào thiết bị đọc, ghi của máy vi tính. Turbo Pascal có thể xử lý các loại tệp là?   

A- Tệp truy nhập tuần tựB- Tệp truy nhập trực tiếpC- Cả 2 loại tệp nêu trên

10- Các kiểu dữ liệu chủ yếu xử lý trong bộ nhớ RAM và in kết quả ra màn hình hoặc máy in. Khi kết thúc chương trình hoặc mất điện cả dữ liệu nhập vào và kết quả xử lý đều?   

A- Tồn tại trên RAMB- Bị mấtC- Tồn tại trên ROM

1- Chương trình con trong Turbo Pascal thông thường gồm mấy loại và là những loại gì?   

A- 1 loại (là chương trình con Thủ tục - Procedure)B- 1 loại (là chương trình con Hàm - Function)C- 2 loại (là chương trình con Hàm – Function và chương

trình con Thủ tục – Procedure)D- A, B và C đều sai

2- Chương trình con Hàm (Function) là một loại chương trình con cho kết quả là?   

A- Một giá trị vô hướngB- Một giá trị xác địnhC- Cả 2 đáp án trên đều đúngD- Cả 2 đáp án trên đều sai

3- Trong Turbo Pascal đã có sẵn một số chương trình con. Vậy sin(x), sqrt(x)… thuộc chương trình con nào?   

A- FunctionB- ProcedureC- Cả 2 loại trênD- Tất cả đều sai.

4- Trong Turbo Pascal đã có sẵn một số chương trình con. Vậy read(), write(), gotoxy(x1,x2)… thuộc chương trình con nào?   

A- FunctionB- ProcedureC- Cả 2 loại trên

Page 20: trac nghiem pascal.doc

D- Tất cả đều sai.

5- Kiểu của tham số trong chương trình con phải là?   

A- Kiểu đã được định nghĩa sẵn trong PascalB- Kiểu đã được định nghĩa trong phần đầu chương trình

chínhC- Cả 2 đáp án trên đều đúngD- Cả 2 đáp án trên đều sai

6- Nếu không muốn thay đổi giá trị của các tham số thực trong chương trình chính khi truyền nó cho chương trình con thì tham số hình thức trong chương trình con phải là?   

A- Tham trịB- Tham biếnC- Tham trị hay tham biến đều không quan trọngD- Tất cả đều sai.

7- Biến khai báo ở đầu chương trình chính được gọi là?   

A- Biến toàn cụcB- Biến cục bộC- Cả 2 đáp án trên đều saiD- Cả 2 đáp án trên đều đúng

8- Chọn câu trả lời đúng nhất: Biến cục bộ là?   

A- Những biến khai báo ở đầu chương trình chínhB- Những biến khai báo trong chương trình conC- Những biến khai báo trong chương trình con chỉ có tác

dụng trong nội bộ chương trình con đóD- Tất cả đều sai

9- Thủ tục RMDIR(Tên thư mục) cho phép?   

A- Chuyển thư mục có tên viết trong dấu ngoặc đơn thành thư mục hiện thời

B- Xóa một thư mục rỗng trên ổ đĩa hiện thờiC- Đổi từ tên cũ thành tên mớiD- Cả ba câu trên đều sai

10- Thủ tục CLREOL có tác dụng?   

A- Xóa sạch màn hình, đưa con trỏ về tọa độ (1,1)B- Xóa các ký tự từ vị trí hiện thời đến hết dòngC- Chuyển con trỏ tới một tọa độ nào đóD- Tất cả các ý trên đều đúng

3- Trong cấu trúc tuyển chọn, lệnh tuyển chọn CASE .. OF .. bao giờ cũng phải bắt đầu bằng từ khóa CASE và kết thúc bằng từ khóa nào?   

A- FunctionB- End;C- BeginD- Tất cả đều sai.

4- Thủ tục Random(15) là một thủ tục chuẩn cho kết quả là một số ngẫu nhiên n (kiểu Integer). Giá trị của n nằm trong khoảng nào?   

A- 5 <= n <= 15B- 0 <= n <= 10C- 1 <= n <= 15D- 0 <= n <= 15

5- Sự khác nhau giữa mảng và chuỗi là ở chỗ khi định nghĩa mảng thì?   

A- Số phần tử chuỗi nhỏ hơn mảngB- Số phần tử của mảng là xác địnhC- Số phần tử của mảng đã được xác định, còn số phần tử

chuỗi có thể nhỏ hơn độ dài đã định nghĩa

Page 21: trac nghiem pascal.doc

D- Tất cả đều đúng

6- Mỗi phần tử của chuỗi được xác định bởi vị trí của nó trong chuỗi, để truy nhập vào một phần tử nào đó ta phải viết tên biến chuỗi kèm theo vị trí của ký tự đặt trong dấu?   

A- [..]B- {..}C- (..)D- Cả A, B, C đều đúng

7- Hai chuỗi ký tự được gọi là bằng nhau nếu?   

A- Các ký tự có cùng vị trí trong 2 chuỗi giống nhauB- Độ dài thực của chúng bằng nhauC- Cả 2 đáp án trên đều đúngD- Cả 2 đáp án trên đều sai

9- Cho chuỗi sau:Diachi:= ' Khu Hoan kiem – Ha noi ';Sau khi sử dụng thủ tục DELETE(Diachi,15,9); thì chuỗi này sẽ còn lại là?   

A- Ha noiB- Khu Hoan kiemC- Khu Hoan kiem – Ha noiD- Cả ba câu trên đều sai

10- Cho chuỗi sau:Diachi:= ' Khu Hoan kiem – Ha noi ';Sau khi sử dụng thủ tục INSERT('Tap the',Diachi,6); thì kết quả hiển thị của chuỗi này sẽ là?   

A- Khu Tap the Hoan kiemB- Tap the Khu Hoan kiemC- Khu Hoan kiem Tap the

D- Cả a, b và c đều sai3- Để khai báo nhãn người ta dùng từ khóa nào sau đây?   

A- USESB- CONSTC- LABLED- Tất cả các ý trên đều sai

5- Để khai báo các hàm người ta dùng từ khóa nào sau đây?   

A- FUNCTIONB- TYPEC- PROCEDURED- Tất cả đều đúng.

7- Để mô tả các kiểu dữ kiệu mới người ta sử dụng từ khóa nào?   

A- USESB- PROGRAMC- TYPED- Tất cả đều sai.

8- Từ khóa PROCEDURE dùng để?   

A- Khai báo các kiểu người dùng định nghĩaB- Khai báo các chương trình conC- Khai bào thân chương trìnhD- Câu b,c đúng

10- Khi xây dựng một chương trình lớn, có những phần đã hoàn chỉnh và có thể sử dụng chung cho một số chương trình khác, người ta thường ghi chúng riêng thành các phần gọi là?   

A- Đơn vị chương trình (Unit)B- Các tệp thực thiC- Các chương trình khởi tạo

Page 22: trac nghiem pascal.doc

D- Tất cả đều đúng

10- Cho khai báo sau trong ngôn ngữ Pascal:TYPE a=recordHoten: array[0..40] of char;Tuoi: integerEND;Pt=^b;b=RECORDinfo: 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)D- New(p1^.info)

4- Xét chương trình Pascal sau?PROGRAM Vidu;TYPE d=ARRAY [ 1..n] of integer;VAR i: integer; a:=d;BEGINRead(n);FOR i:=1 TO n DOA[i]:=i+1;END   

A- Chương trình báo lỗi ngữ pháp khi dịchB- Chương trình báo lỗi khi thi hànhC- Cả hai câu trên đều saiD- Cả hai câu trên đều đúng

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;B- z:=x/y;C- k:=’c’ IN a;D- n:=i/j;

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;u, v: array[1..3] of integer;Hãy cho biết câu lệnh nào dưới đây bị sai?   

A- a:=["a’,b]B- z:=x/y;C- k:=’c’ IN aD- n:=I DIV j;

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 aD- b:=b+’b’