wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Ôn tập HKI Tin học 11 (lần 3)

Total questions: 55

Worksheet time: 2hrs 50mins

Name
Class
Date
1.

Chương trình dịch được chia làm?

a)

Thông dịch và biên dịch.

b)

Thông dịch và phiên dịch

c)

Phiên dịch và thông dịch.

d)

Thông dịch, phiên dịch và biên dịch.

2.

Các thành phần cơ bản của ngôn ngữ lập trình:

a)

Bảng chữ cái, cú pháp, ngữ nghĩa

b)

Cú pháp, ngữ nghĩa

c)

Bảng chữ cái, cú pháp

d)

Bảng chữ cái, ngữ nghĩa

3.

Chú thích trong Pascal được đặt giữa cặp dấu:

a)

{ }

b)

( )

c)

(*)

d)

{* *}

4.

Chọn tên đúng trong Pascal:

a)

Vi du2

b)

Vi du

c)

2AB

d)

Bai1_mh

5.

Chương trình sau có mấy lỗi?

Program vi du;

Begin

Writeln(' xin chao!);

End.

a)

1

b)

2

c)

3

d)

4

6.

Cú pháp để khai báo biến là:

a)

Var <danh sách biến>: <Kiểu dữ liệu>

b)

Var <danh sách biến>: <Kiểu dữ liệu>;

c)

Var <danh sách biến>:= <Kiểu dữ liệu>

d)

Var <danh sách biến>:= <Kiểu dữ liệu>;

7.

Khi khai báo các biến cùng kiểu dữ liệu thì các biến được viết cách nhau bởi dấu:

a)

.

b)

,

c)

;

d)

:

8.

Trong khai báo dưới đây bộ nhớ cấp phát cho các biến tổng cộng bao nhiêu byte?

Var x,y,z: integer;

a,b: real;

a)

10

b)

12

c)

14

d)

18

9.

Trong pascal, hàm abs(x) là hàm:

a)

Trả về giá trị bình phương của x

b)

Trả về giá trị căn bậc hai của x

c)

Trả về giá trị tuyệt đối của x

d)

Trả về giá trị loogarit tự nhiên của x

10.

Trong NNLT Pascal, để chạy chương trình ta dùng tổ hợp phím:

a)

Ctrl + F9

b)

ALT+ F9

c)

ALT + F3

d)

Ctrl+ F3

11.

Chức năng của lệnh Readln là:

a)

Xuống dòng mới

b)

Dừng chương trình

c)

Đọc vào 1 số từ bàn phím

d)

Kết thúc chương trình

12.

Với cấu trúc rẽ nhánh if<điều kiện> then <câu lệnh 1> else <câu lệnh 2>;

Câu lệnh 1 được thực hiện khi nào?

a)

Biểu thức điều kiện đúng

b)

Câu lệnh 1 được thực hiện

c)

Biểu thức điều kiện sai

d)

Biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong

13.

Cho a:= 5, b:= 8. Hãy tính giá trị của a, b trong trường hợp sau?

If a > b Then

Begin

a:= b-a; b:= a+2;

End

Else a:= b- a;

a)

a= 3, b=8

b)

a=5, b=8

c)

a=3, b=5

d)

a=5, b=5

14.

Cho biết chương trình sau có mấy lỗi?

Program vd

Var x, y : real;

Begin

Clrscr; x=7; y=9;

if x >=y then writeln(x);

else writeln(y);

end

a)

3

b)

4

c)

5

d)

6

15.

Khai báo biến mảng một chiều có dạng:

a)

Var <tên biến mảng>: array[kiểu chỉ số] of <kiểu phần tử>;

b)

Type <tên biến mảng>: array[kiểu chỉ số] of <kiểu phần tử>;

c)

Var <tên biến mảng>=array[kiểu chỉ số] of <kiểu phần tử>;

d)

Type <tên biến mảng>=<tên kiểu mảng>;

16.

Cho khai báo mảng như sau:

Var a : array[0..10] of integer ;

