YOMEDIA

Bộ 3 đề thi HK2 môn Tin học 11 năm 2021-2022 - Trường THPT Tam Dương có đáp án

Tải về
 
NONE

Mời các em cùng HỌC247 tham khảo nội dung tài liệu Bộ 3 đề thi HK2 môn Tin học 11 năm 2021-2022 - Trường THPT Tam Dương có đáp án bao gồm 5 đề thi do ban biên tập HỌC247 tổng hợp và biên soạn từ các trường trên toàn quốc sẽ giúp các em sẽ hình dung được các kiến thức trọng tâm để có thể ôn tập thật tốt chuẩn bị cho kỳ thi học kỳ sắp tới.

ATNETWORK

TRƯỜNG THPT TAM DƯƠNG

ĐỀ THI HỌC KÌ 2 NĂM HỌC 2021 - 2022

MÔN TIN HỌC 11

Thời gian làm bài : 45 phút

(Không kể thời gian phát đề)

1. ĐỀ SỐ 1

I. Phần trắc nghiệm

Câu 1: Khẳng định nào sau đây là đúng?

A. Chỉ có thủ tục mới có thể có tham số hình thức

B. Cả thủ tục và hàm đều có thể có tham số hình thức.

C. Chỉ có hàm mới có thể có tham số hình thức.

D. Thủ tục và hàm nào cũng phải có tham số hình thức.

Câu 2: Để biết con trỏ tệp đã ở cuối dòng của tệp f hay chưa, ta sử dụng hàm:

A. eof(f)

B. eoln(f)

C. eof(f, ‘trai.txt’)

D. foe(f)

Câu 3: Khẳng định nào sau đây là đúng?

A. Cả lời gọi hàm và lời gọi thủ tục đều phải có tham số thực sự.

B. Lời gọi thủ tục nhất thiết phải có tham số thực sự còn lời gọi hàm không nhất thiết phải có tham số thực sự

C. Lời gọi hàm nhất định phải có tham số thực sự còn lời gọi thủ tục không nhất thiết phải có tham số thực sự

D. Lời gọi hàm và lời gọi thủ tục có thể có tham số thực sự hoặc không có tham số thực sự tuỳ thuộc vào từng hàm và thủ tục.

Câu 4: Trong NNLT Pascal, khai báo nào sau đây là đúng khi khai báo tệp văn bản?

A. Var f: String;

B. Var f: byte;

C. Var f = record;

D. Var f: Text;

Câu 5: Giả sử trên thư mục gốc của đĩa C có tệp f  đã có nội dung sẵn. Khi thực hiện thủ tục Rewrite(f); 

A. Nội dung trong tệp f sẽ hiện ra trên màn hình

B. Nội dung trong tệp cũ vẫn còn nguyên

C. Nội dung mới sẽ được ghi tiếp theo phía dưới tệp đã có sẵn

D. Nội dung trong tệp cũ sẽ bị xoá để chuẩn bị ghi dữ liệu mới

Câu 6: Câu lệnh dùng thủ tục đọc có dạng:

A. Read();

B. Read(,);

C. Read(, );

D. Read();

Câu 7: Cho đoạn chương trình sau:

Var g:text;

I:integer;

Begin

Assign(g, ‘C:\DLA.txt’);

Rewrite(g);

For i:=1 to 10 do

If i mod 2 <> 0 then write(g, i);

Close(g);

Readln

      End.

Sau khi thực hiện chương trình trên, nội dung của tệp ‘DLA.txt’ gồm những phần tử nào?

A. 2; 4; 6; 8;10

B. 1; 3; 5; 9

C. 1; 3; 5;7; 9

D. 4; 6; 8;10

Câu 8: Tệp f có dữ liệu

5 9 15

để đọc 3 giá trị trên từ tệp f và ghi các giá trị này vào 3 biến x, y, z ta sử dụng câu lệnh:

A. Read(f, x, y, z);

B. Read(f, ‘x’, ‘y’, ‘z’);

C. Read(x, y, z);

D. Read(‘x’, ‘y’, ‘z’);

Câu 9: Giả sử a = 5; b = 9; c = 15; để ghi các giá trị trên vào tệp f có dạng là

5 9 15

ta sử dụng thủ tục ghi:

A. Write(f, a,b,c);  

B. Write(a, ‘  ’, b, ‘  ’, c);           

C. Write(f, a, ‘ ’, bc);

D. Write(f, a ‘’, b‘’, c);

Câu 10: Khẳng định nào sau đây là đúng?

A. Biến cục bộ là biến chỉ được dùng trong chương trình chính.

