1. Trang chủ
  2. » Kỹ Năng Mềm

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

16 9 0

Đ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 16
Dung lượng 1,25 MB

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

Nội dung

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 thủ tục nếu có được khai báo bất kỳ trong chương trình chínhA[r]

Trang 1

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;

Trang 2

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(<biến tệp>);

B Read(<biến tệp>,);

C Read(, <biến tệp>);

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:

Trang 3

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;

Trang 4

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

Đ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]);

Trang 5

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

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à?

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

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>;

Trang 6

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

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à

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] ;

Trang 7

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 ;

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;

Trang 8

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);

Trang 9

A 1 2 3 4 5 6 7 8 9

Đưa ra 10 cấu

10 9 8 7 6 5 4 3 2

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

II Tự luận

Var f1, f2: text;

Tong, m, n, i: integer;

Begin

assign(f1, ‘DULIEU.TXT’);

reset(f1);

Trang 10

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

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à ?

Trang 11

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 ;

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

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à

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

Trang 12

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ó

Câu 11 : S1 = ‘tin hoc cho moi nguoi’

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

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 ;

Trang 13

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

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

Trang 14

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

II Tự luận

program tct_tich2so;

uses crt;

var a,b:integer;

Ngày đăng: 21/04/2022, 11:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w