Phương án nào dưới đây chỉ phần tử thứ 2 của mảng ?

a)

a[2]

b)

a[3]

c)

a[1]

d)

a[4]

17.

Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:

a)

Khai báo một hằng số là số phần tử của mảng;

b)

Khai báo chỉ số bắt đầu và kết thúc của mảng;

c)

Khai báo chỉ số kết thúc của mảng;

d)

Không cần khai báo gì, hệ thống sẽ tự xác định;

18.

Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:

a)

Khai báo một hằng số là số phần tử của mảng;

b)

Khai báo chỉ số bắt đầu và kết thúc của mảng;

c)

Khai báo chỉ số kết thúc của mảng;

d)

Không cần khai báo gì, hệ thống sẽ tự xác định;

19.

Câu lệnh lặp for..do kết thúc khi nào?

a)

Khi biến đếm nhỏ hơn giá trị cuối

b)

Khi biến đếm lớn hơn giá trị cuối

c)

Khi biến đếm nhỏ hơn giá trị đầu

d)

Khi biến đếm lớn hơn giá trị đầu

20.

Vòng lặp While – do kết thúc khi nào?

a)

Khi đủ số vòng lặp

b)

Khi tìm được Output

c)

Khi một điều kiện cho trước được thỏa mãn

d)

Khi biểu thức điều kiện đúng

21.

Cho đoạn chương trình sau:

For i:=1 to 15 do

Begin

If I mod 2 <>0 then write(i+1,’ ‘);

End;

a)

1 2 3 4 5 5 6 7 8 9 10 1112 13 14 15

b)

2 4 6 8 10 12 14 16

c)

1 3 5 7 9 11 13 15

d)

2 4 6 8 10 12 14

22.

Trong Turbo Pascal, xác định tên đúng trong các tên sau:

a)

10pro 

b)

Bai  tap_1      

c)

Baitap      

d)

ngay  sinh

23.

Phát biểu nào dưới đây là đúng?

a)

Phần khai báo có thể khai báo cho: Tên chương trình, hằng, biến và chương trình con.

b)

Phần khai báo có thể khai báo cho: Tên chương trình, hằng, biến.

c)

Phần khai báo có thể khai báo cho: Chương trình con, hằng, biến.

d)

Phần khai báo có thể khai báo cho: Tên chương trình, thư viện, hằng, biến và chương trình con.

24.

Trong 1 chương trình, biến M có thể nhận các giá trị: 10, 15, 20, 30, 40, và biến N có thể nhận các giá trị: 1.0 , 1.5, 2.0, 2.5 , 3.0, khai báo nào trong các khai báo sau là đúng?

       

a)

Var M,N :Byte;       

b)

Var M: Real; N: Word; 

c)

Var M: Word;  N: Real;   

d)

Var M, N: Longint;

25.

Trong khai báo dưới đây bộ nhớ sẽ cấp phát cho các biến tổng cộng là bao nhiêu byte?

Var    x,y,z : Integer;     c,h: Char;           ok: Boolean;

              

                    

                                 

a)

9 byte           

b)

10 byte  

c)

11 byte     

d)

12 byte

26.

Kết quả của biểu thức sqr(abs(25-30) mod 3) trả về kết quả là :

               

          

                             

a)

1         

b)

2              

c)

6           

d)

4

27.

Trong NNLT Pascal, giả sử x:= a/b; thì x phải khai báo kiểu dữ liệu nào?

                                       

a)

word

b)

real            

c)

integer         

d)

Byte

28.

Xét biểu thức lôgic: (n >0) and (n mod 2 = 0). Khẳng định nào sau đây là đúng?

                    

a)

Kiểm tra n có chia hết cho 2 không  

b)

Kiểm tra xem n có là một số dương không

c)

Kiểm tra xem n có là số dương chẵn không           

d)

Kiểm tra n là một số nguyên chẵn không

29.

Trong Turbo Pascal, muốn biên dịch chương trình ta dùng tổ hợp phím:

a)

Alt + F9

b)

Ctrl + F9

c)

Alt + F6

d)

Alt + F8