B. Biến cục bộ là biến chỉ được dùng trong chương trình con chứa nó.

C. Biến cục bộ là biến được dùng trong chương trình con chứa nó và trong chương trình chính.

D. Biến toàn cục chỉ được sử dụng trong chương trình chính và không được sử dụng trong các chương trình con.

II. Phần tự luận

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

Program Baitap;

Var x, y, z , t: word;

Function BCNN(a, b:word):word;

Var du, c, d:word;

Begin

c:=a; d:=b;

While b<>0 do

Begin

du:=a mod b;

a:=b;

b:=du;

End;

                      BCNN:=(c*d) div a;

           End;

Begin

          Write(‘nhap 4 so x, y, z, t: ‘); readln(x, y, z, t);

          Write(‘BCNN cua 4 so la: ’, BCNN(BCNN(x, y),BCNN(z, t)));

          Readln;

End.

Câu hỏi: Quan sát và:

a) Nêu các tham số thực sự, tham số hình thức?

b) Nêu tên các biến cục bộ, biến toàn cục?

Câu 2: Cho mảng A gồm N phần tử thuộc kiểu nguyên (N≤50)? Viết chương trình con thực hiện các yêu cầu sau:

a) Viết thủ tục nhập giá trị cho mảng A từ bàn phím.

b) Viết thủ tục in ra màn hình các phần tử âm trong mảng A.

ĐÁP ÁN

I. Phần trắc nghiệm

Câu

1

2

3

4

5

6

7

8

9

10

Đáp án

B

B

D

D

D

B

C

A

A

B

Điểm

0.5

0.5

0.5

0.5

0.5

0.5

0.5

0.5

0.5

0.5

II. Phần tự luận

Câu 1: 

a) Tham số thực sự: x, y, z, t

Tham số hình thức:  a, b

b) Biến cục bộ: du, c, d

Biến toàn cục:   x, y, z, t

Câu 2: 

a) Viết thủ tục nhập giá trị cho mảng A từ bàn phím

procedure nhap(var A:kmang; var n:integer);

begin

    write(‘Nhap so phan tu cua mang N=’);

    readln(n);

    for i:=1 to n do

        begin

              write(‘Nhap phan tu thu A[‘,i,’]=’);

              readln(A[i]);

        end;

end;

 

b) Viết thủ tục in ra màn hình các phần tử âm trong mảng A.

procedure hienam(A:kmang;n:byte);

begin

     for i := 1 to n do

     if A[i] < 0 then write(A[i],’  ’);

end; 

2. ĐỀ SỐ 2

ĐỀ THI HK2 MÔN TIN HỌC 11 NĂM 2021-2022- TRƯỜNG THPT QUANG HÀ- ĐỀ 02

I. Trắc nghiệm

Câu 1 :

Cho khai báo sau :

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

Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên ?

 

A.

For k:=1 to 16 do write(a[k]);

B.

For k:=16 downto 0 do write(a[k]);

 

C.

For k:=16 downto 0 write(a[k]);

D.

For k:= 0 to 15 do write(a[k]);

 

Câu 2 :

S1 = ‘tin hoc cho moi nguoi’

Pos(‘o’,S1) cho kết quả là?

 

A.

5

B.

6

C.

7

D.

11

 

Câu 3 :

Đoạn chương trình sau in ra kết quả nào ?

Program Welcome ;

Var a : string[10];

Begin

a := ‘tinhoc’;

writeln(length(a));

End.

 

A.

7;

B.

6;

C.

Chương trình có lỗi;

D.

10;

 

Câu 4 :

Khai bỏo phần đầu một hàm là:

 

A.

Function <tên hàm> [(<danh sách các tham số>)] ;

B.

Function <tên hàm> ;                  

C.

Procedure <tên hàm> [(<danh sách các tham số>)] : <kiểu dữ liệu>;

D.

Function <tên hàm> [(<danh sách các tham số>)] : <kiểu dữ liệu>;

Câu 5 :

Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau (kiểu xâu) thực hiện công việc gì ?

S1 := ‘ ‘ ;

For i :=1 to length(S) do

       S1 :=S1 + upcase(S[i]);

 

A.

Tạo xâu S1 là chữ in hoa từ xâu S

B.

Tạo xâu S1 là chữ thường từ xâu S

 

C.

Tạo xâu S1 từ xâu S

D.

Tạo xâu S1 là các kí tự chữ số

 

Câu 6 :

Các biến dùng chung cho toàn bộ chương trình được gọi là?

 

A.

Tham số thực sự.

