1. Which of the following Pascal functions which change the value 6.6 to an integer value of 7
Hàm nào sau đây của PASCAL mà nó sẽ thay đổi giá trị 6.6 thành một giá trị nguyên là 7.
a. Odd
b. Round
c. Trunc
d. abs
2. Which of the following Pascal operators has the least priority
Thao tác nào sau đây trong PASCAL có độ ưu tiên thấp nhất
=
+
/
NOT
3. Write a simple Pascal procedure called Welcome which prints the text string "Welcome to Pascal"
Viết một thủ tục đơn giản trong PASCAL có tên là Welcom, mà nó có chức năng in một xâu “Welcome to Pascal” ra màn hình.
procedure Welcome;
begin
writeln('Welcome to Pascal')
end;
4. Write a Pascal procedure called Multiply, which accepts two integers, number1 and number2, and prints the result of multiplying the two integers together.
Viết một thủ tục trong PASCAL có tên là Multiply, mà nó có chức năng nhận 2 số nguyên number1 và number2, sau đó in kết quả nhân 2 số nguyên đó với nhau ra màn hình.
procedure Multiply( number1, number2 : integer );
var Result : integer;
begin
Result := number1 * number2;
writeln( Result )
end;
5. What is the output of the following Pascal program
Kết quả đầu ra của chương trình PASCAL dưới đây là gì?
program Sample( output );
var x, y : integer;
procedure godoit( x, y : integer );
begin
x := y; y := 0;
writeln( x, y );
end;
begin
x := 1; y := 2;
godoit( x, y );
writeln( x, y )
end.
Program Output (đáp án)
2 0
1 2
6. Write a Pascal function called Multiply2 which returns an integer result. The function accepts two integer parameters, number1 and number2 and returns the value of multiplying the two parameters
Viết một hàm có tên là Multiply2 mà nó trả về kết quả là một số nguyên. Hàm này nhận 2 tham số kiểu nguyên là number1 và number2, sau đó trả về giá trị của kết quả nhân 2 tham số trên.
function Multiply2( number1, number2 : integer ) : integer;
var Result : integer;
begin
Result := number1 * number2;
Multiply2 := Result
end;
7. Hãy tạo một kiểu dữ liệu bản ghi mới để lưu trữ thông tin sinh viên gồm: họ tên (dài 25 ký tự), điểm toán, điểm lý, điểm hóa, điểm trung bình. Và khai báo một biến có tên là SV với kiểu dữ diệu bàn ghi đề cập ở trên. Sau đó viết lệnh hiển thị nội dung các giá trị thành phần của biến SV ở trên.
a. type SinhVien = RECORD
hoten : string[25];
dtoan : byte;
dly : byte;
dhoa : byte;
dTB : real;
END;
b. Var SV: SinhVien;
c. write(SV.hoten, “ “, SV.dtoan:3, SV.dly:3, SV.dhoa:3, SV.dTB:5:2)
8. Phân đoạn chương trình sau từ khóa Var dùng để làm gì?
a. Khai báo hằng số
b. Khai báo biến
c. Nơi để viết mã lệnh cho chương trình
d. Khai báo kiểu dữ liệu mới
9. Một biến kiểu Integer dùng để lưu trữ dữ liệu nào sau đây?
a. Một số từ 0 đến 65536.
b. Các ký tự và số
c. Một giá trị dữ liệu bất kỳ.
d. Một số từ -32768 đến 32767.
10. Bạn làm thế nào để xác định số chữ số sau dấu chấm (phảy) thập phân được in với lệnh writeln().
a. Gõ máy tính nhiều lần.
b. Dựa vào giá trị sau dấu 2 chấm thứ hai
c. Đặt số chữ số sau dấu chấm thập phân trong cặp ngoặc đơn tiếp theo sau tên biến.
d. Dựa vào giá trị sau dấu 2 chấm thứ nhất
11. Hàm nào được sử dụng để tìm Sine của một góc
a. cos()
b. sin()
c. arctan()
d. sqrt()
12. Một mảng là gì?
a. Là một xâu ký tự dài.
b. Một số nguyên có dấu
c. Một danh sách các giá trị
d. Một vòng lặp while
13. Bạn có thể sử dụng lệnh gì thay cho việc sử dụng lệnh if?
a. Case
b. when
c. inSituation
d. checkCondition
14. Bạn làm thế nào để thay đổi màu của chữ?
a. textColor(integer)
b. foreColor(integer)
c. backColor(integer)
d. changeColor(integer)
15. Bạn không thể sử dụng kiểu dữ liệu gì với lệnh case
a. char
b. integer
c. boolean
d. string
16. Lệnh gì được sử dụng để dừng chương trình của bạn đang chạy
a. stop
b. halt
c. cease
d. pleaseStop!
17. Unit nào được sử dụng trong đa số chương trình pascal?
a. Strings
b. Graph
c. Crt
d. Turbo
18. Những đối tượng khác với các bản ghi như thế nào?
a. Chúng không có các thuộc tính
b. Chúng chiếm ít bộ nhớ
c. Chúng có các thủ tục giống như các thuộc tính
d. Chúng chính xác như nhau.
19. Một trong các ý sau không phải là vòng lặp trong Pascal?
a. while .. do
b. for .. do
c. repeat .. until
d. do .. loop
20. Lệnh gì được sử dụng để định vị con trỏ trên màn hình
a. locate(x,y)
b. gotoXY(x,y)
c. position(x,y)
d. cursorPos(x,y)
21. Một trong các hàm lượng giác không có trong pascal
a. tan
b. cos
c. sin
d. arctan
22. X sẽ bằng bao nhiêu nếu trong pascal có mã lệnh sau X := 7 * 8-5 mod 3
a. 0
b. 3
c. 51
d. 54
23. Bạn dùng lệnh nào sau đây để xóa sạch màn hình trong Pascal?
a. clearScreen
b. cls
c. cs
d. clrscr
24. Từ nào trong các từ sau là một từ khóa trong Pascal
a. integer
b. boolean
c. real
d. type
25. Những gì chỉ có thể khai báo trong phần sau từ khóa type
a. Các đối tượng
b. Các mảng
c. Các xâu ký tự
d. Các giá trị logic
26. Kết quả đầu ra của chương trình PASCAL dưới đây là gì?
program Sample( output );
var x, y : integer;
procedure godoit( x, y : integer );
begin
x := y; y := 0;
end;
begin
x := 1; y := 2;
godoit( x, y );
writeln( x, y )
end.
Kết quả in ra màn hình
a. 2 0
b. 1 2
c. 2 2
d. 1 0
27. What is the output of the following Pascal program
Kết quả đầu ra của chương trình PASCAL dưới đây là gì?
program Sample( output );
var x, y : integer;
procedure godoit( x, y : integer );
begin
x := y; y := 0;
writeln( x, y );
end;
begin
x := 1; y := 2;
godoit( x, y );
end.
Kết quả in ra màn hình
a. 2 0
b. 1 2
c. 2 2
d. 1 0
28. What is the output of the following Pascal program
Kết quả đầu ra của chương trình PASCAL dưới đây là gì?
program Sample( output );
var x, y : integer;
procedure godoit( Var x, y : integer );
begin
x := y; y := 0;
end;
begin
x := 1; y := 2;
godoit( x, y );
writeln( x, y );
end.
Kết quả in ra màn hình
a. 2 0
b. 1 2
c. 2 2
d. 1 0
29. What is the output of the following Pascal program
Kết quả đầu ra của chương trình PASCAL dưới đây là gì?
program Sample( output );
var x, y : integer;
procedure godoit( Var x, y : integer );
begin
x := y; y := 0;
writeln( x, y );
end;
begin
x := 1; y := 2;
godoit( x, y );
end.
Kết quả in ra màn hình
a. 2 0
b. 1 2
c. 2 2
d. 1 0
Câu 1: 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. s = 11
b. s = 55
c. s = 100
d. s = 101
Câu 2: 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;
Câu 3: 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;
Câu 4: 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. 4
b. 3
c. 12
d. 0
Câu 5: 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
Câu 6: 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
Câu 7: 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. 6
b. 4
c. 5
d. 0
Câu 8: 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;
Repeat
i:=i+1;
Until (i Mod m = 0) and (i Mod n = 0);
Giá trị sau cùng của i là :
a. 20
b. 5
c. 4
d. 0
Câu 9: Cho chương trình :
Var A : Real;
Begin
. . .
While A = 0 do
begin
write ('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:=0;
b. A:=1;
c. A:=-1;
d. A <> 0;
Câu 10: 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 do
begin
S := S * i;
i := i + 1;
end;
d. S := 1; i := 1;
while i<= 10 do
begin
S := S * i;
i := i + 1;
end;
Câu 11: 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;
Câu 12: 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);
Câu 13: Cho khai báo biến :
Var A : array[1..5] of Integer;
Chọn lệnh đúng :
a. A[1] := 4/2 ;
b. A[2] := -6 ;
c. A(3) := 6 ;
d. A := 10 ;
Câu 14: 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 gía 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. Char
b. Integer
c. String
d. Real
Câu 15: 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ó gía trị là :
a. A[1]=1, A[2]=2, A[3]=3, A[4]=4
b. A[1]=2, A[2]=3, A[3]=4, A[4]=5
c. A[1]=0, A[2]=1, A[3]=2, A[4]=3
d. A[1]=1, A[2]=1, A[3]=1, A[4]=1
Câu 16: 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;
Câu 17: 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 do
begin
write(‘Nhập A[‘, i, j, ‘]:’);
readln(A[i, j]);
end;
d. For i:=1 to 2 do
For j:=1 to 3 do
write(‘Nhập A[‘, i, j, ‘]:’);
readln(A[i, j]);
Câu 18: Cho khai báo :
Var
A : array[1..2,1..3] of Real;
i, j : integer; 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 do
if Max < A[i,j] then Max:=A[i,j];
c. A[1,1]:=Max ;
For i:=1 to 2 do
For j:=1 to 3 do
if Max< A[i,j] then A[i,j]:=Max;
d. Max:=A[1,1];
For i:=1 to 2 do
For j:=1 to 3 do if Max < A[i,j] then Max:=A[i,j];
Câu 19: Khi chạy chương trình :
Var
A : array[1..2,1..3] of integer;
i, j, S : integer;
Begin
A[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 do
for j:=1 to 3 do If 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. 0
b. -9
c. 3
d. 5
Câu 20: Cho biến SS kiểu lô gic. Lệnh nào làm SS có gía trị là TRUE :
a. SS := 'a' < 'A';
b. SS := 'A' = 'a';
c. SS := 'an' < 'a';
d. SS := 'PASCAL' < 'pascal';
Câu 21: Cho khai báo :
Var
Ho, ten : String[15];
-Lệnh nào sai :
a. Write('Ho ten la : ' ; Ho ; Ten);
b. Write('Ho ten la : ' + Ho + Ten);
c. Write('Ho ten la : ', Ho , Ten);
d. Write('Ho ten la : ', Ho + Ten);
Câu 22: Cho khai báo :
Var
Chuoi : string[10];
x : real;
- Lệnh nào đúng :
a. Chuoi := Str(x:5:2) ;
b. Str(x:5:2, Chuoi);
c. Chuoi := x ;
d. x := Chuoi ;
Câu 23: 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 qủa in lên màn hình là:
a. VERSION 5.5
b. VERSION
c. PASCAL
d. 5.5
Câu 24: 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);
Write(St);
-Kết qủa in lên màn hình là:
a. ABXYZEF
b. AXYZBCDEF
c. AXYZ
d. AXYZBEF
Câu 25: Cho i và x là hai biến kiểu nguyên. Khi thực hiện lệnh :
VAL('1234', x, i);
-Gía trị của x và i là bao nhiêu :
a. x = 0 , i = 1234
b. x = 1234 , i = 4
c. x = 1234 , i = 0
d. x = 0 , i = 0
Câu 26: 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) ;
-Gía trị của k là :
a. k=13
b. k=11
c. k=26
d. k=23
Câu 27: Khi chạy chương trình :
Var
St : string;
i, L : integer;
Begin
St :='So Buu chinh Vien thong'; L:=Length(St);
For i := 1 to L do
If (St[i] >= 'a') and (St[i] <= 'z') then St[i]:= Upcase (St[i]);
Write (St);
End.
-Chương trình in ra :
a. So Buu chinh Vien Thong
b. so buu chinh vien thong
c. So Buu Chinh Vien Thong
d. SO BUU CHINH VIEN THONG
Câu 28: Khi chạy chương trình :
Var
St : String;
i,L : integer;
Begin
St:='ABCD'; L := Length(St);
For i:= L Downto 1 do write (St[i]);
End.
-Chương trình in ra :
a. DCAB
b. ABCD
c. 4321
d. DCBA
Câu 29: 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 qủa in ra là:
a. AABAAB
b. BAAB
c. BB
d. AAA