30.

Để tính diện tích S của hình vuông có cạnh A với giá trị nguyên nằm trong phạm vi từ 10 đến 100, cách khai báo S nào dưới đây là đúng và tốn ít bộ nhớ nhất

a)

Var S : integer;

b)

 Var S : real;

c)

 Var S : longint;

d)

Var S : word;

31.

Trong ngôn ngữ lập trình Pascal, biểu thức số học nào sau đây là hợp lệ ?

a)

5a + 7b + 8c;

b)

5*a + 7*b + 8*c;        

c)

{a + b}*c;

d)

X*y(x+y);

32.

Trong ngôn ngữ lập trình Pascal, muốn kiểm tra đồng thời cả ba giá trị của A. B. C có cùng lớn hơn 0 hay không ta viết Câu lệnh If thế nào cho đúng ?

a)

If A . B . C > 0 then ……

b)

If (A > 0) and (B > 0) and (C > 0) then ……

c)

If A>0 and B>0 and C>0 then ……

d)

If (A>0) or (B>0) or (C>0) then……

33.

Hãy chọn kết quả đúng của đoạn chương trình sau.

a :=  9; b := 7; c:=8;

if a > b then c:=7 else c := 5 then  Write(c);

                             

a)

9        

b)

5         

c)

8    

d)

7

34.

Lệnh nào sau đây dùng để in giá trị biến thực M ra màn hình có 2 chữ số thập phân và với độ rộng là 5?

   

a)

write (M:2:5);          

b)

write (M,5,2);         

c)

writeln (M:2:5);   

d)

write (M:5:2);

35.

Để thực hiện gán giá trị 10 cho biến X. Phép gán nào sau đây là đúng ?

       

a)

X = 10;     

b)

X := 10;

c)

X =: 10;

d)

X : = 10;

36.

Hàm cho giá trị bằng bình phương của x là :

 

a)

Sqrt(x);

b)

Sqr(x);           

c)

Abs(x);

d)

Exp(x);

37.

Trong Turbo Pascal, để thực hiện chương trình:

                                         

                                                       

a)

Nhấn tổ hợp phím Ctrl + F7;         

b)

Nhấn tổ hợp phím Alt + F9;

c)

Nhấn phím Ctrl + F9;       

d)

Nhấn tổ hợp phím Shift + F9;

38.

Chọn Câu phát biểu hợp lí nhất?

a)

Trong Pascal, tất cả các biến trong chương trình đều phải đặt tên và khai báo cho chương trình dịch biết để lưu trữ và xử lí

b)

Trong Pascal, tất cả các biến trong chương trình đều phải có một giá trị tại mỗi thời điểm thực hiện chương trình

c)

Khai báo hằng thường được sử dụng cho kiểu của hằng

d)

Biến đơn là biến chỉ nhận kiểu của hằng

39.

Hãy chọn phương án ghép đúng . Với cấu trúc rẽ nhánh IF <điều kiện>  THEN <câu lệnh 1> ELSE <câu lệnh 2>, câu lệnh 2 được thực hiện khi

 

                                        

a)

biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong;       

b)

câu lệnh 1 được thực hiện;

c)

biểu thức điều kiện sai;      

d)

biểu thức điều kiện đúng;

40.

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

a)

A[1] := 6/2 ;

b)

A[2] := -10 ;

c)

A(3) := 6 ;

d)

A := 10 ;

41.

Cho biết ý nghĩa của đoạn khai báo sau:

Const Max = 100;

Type Dayso = ARRAY[1..Max] Of real;

Var A : Dayso;

a)

Khai báo biến Dayso gồm max số nguyên.

b)

Khai báo biến Dayso gồm 100 số thực.

c)

Khai báo biến mảng A gồm max số nguyên.

d)

Khai báo biến A gồm tối đa 100 số thực.

42.

Chọn khai báo đúng:

a)

Var A: array[1..20] of integer;

b)

Var A= array[1..20] of integer;

c)

Var A:= array[1..20] of integer;

d)

Var A: array[1,20] of integer;