B.

Biến cục bộ.

C.

Tham số hỡnh thức

D.

Biến toàn cục.

 

Câu 7 :

Khẳng định nào sau đây là đúng?

 

A.

Các thủ tục (nếu có) phải được khai báo ngay từ đầu của chương trình chính.        

B.

Các thủ tục (nếu có) phải được khai báo sau Begin của chương trình chính.

C.

Các thủ tục (nếu có) được khai báo bất kỳ trong chương trình chính.

D.

Các thủ tục (nếu có) phải được khai báo và mô tả ngay sau phần khai báo biến và trước Begin của chương trình chính.        

Câu 8 :

Hãy chọn phương án ghép đúng. Cho xâu S là ‘Hanoi-Vietnam’. Kết quả của hàm Length(S) là

 

A.

12

B.

14

C.

13

D.

15

 

Câu 9 :

Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì?

for  i := length(str) downto 1 do write(str[i]) ;

 

A.

In xâu ra màn hình;

B.

In từng kí tự xâu ra màn hình;

 

C.

In từng kí tự ra màn hình theo thứ tự ngược;

D.

In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên;

 

Câu 10 :

Trong ngôn ngữ lập trình Pascal, đoạn chương trình  (mảng một chiều) sau thực hiện công việc gì ?

S := 0 ;

For i := 1 to n do

      If (a[i] mod 3 =0) or (a[i] mod 5 = 0) then S :=S+a[i] ;

 

A.

Tính tổng các phần tử trong mảng chia hết cho 3 hoặc chia hết cho 5

B.

Tính tổng các phần tử chia hết cho 5

C.

Tính tổng các phần tử trong mảng

D.

Tính tổng các phần tử chia hết cho 3

Câu 11 :

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 chỉ số của phần tử nhỏ nhất trong mảng;

B.

Tìm phần tử nhỏ 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 phần tử lớn nhất trong mảng;

 

Câu 12 :

Khai báo phần đầu một thủ tục là:

 

A.

Procedure [(<danh sách các tham số>)] : <kiểu dữ liệu>;

B.

Procedure <tên thủ tục>: <kiểu dữ liệu>;

C.

Procedure <tên thủ tục> [(<danh sách các tham số>)] : <kiểu dữ liệu>;

D.

Procedure <tên thủ tục> [(<danh sách các tham số>)];

Câu 13 :

Mảng A dưới đây chứa bao nhiêu phần tử ?

     Const   Rows=3 ;

     Var  A:array[0..rows+1] of integer ;

 

A.

5

B.

4

C.

3

D.

6

 

Câu 14 :

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;

    Begin

      z:=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=7

B.

x=3, y=7

C.

x=3, y=3

D.

x=7, y=3

 

Câu 15 :

Cho x, y là hai biến nguyờn và khai bỏo thủ tục :

    Procedure Doicho( Var a,b:Integer);

    Var z : Integer;

    Begin

      z:=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=7

B.

x=3, y=3

C.

x=3, y=7

D.

x=7, y=3

 

Câu 16 :

Trong mảng một chiều, đoạn chương trình sau thực hiện công việc gì ?

Dem := 0 ;

For i := 1 to n do

     If a[i] mod 2 = 0 then

        Dem := Dem + 1 ;

 

A.

Đếm các phần tử chia hết cho 2 trong mảng

B.

Gán giá trị a[i] cho biến S

 

C.

Tính tổng các phần tử chia hết cho 2 trong mảng

D.

Tính tổng các phần tử trong mảng

 

Câu 17 :

Đoạn chương trình sau đưa ra màn hình kết quả nào:

for i:= 1 to 10 do write(i);

 

A.

1 2 3 4 5 6 7 8 9 10

B.

Đưa ra 10 cấu cỏch

C.

10 9 8 7 6 5 4 3 2 1

D.

Khụng đưa ra gỡ cả

 

Câu 18 :

S1 ‘abcd’

S2= ‘ghk’

Insert(S1,S2,1) cho kết quả là ?

 

A.

‘abcdghk’

B.

‘ghkabcd’

C.

‘gabcdgha’

D.

‘aghkbcd’

 

Câu 19 :

Các biến được khai báo cho dữ liệu vào/ra được gọi là?

 

A.

Biến cục bộ.

B.

Tham số thực sự.

C.

Biến toàn cục

D.

Tham số hỡnh thức.

 

Câu 20 :

Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1,S2,vt) thực hiện

 

A.

sao chép vào cuối S1 một phần của S2 từ vị trí vt ;

B.

chèn xâu S1 vào S2 bắt đầu từ vị trí vt ;

 

C.

chèn xâu S2 vào S1 bắt đầu từ vị trí vt ;

D.

nối xâu S2 vào S1;

 

                       

II. Tự luận

Viết chương trình:

Đọc từ tệp “DULIEU.TXT” 2 số nguyên M và N (M < N)

Tính tổng các số chia hết cho 5 trong phạm vi từ M đến N

Ghi kết quả ra tệp “KETQUA.TXT”.

ĐÁP ÁN

I. Trắc nghiệm

1B

2B

3B

4D

5A

6D

7D

8B

9B

10A

11C

12D

13A

14C

15C

16A

17A

18A

19D

20B

 

II. Tự luận

Var f1, f2: text;

  Tong, m, n, i: integer;

Begin

  assign(f1, ‘DULIEU.TXT’);

  reset(f1);

  assign(f2, ‘KETQUA’);

  rewrite(f2);

  Tong;= 0;

  read(f1, m, n);

  for i:= m to n do

  if i mod 2 = 0 then Tong:= Tong+i;

  write(f2, Tong);

  close(f1);

  close(f2);

End.

3. ĐỀ SỐ 3

ĐỀ THI HK2 MÔN TIN HỌC 11 NĂM 2021-2022- TRƯỜNG THPT QUANG HÀ- ĐỀ 03

I. Trắc nghiệm

Câu 1 :

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;

    Begin

      z:=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=7

B.

x=3, y=7

C.

x=3, y=3

D.

x=7, y=3

 

Câu 2 :

S1 ‘abcd’

S2= ‘ghk’

Insert(S1,S2,1) cho kết quả là ?

 

A.

‘aghkbcd’

B.

‘ghkabcd’

C.

‘gabcdgha’

D.

‘abcdghk’

 

Câu 3 :

Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì?

for  i := length(str) downto 1 do write(str[i]) ;

 

A.

In xâu ra màn hình;

B.

In từng kí tự ra màn hình theo thứ tự ngược;

 

C.

In từng kí tự xâu ra màn hình;

D.

In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên;

 

Câu 4 :

Cho khai báo sau :

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

Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên ?

 

A.

For k:=16 downto 0 do write(a[k]);

B.

For k:=16 downto 0 write(a[k]);

 

C.

For k:=1 to 16 do write(a[k]);

D.

For k:= 0 to 15 do write(a[k]);

 

Câu 5 :

Mảng A dưới đây chứa bao nhiêu phần tử ?

     Const   Rows=3 ;

     Var  A:array[0..rows+1] of integer ;

 

A.

4

B.

3

C.

5

D.

6

 

Câu 6 :

Các biến dùng chung cho toàn bộ chương trình được gọi là?

 

A.

Biến toàn cục.

B.

Biến cục bộ.

C.

Tham số hỡnh thức

D.

Tham số thực sự.

 

Câu 7 :

Khẳng định nào sau đây là đúng?

 

A.

Các thủ tục (nếu có) phải được khai báo sau Begin của chương trình chính.

B.

Các thủ tục (nếu có) phải được khai báo và mô tả ngay sau phần khai báo biến và trước Begin của chương trình chính.        

C.

Các thủ tục (nếu có) được khai báo bất kỳ trong chương trình chính.

D.

Các thủ tục (nếu có) phải được khai báo ngay từ đầu của chương trình chính.        

Câu 8 :

Hãy chọn phương án ghép đúng. Cho xâu S là ‘Hanoi-Vietnam’. Kết quả của hàm Length(S) là

 

A.

12

B.

13

C.

15

D.

14

 

Câu 9 :

Khai bỏo phần đầu một hàm là:

 

A.

Function <tên hàm> [(<danh sách các tham số>)] : <kiểu dữ liệu>;

B.

Function <tên hàm> ;                  

C.

Function <tên hàm> [(<danh sách các tham số>)] ;

D.

Procedure <tên hàm> [(<danh sách các tham số>)] : <kiểu dữ liệu>;

Câu 10 :

Đoạn chương trình sau in ra kết quả nào ?

Program Welcome ;

Var a : string[10];

Begin

a := ‘tinhoc’;

writeln(length(a));

End.

 

A.

6;

B.

Chương trình có lỗi;

C.

7;

D.

10;

 

Câu 11 :

S1 = ‘tin hoc cho moi nguoi’

Pos(‘o’,S1) cho kết quả là?

 

A.

6

B.

7

C.

5

D.

11

 

Câu 12 :