43.

Cách làm việc với mảng một chiều như thế nào?

a)

Thông qua tên biến và chỉ số của mảng.

b)

Thông qua tên biến mảng.

c)

Thông qua chỉ số của mảng.

d)

Làm việc trực tiếp với mảng.

44.

Mỗi phần tử của mảng phải:

a)

Có kiểu dữ liệu khác nhau.

b)

Có thể có kiểu dữ liệu giống hoặc khác nhau.

c)

Có kiểu dữ liệu giống nhau.

d)

Tất cả các phương án đều sai.

45.

Các phần tử của mảng có thể thuộc các kiểu dữ liệu nào ?

a)

Kiểu kí tự

b)

Kiểu số thực

c)

Kiểu logic

d)

Cả ba kiểu trên

46.

Khai báo biến mảng một chiều A gồm n số nguyên (0 < n <= 50) có dạng:

a)

TYPE A : ARRAY [1..50] OF Integer;

b)

Var A = ARRAY [1..50] OF Integer;

c)

Var A : ARRAY[1..50] OF Integer;

d)

TYPE A = ARRAY [1..50] OF Integer;

47.

Lệnh nào in giá trị các phần tử trong mảng trên cùng một dòng?

a)

For i:= n downto 1 do writeln(‘ ’, A[i]);

b)

For i:= n downto 1 do write(A[i], ‘ ’);

c)

For i:= 1 to n do write(‘ ’, A[i]);

d)

For i:= 1 to n do writeln(‘ ’, A[i]);

48.

Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì?

FOR i:=1 TO N DO

IF A[i] < 0 THEN Write(A[i]);

a)

In ra màn hình các số nguyên âm

b)

In ra màn hình các số nguyên âm

c)

Kiểm tra phần tử thứ i là dương hay âm

d)

Không làm gì cả

49.

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]=0, A[2]=1, A[3]=2, A[4]=3

b)

A[1]=1, A[2]=1, A[3]=1, A[4]=1

c)

A[1]=1, A[2]=2, A[3]=3, A[4]=4

d)

A[1]=2, A[2]=3, A[3]=4, A[4]=5

50.

Để in giá trị phần tử thứ 10 của mảng một chiều A ra màn hình ta viết:

a)

Write(A[10]);

b)

Write(A(10));

c)

Readln(A[10]);

d)

Write([10]);

51.

Cho khai báo:

Var A: Array[1..10] of Real;

i : Integer;

Ðể nhập dữ liệu cho A, chọn câu nào:

a)

For i:=1 to 10 do Begin Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]); End;

b)

For i:=1 to 10 do Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]);

c)

For i:=1 to 10 do Readln(‘ Nhập A[‘, i, ‘]:’);

d)

Write(‘ Nhập A:’); Readln(A);

52.

Phương án nào dưới đây là khai báo mảng hợp lệ ?

a)

mang : ARRAY[0..10] OF INTEGER;

b)

mang : ARRAY[0..10] : INTEGER;

c)

mang : INTEGER OF ARRAY[0..10];

d)

mang : ARRAY(0..10) : INTEGER;

53.

Tham chiếu đến phần tử thứ i của mảng A được biểu diễn:

a)

A[i]

b)

Ai

c)

A{i}

d)

A(i)

54.

Để in giá trị phần tử thứ 20 của mảng một chiều A ra màn hình ta viết:

a)

Write(A[20]);

b)

Write(A(20));

c)

Readln(A[20]);

d)

Write([20]);

55.

Cho khai báo mảng và đoạn chương trình như sau :

Var a : array[0..50] of real ;

k := 0 ;

for i := 1 to 50 do

if a[i] > a[k] then k:= i ;

Đoạn chương trình trên thực hiện công việc gì dưới đây?

a)

Tìm phần tử nhỏ nhất trong mảng;

b)

Tìm phần tử lớn nhất trong mảng;

c)

Tìm chỉ số của phần tử lớn nhất trong mảng;

d)

Tìm chỉ số của phần tử nhỏ nhất trong mảng;