Trong ngôn ngữ lập trình Pascal, đoạn chương trình  (mảng một chiều) sau thực hiện công việc gì ?

S := 0 ;

For i := 1 to n do

      If (a[i] mod 3 =0) or (a[i] mod 5 = 0) then S :=S+a[i] ;

 

A.

Tính tổng các phần tử chia hết cho 5

B.

Tính tổng các phần tử trong mảng chia hết cho 3 hoặc chia hết cho 5

C.

Tính tổng các phần tử chia hết cho 3

D.

Tính tổng các phần tử trong mảng

Câu 13 :

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 chỉ số của phần tử nhỏ nhất trong mảng;

B.

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

 

C.

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

D.

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

 

Câu 14 :

Cho x, y là hai biến nguyờn và khai bỏo thủ tục :

    Procedure Doicho( Var a,b:Integer);

    Var z : Integer;

    Begin

      z:=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=7

B.

x=7, y=3

C.

x=3, y=7

D.

x=3, y=3

 

Câu 15 :

Đoạn chương trỡnh sau đưa ra màn hỡnh kết quả nào:

for i:= 1 to 10 do write(i);

 

A.

Đưa ra 10 cấu cách

B.

10 9 8 7 6 5 4 3 2 1

C.

Không đưa ra gì cả

D.

1 2 3 4 5 6 7 8 9 10

 

Câu 16 :

Khai bỏo phần đầu một thủ tục là:

 

A.

Procedure <tên thủ tục> [(<danh sách các tham số>)] : <kiểu dữ liệu>;

B.

Procedure <tên thủ tục>: <kiểu dữ liệu>;

C.

Procedure <tên thủ tục> [(<danh sách các tham số>)];

D.

Procedure [(<danh sách các tham số>)] : <kiểu dữ liệu>;

Câu 17 :

Cỏc biến được khai bỏo cho dữ liệu vào/ra được gọi là?

 

A.

Biến cục bộ.

B.

Biến toàn cục

C.

Tham số thực sự.

D.

Tham số hình thức.

 

Câu 18 :

Trong mảng một chiều, đoạn chương trình sau thực hiện công việc gì ?

Dem := 0 ;

For i := 1 to n do

     If a[i] mod 2 = 0 then

        Dem := Dem + 1 ;

 

A.

Tính tổng các phần tử chia hết cho 2 trong mảng

B.

Gán giá trị a[i] cho biến S

 

C.

Tính tổng các phần tử trong mảng

D.

Đếm các phần tử chia hết cho 2 trong mảng

 

Câu 19 :

Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau (kiểu xâu) thực hiện công việc gì ?

S1 := ‘ ‘ ;

For i :=1 to length(S) do

       S1 :=S1 + upcase(S[i]);

 

A.

Tạo xâu S1 là chữ in hoa từ xâu S

B.

Tạo xâu S1 là chữ thường từ xâu S

 

C.

Tạo xâu S1 là các kí tự chữ số

D.

Tạo xâu S1 từ xâu S

 

Câu 20 :

Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1,S2,vt) thực hiện

 

A.

sao chép vào cuối S1 một phần của S2 từ vị trí vt ;

B.

chèn xâu S2 vào S1 bắt đầu từ vị trí vt ;

 

C.

nối xâu S2 vào S1;

D.

chèn xâu S1 vào S2 bắt đầu từ vị trí vt ;

 

II. Tự luận

Viết chương trình con tính tích của hai số nguyên?

ĐÁP ÁN

II. Trắc nghiệm

1C

2D

3B

4A

5C

6A

7B

8B

9A

10A

11A

12B

13B

14C

15D

16C

17D

18D

19A

20D

II. Tự luận

program tct_tich2so;

uses crt;

var a,b:integer;

procedure tich2(a,b:integer);

begin

writeln('tich2= ',a*b);

end;

begin

clrscr;

write(' nhap a: ');readln(a);

write(' nhap b: ');readln(b);

tich2(a,b);

readln

end.

 

Trên đây là toàn bộ nội dung Bộ 3 đề thi HK2 môn Tin học 11 năm 2021-2022 - Trường THPT Tam Dương có đáp án. Để xem toàn bộ nội dung các em đăng nhập vào trang hoc247.net để tải tài liệu về máy tính.

Hy vọng tài liệu này sẽ giúp các em học sinh ôn tập tốt và đạt thành tích cao trong học tập.

Ngoài ra các em có thể tham khảo thêm một số tư liệu cùng chuyên mục sau:

Chúc các em học tốt!

 

AANETWORK
 

 

YOMEDIA
ATNETWORK
ON