Đề thi Giữa học kì 2 Tin học lớp 11 có đáp án năm 2024 (4 đề)


Đề thi Giữa học kì 2 Tin học lớp 11 có đáp án năm 2024 (4 đề)

Haylamdo biên soạn và sưu tầm Đề thi Giữa học kì 2 Tin học lớp 11 có đáp án năm 2024 (4 đề) được tổng hợp chọn lọc từ đề thi môn Tin học 11 của các trường trên cả nước sẽ giúp học sinh có kế hoạch ôn luyện từ đó đạt điểm cao trong các bài thi Tin học lớp 11.

Đề thi Giữa học kì 2 Tin học lớp 11 có đáp án (4 đề)

ĐỀ KIỂM TRA GIỮA HK II KHỐI 11 NĂM HỌC: 2023

Tên

Chủ đề

Nhận biết

Thông hiểu

Vận dụng

Cộng

Cấp độ thấp

Cấp độ cao

TNKQ

TL

TNKQ

TL

TNKQ

TL

TNKQ

TL

TNKQ

TL

Cấu trúc lặp và rẽ nhánh

  • Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của môt số bài toán đơn giản.
  • Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp.


  • Viết đúng các lệnh rẽ nhánh và lặp kiểm tra điều kiện trước, lệnh lặp với số lần định trước






Viết được thuật toán của một số bài toán đơn giản.



Số câu

Số điểm

Tỉ lệ %

2

0.66

6.6%


1

0.33

3.3%





1

1.5

20%

03

1

10%

1

1.5

20%

Kiểu mảng

Biết khái niệm, biết tham chiếu đến từng phần tử, biết khai báo với mảng 1 chiều.


- Hiểu cách khai báo và truy cập đến các phần tử của mảng.

- Thực hiện được khai báo mảng, truy cập,nhập/xuất, tính toán các phần tử của mảng.


  • Viết chương trình kiểu mảng

Viết đoạn CT có sử dụng kiểu mảng 1 chiều cho bài toán cụ thể.






Số câu

Số điểm

Tỉ lệ %

2

0.66

6.6%


2

0.66

6.6%


2

0.66

6.6%




06

2

20%


Kiểu xâu

Biết khái niệm, biết tham chiếu đến từng phần tử, biết khai báo với kiểu xâu.


Hiểu cách khai báo và truy cập đến các phần tử của xâu.



Thực hiện được khai báo xâu, truy cập, nhập/ xuất, tính toán các phần tử trên xâu






Số câu

Số điểm

Tỉ lệ %

4

1.33

13.3%


3

1

10%


1

0.33

3.3%




08

2.67

26.7%

0

0

Kiểu dữ liệu tệp

Biết được vai trò của tệp



Phân loại, và thao tác với tệp







Số câu

Số điểm

Tỉ lệ %

4

1.33

13.3%



1

1.5

15%





04

1.33 13.3%

1

1.5

15%

Tổng số câu

Tổng số điểm

Tỉ lệ %

12 câu

4.0 điểm

40%

7 câu

3 điểm

30%

3 câu

0.99 điểm

9.9%

1 câu

1.0 điểm

10%

21 câu trắc nghiệm và 2 câu tự luận: 10 điểm.

100%

Phòng Giáo dục và Đào tạo .....

Đề thi Giữa kì 2

Năm học 2024

Bài thi môn: Tin học lớp 11

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

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

(Đề số 1)

I. TRẮC NGHIỆM (7 điểm; mỗi câu 0,3 điểm)

Khoanh tròn vào chữ cái in hoa đứng trước câu trả lời đúng tương ứng với các câu hỏi.

Câu 1. Cho xâu s1:= 'Truong'; s2:= 'TQT'; s3 := 'Khoi 11'; để được xâu mới 'Khoi 11 Truong TQT' ta thực hiện:

A. s3 + ' ' + s1 + ' ' s2 ;

B. s3 + s1 + s2 ;

C. 's3' + 's1' + 's2' ;

D. 's3' + ' ' + 's1' + ' ' 's2' ;

Câu 2. Để tìm ước số chung lớn nhất của 2 số nguyên dương a, b ta dùng cấu trúc lặp:

A. Có thể dùng While - Do hoặc For - Do

B. Đáp án khác

C. Chỉ có thể dùng cấu trúc lặp For - Do

D. Chỉ có thể dùng cấu trúc lặp While - Do

Câu 3. Trong câu lệnh lặp với số lần chưa biết trước khẳng định nào sau đây là đúng.

A. Sẽ thoát ra khỏi vòng lặp khi điều kiện có giá trị là đúng

B. Câu lệnh còn được thực hiện khi điều kiện có giá trị sai.

C. "Điều kiện" là biểu thức bất kỳ

D. Phải có ít nhất một câu lệnh làm thay đổi giá trị biểu thức điều kiện

Câu 4. Đoạn chương trình sau thực hiện i:=1; S:=0; While (i < N) Do begin S:=S+i; i := i+2; end; Write('S = ',S);

A. Tính tổng các số lẻ từ 1 đến N -1

B. Tính tổng các số từ 1 đến N

C. Tính tổng các số chẵn từ 1 đến N

D. Tính tổng các số lẽ từ 1 đến N

Câu 5. Cho mảng B một chiều, đoạn chương trình sau làm gì? S: = 0; For i:= 1 to N do If ((B[i] mod 2 ) < > 0) and (B[i] mod 3) = 0 then S:= S + B[i];

A. Tính tổng các phần tử có giá trị là lẽ là ước của 3.

B. Tính tổng các phần tử có thứ tự là lẽ và chia hết cho 3.

C. Tính tổng các phần tử có giá trị là lẽ và bội của 3.

D. Tính tổng các phần tử có giá trị là chẵn và bội của 3.

Câu 6. Cho biết kết quả của đoạn chương trình sau N:=10975; While (N >=10) Do N := N div 10; Writeln('N = ',N)

A. N = 1

B. N = 0

C. N = 5

D. N = 10

Câu 7. Cách khai báo mảng nào sau đây là đúng

A. Var D : array [ 1.2 .. 20] of integer;

B. Var A : array [ -10 .. 10] of char;

C. Var B : array [ 100 .. 20] of byte;

D. Var C : array [ n .. m] of real;

Câu 8. Trong cấu trúc lặp với số lần chưa trước khẳng định nào sau đây là đúng

A. Câu lệnh sau Do phải là câu lệnh ghép

B. Câu lệnh sau Do phải có ít nhất một câu lệnh làm thay đổi biểu thức điều kiện

C. Câu lệnh sau Do phải là câu lệnh đơn

D. Câu lệnh còn được thực hiện (lặp) khi điều kiện có giá trị là sai.

Câu 9. Với i là các biến nguyên. Ðoạn chương trình sau cho kết quả nào ?i:=1; while (i > 5) do i := i +1; write(i,' ');

A. 1 2 3 4 5

B. 5

C. 1

D. 2 3 4 5

Câu 10. Cho a,b,z là các biến nguyên, cho ðoạn chương trình: a:=5: b:=8; While (b>=a) Do a:=a+1; Write('a=',a,', b=',b); cho kết quả của a, b là:

A. a=8, b=8

B. đáp án khác

C. a=9, b=8

D. a=5, b=8

Câu 11. Những tên nào sau đây là tên các hàm xử lý xâu trong Pascal

A. Pos; Copy; length;

B. Copy; Insert; Length; Upcase

C. Pos; Delete; Upcase; Copy

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

Câu 12. Cách khai báo mảng nào sau đây là sai

A. Var D : array [ 1 .. 100] of real;

B. Var A : array [ 1 .. N ] of integer;

C. Var C : array [ 20 .. 200] of string;

D. Var B : array [ -10 .. 200] of char;

Câu 13. Trong ngôn ngữ lập trình Pascal muốn chuyển đổi xâu S từ chữ thường sang chữ in hoa ta dùng:

A. Tất cả đều sai.

B. Upcase(S);

C. Length(S);

D. Pos(S)

Câu 14. Câu Lệnh While <điều kiện> Do <Câu lệnh> thực hiện như thế nào ?

A. Trong khi điều kiện còn đúng thì câu lệnh sau từ khóa "Do" còn được thực hiện.

B. Nếu điều kiện đúng thì <câu lệnh> sau từ khóa "Do" không được thực hiện.

C. Nếu điều kiện sai thì <câu lệnh> sau từ khóa "Do" được thực hiện.

D. Trong khi điều kiện còn sai thì câu lệnh sau từ khóa "Do" còn được thực hiện.

Câu 15. Trong câu lệnh lặp for - do (dạng lùi), câu lệnh còn được thực hiện (lặp) khi nào ?

A. giá trị cuối > giá trị của biến đếm >= giá trị đầu

B. giá trị cuối > giá trị của biến đếm > giá trị đầu

C. giá trị cuối >= giá trị của biến đếm >= giá trị đầu

D. giá trị cuối > giá trị của biến đếm = giá trị đầu

Câu 16. Với A[1]:=4; A[2]:=5; A[3]:=3; A[4]:=7; A[5]:=2; S: = 0; For i:= 5 Downto 1 do If ((i mod 2)<>0 then) S:=S + A[i]; Write('S=',S); cho giá trị

A. S=5

B. S=9

C. S=15

D. 7;

Câu 17. Cho biết kết quả của đoạn chương trình sau Dem:=1; While (Dem < 5) Do Dem:=Dem+1; Writeln('Dem = ',Dem)

A. Dem =5

B. Dem = 6

C. Dem = 1

D. Dem = 4

Câu 18. Chọn khẳng định đúng khi dùng vòng lặp giải bài toán sau: Tính tổng:S = 1+1/2 +1/3 +.....+ 1/1000

A. Sử dụng được cả hai câu lênh While..do và For..do

B. Không thể dùng lệnh For..do

C. Không thể sử dụng While..do

D. Chỉ dùng được lệnh For..do

Câu 19. Trong câu lệnh lặp for - do (dạng tiến), câu lệnh còn được thực hiện (lặp) khi nào ?

A. giá trị đầu <= giá trị của biến đếm < giá trị cuối

B. giá trị đầu < giá trị của biến đếm <= giá trị cuối

C. giá trị đầu < giá trị của biến đếm < giá trị cuối

D. giá trị đầu <= giá trị của biến đếm <= giá trị cuối

Câu 20. Ðoạn chương trình sau cho kết quả gì? T:=0; for i:=1 to n do if (i mod 3=0) then T:=T+i*i;

A. Tính tổng bình phương các số lẽ trong phạm vi từ 1đến n.

B. Tính tổng các số chia hết cho 3 từ 1đến n

C. Tính tổng bình phương các số là bội của 3 từ 1đến n

D. Tính tổng bình phương các số là ước của 3 từ 1đến n

Câu 21. Cho S là một xâu bất kỳ. Đoạn chương trình sau có chức năng gì. For i:=1 to length(s) Do s[i]:=Upcase(s[i]);

A. chuyển đổi các ký chữ cái trong xâu S thành chữ in hoa

B. đáp án khác.

C. báo lỗi

D. không có chức năng gì

II. TỰ LUẬN: (3,0 điểm)

Câu 1(1.5đ) . Mảng một chiều là gì? Với mảng một chiều ta quan tâm đến những gì?

Câu 2(1.5đ). Em hãy điền vào chỗ trống dưới đây:

GIÁ TRỊ

BIỂU THỨC

KẾT QUẢ

‘Mua he den roi’

Copy(S,8,7)

………….

‘Cong nghe’

Upcase(S)

………….



ĐÁP ÁN ĐỀ KIỂM TRA NĂM HỌC 2023 (ĐỀ SỐ 1)

MÔN: TIN HOC

THỜI GIAN: 45 PHÚT

I. TRẮC NGHIỆM (7 điểm; mỗi câu 0,3 điểm)

Câu

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

ĐA

A

A

D

A

C

A

B

B

C

D

A

B

A

A

C

B

A

A

D

C

A

II. TỰ LUẬN: (3 điểm)

CÂU


ĐÁP ÁN

THANG

ĐIỂM

CÂU 1

- Mảng một chiều là một dãy hữu hạn các phần tử có cùng kiểu. Mảng được đặt tên và mỗi phần tử mang một chỉ số. Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh chỉ số các phần tử.

- Với mảng một chiều ta quan tâm đến:

  • Tên kiểu mảng một chiều.
  • Số lượng phần tử trong mảng.
  • Kiểu dữ liệu của phần tử.
  • Cách khai báo biến mảng.
  • Cách tham chiếu đến phần tử.


0,75đ





0,75đ

CÂU 2

GIÁ TRỊ

BIỂU THỨC

KẾT QUẢ

KẾT QUẢ

‘Mua he den roi’

Copy(S,8,7)

‘den roi’

………….

‘Cong nghe’

Upcase(S)

‘CONG NGHE’

………….


0,75đ

0,75đ



Đề thi Giữa kì 2 Tin học lớp 11 năm 2024 có ma trận có đáp án (4 đề)

Phòng Giáo dục và Đào tạo .....

Đề thi Giữa kì 2

Năm học 2024

Bài thi môn: Tin học lớp 11

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

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

(Đề số 2)

I. TRẮC NGHIỆM (7 điểm; mỗi câu 0,3 điểm)

Khoanh tròn vào chữ cái in hoa đứng trước câu trả lời đúng tương ứng với các câu hỏi.

Câu 1. trong câu lệnh While <biểu thức điều kiện> Do <Câu lệnh>; câu lệnh sau từ khóa Do là :

A. Câu lệnh đơn và có ít nhất 1 câu lệnh làm thay đổi biểu thức điều kiện.

B. Câu lệnh ghép và có ít nhất 1 câu lệnh làm thay đổi biểu thức điều kiện.

C. Câu lệnh đơn hoặc ghép và có ít nhất 1 câu lệnh làm thay đổi biểu thức điều kiện.

D. Câu lệnh đơn hoặc ghép và có nhiều hơn 1 câu lệnh làm thay đổi biểu thức điều kiện.

Câu 2. Cho biết kết quả của đoạn chương trình sau Dem:=1; While (Dem < 5) Do Dem:=Dem+1; Writeln('Dem = ',Dem)

A. Dem = 4

B. Dem = 6

C. Dem =5

D. Dem = 1

Câu 3. Trong câu lệnh lặp với số lần biết trước, giá trị của biến đếm :

A. có kiểu nguyên hoặc thực

B. không tự động điều chỉnh.

C. tự động điều chỉnh sau khi thực hiện câu lệnh sau từ khóa Do

D. có thể là chữ hoặc số

Câu 4. Ðoạn chương trình sau:For i:=1 to 5 do If ((i mod 2) <> 0) then Write(i,', '); writeln(i); Cho kết quả là

A. 1, 3, 5, 5

B. 2, 4

C. 1, 3

D. 1, 3, 5

Câu 5. Trong câu lệnh lặp for - đo khẳng định nào sau đây là sai.

A. Giá trị đầu <= giá trị cuối.

B. Biến đếm là biến đơn, thường có kiểu nguyên

C. Câu lệnh sau Do phải có câu lệnh làm thay đổi giá trị của biến đếm

D. Câu lệnh sau Do là câu lệnh đơn hoặc ghép

Câu 6. Cho S là một xâu bất kỳ. Đoạn chương trình sau có chức năng gì. For i:=1 to length(s) Do s[i]:=Upcase(s[i]);

A. đáp án khác.

B. báo lỗi

C. không có chức năng gì

D. chuyển đổi các ký chữ cái trong xâu S thành chữ in hoa

Câu 7. Trong ngôn ngữ lập trình Pascal muốn chuyển đổi xâu S từ chữ thường sang chữ in hoa ta dùng:

A. Pos(S)

B. Tất cả đều sai.

C. Length(S);

D. Upcase(S);

Câu 8. Trong câu lệnh For <biến đếm:=giá trị đầu> To <giá trị cuối> Do <câu lệnh>; thì <biến đếm> phải có giá trị như thế nào?

A. là biến đơn, thường có kiều nguyên.

B. là biến đơn, có kiểu dữ liệu là kiểu thực.

C. có giá trị đầu lớn hơn giá trị cuối

D. là biến đơn, thường có kiểu dữ liệu là nguyên hoặc thực.

Câu 9. Để tìm ước số chung lớn nhất của 2 số nguyên dương a, b ta dùng cấu trúc lặp:

A. Có thể dùng While - Do hoặc For - Do

B. Chỉ có thể dùng cấu trúc lặp While - Do

C. Chỉ có thể dùng cấu trúc lặp For - Do

D. Đáp án khác

Câu 10. Trong ngôn ngữ lập trình Pascal, cho 2 xâu s1:= 'abd'; s2:='abcde'. khi so sánh 2 xâu đáp án nào là đúng

A. đáp án khác

B. s1 = s2

C. s1 > s2

D. s2 > s1

Câu 11. Cho mảng B một chiều, đoạn chương trình sau làm gì?

S: = 0; For i:= 1 to N do If ((B[i] mod 2 ) < > 0) and (B[i] mod 3) = 0 then S:= S + B[i];

A. Tính tổng các phần tử có giá trị là chẵn và bội của 3.

B. Tính tổng các phần tử có thứ tự là lẽ và chia hết cho 3.

C. Tính tổng các phần tử có giá trị là lẽ và bội của 3.

D. Tính tổng các phần tử có giá trị là lẽ là ước của 3.

Câu 12. Ðoạn chương trình sau cho kết quả gì? T:=0; for i:=1 to n do if (i mod 3=0) then T:=T+i*i;

A. Tính tổng bình phương các số là bội của 3 từ 1đến n

B. Tính tổng các số chia hết cho 3 từ 1đến n

C. Tính tổng bình phương các số lẽ trong phạm vi từ 1đến n.

D. Tính tổng bình phương các số là ước của 3 từ 1đến n

Câu 13. Với i là các biến nguyên. Ðoạn chương trình sau cho kết quả nào ?i:=1; while (i > 5) do i := i +1; write(i,' ');

A. 1 2 3 4 5

B. 1

C. 5

D. 2 3 4 5

Câu 14. Cho biết kết quả của đoạn chương trình sau N:=10975; While (N >=10) Do N := N div 10; Writeln('N = ',N)

A. N = 10

B. N = 0

C. N = 5

D. N = 1

Câu 15. Trong câu lệnh lặp for - do (dạng lùi), câu lệnh còn được thực hiện (lặp) khi nào ?

A. giá trị cuối > giá trị của biến đếm > giá trị đầu

B. giá trị cuối > giá trị của biến đếm = giá trị đầu

C. giá trị cuối > giá trị của biến đếm >= giá trị đầu

D. giá trị cuối >= giá trị của biến đếm >= giá trị đầu

Câu 16. Cách khai báo mảng nào sau đây là đúng

A. Var D : array [ 1.2 .. 20] of integer;

B. Var C : array [ n .. m] of real;

C. Var A : array [ -10 .. 10] of char;

D. Var B : array [ 100 .. 20] of byte;

Câu 17. Trong cấu trúc lặp với số lần chưa biết trước khẳng định nào sau đây là đúng

A. Câu lệnh sau Do phải là câu lệnh đơn

B. Câu lệnh sau Do phải có ít nhất một câu lệnh làm thay đổi biểu thức điều kiện

C. Câu lệnh sau Do phải là câu lệnh ghép

D. Câu lệnh còn được thực hiện (lặp) khi điều kiện có giá trị là sai.

Câu 18. Trong kiểu dữ liệu kiểu mảng, khẳng định nào sau đây là sai

A. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số

B. Có 2 cách để khai báo mảng một chiều.

C. Là một dãy vô hạn các phần tử cùng kiểu

D. Các phần tử trong mảng có cùng kiểu dữ liệu

Câu 19. Đoạn chương trình sau thực hiện i:=1; S:=0; While (i < N) Do begin S:=S+i; i := i+2; end; Write('S = ',S);

A. Tính tổng các số lẽ từ 1 đến N -1

B. Tính tổng các số chẵn từ 1 đến N

C. Tính tổng các số từ 1 đến N

D. Tính tổng các số lẽ từ 1 đến N

Câu 20. Câu Lệnh While <điều kiện> Do <Câu lệnh> thực hiện như thế nào ?

A. Trong khi điều kiện còn đúng thì câu lệnh sau từ khóa "Do" còn được thực hiện.

B. Trong khi điều kiện còn sai thì câu lệnh sau từ khóa "Do" còn được thực hiện.

C. Nếu điều kiện sai thì <câu lệnh> sau từ khóa "Do" được thực hiện.

D. Nếu điều kiện đúng thì <câu lệnh> sau từ khóa "Do" không được thực hiện.

Câu 21. Với i,j là các biến nguyên. Cho ðoạn chương trình sau: For i:=1 to 3 do For j:=i downto 1 do Write( j -1,' '); Cho kết quả là

A. 0 1 1 1 1 0

B. 0 1 2 3 2 1 0

C. 0 1 0 2 1 0

D. 0 1 0 3 2 1 0

II. TỰ LUẬN: (3,0 điểm)

Câu 1 (3.0 điểm). Viết chương trình nhập từ bàn phím mảng A có 10 phần tử cùng kiểu dữ liệu là số nguyên. Đưa ra màn hình:

1. Mảng A vừa nhập

2. Các phần tử lẻ

ĐÁP ÁN ĐỀ KIỂM TRA NĂM HỌC 2023 (ĐỀ SỐ 2)

MÔN: TIN HOC

THỜI GIAN: 45 PHÚT


I. TRẮC NGHIỆM (7 điểm; mỗi câu 0,3 điểm)

Câu

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

ĐA

C

C

C

A

D

D

B

A

A

C

C

A

B

D

D

C

B

C

A

A

C

II. TỰ LUẬN: (3 điểm)

CÂU

ĐÁP ÁN

THANG ĐIỂM

Câu 1

(3.0đ)

Program Tinhtong;

Uses crt;

Const m=10;

Var

A: array[1..m] of integer;

I, n: integer;

Tong: longint;

BEGIN

Write(‘Nhap so luong phan tu cua mang: ‘); readln(n);

For i:=1 to n do

Begin

Write(‘Nhap phan tu thu ‘,i,’ =’); Readln(a[i]);

End;

Tong:=0;

For i:=1 to n do

If a[i] mod 2<>0 then tong:=tong+a[i];

Writeln(‘Tong= ‘,tong:9);

Readln

END.


0.5


0.5



0.5


0.5




0.5


0.5

Phòng Giáo dục và Đào tạo .....

Đề thi Giữa kì 2

Năm học 2024

Bài thi môn: Tin học lớp 11

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

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

(Đề số 3)

I. TRẮC NGHIỆM (7 điểm; mỗi câu 0,3 điểm)

Khoanh tròn vào chữ cái in hoa đứng trước câu trả lời đúng tương ứng với các câu hỏi.

Câu 1. Để 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 2. 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 3. 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>,<danh sách biến>);

C. Read(<danh sách biến>, <biến tệp>);

D. Read(<danh sách biến>);

Câu 4. Tệp f có dữ liệu Đề thi Giữa kì 2 Tin học lớp 11 năm 2024 có ma trận có đáp án (4 đề)để đọ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 5. Trong kiểu dữ liệu kiểu mảng, khẳng định nào sau đây là sai

A. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số

B. Có 2 cách để khai báo mảng một chiều.

C. Là một dãy vô hạn các phần tử cùng kiểu

D. Các phần tử trong mảng có cùng kiểu dữ liệu

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

A. Writeln(<biến tệp>);

B. Writeln(<danh sách kết quả>,(<biến tệp>);

C. Writeln(<biến tệp>, <danh sách kết quả>);

D. Writeln(<danh sách kết quả>);

Câu 7. Giả sử a = 5; b = 9; c = 15; để ghi các giá trị trên vào tệp f có dạng là 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 8. Trong Pascal để khai báo ba biến tệp văn bản f1, f2, f3 cần sử dụng cách viết nào sau đây?

A. Var f1 f2 f3:text;

B. Var f1,f2,f3:text;

C. Var f1; f2;f3:text;

D. Var f1:f2:f3:text;

Câu 9. Cho khai báo mảng như sau:

Đề thi Giữa kì 2 Tin học lớp 11 năm 2024 có ma trận có đáp án (4 đề)

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

A. a[10];

B. a(10);

C. a[9];

D. a(9);

Câu 10. Hãy chọn phương án ghép đúng nhất. Mảng là kiểu dữ liệu biểu diễn một dãy các phần tử thuận tiện cho

A. chèn thêm phần tử;

B. truy cập đến phần tử bất kì;

C. xóa một phần tử

D. chèn thêm phần tử và xóa phần tử;

Câu 11. Phát biểu nào sau đây là đúng ?

A. Mảng một chiều là một dãy hữu hạn các số nguyên.

B. Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu dữ liệu.

C. Có thể dùng bất cứ một kiểu dữ liệu chuẩn nào để đánh chỉ số cho các phần tử của mảng một chiều.

D. Khi xây dựng kiểu mảng một chiều, người lập trình không cần khai báo kiểu dữ liệu của phần tử của mảng.

Câu 12. Phát biểu nào sau đây là sai ?

A. Mỗi phần tử của mảng một chiều đều được đánh chỉ số, được chỉ định nhờ chỉ số tương ứng của nó.

B. Với khai báo xây dựng kiểu mảng một chiều, không thể biết được mảng chứa tối đa bao nhiêu phần tử.

C. Trong khai báo xây dựng kiểu mảng một chiều, có thể biết được cách đánh chỉ số cho các phần tử của mảng.

D. Chỉ số được đánh tuần tự, liên tiếp cho các phần tử kề nhau của mảng một chiều, từ phần tử đầu tiên cho đến phần tử cuối.

Câu 13. Hãy chọn phương án hợp lý nhất. 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ự theo 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ự theo 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ự .

Câu 14. Trong ngôn ngữ lập trình Pascal, để đổi giá trị hai phần tử mảng một chiều A tại hai vị trí i và j , ta viết mã lệnh như sau :

A. A[i] := Tag;

A[i] := A[j];

A[j] := Tag;

B. Tag := A[i];

A[i] := A[j];

A[j] := Tag;

C. Tag := A[i];

A[j] := A[i];

A[j] := Tag;

D. Tag := A[i];

A[i] := A[j];

Tag := A[j];

Câu 15. 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 (A là mảng số có N phần tử) ?

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

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.

Câu 16. 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 là hợp lệ ?

A. a := b ;

B. b := c ;

C. c := b ;

D. a := c ;

Câu 17. Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau làm công việc gì:

i := pos(‘ ’, X) ;

while i <>0 do

Begin

Delete(X, i, 1) ;

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 phía bên trái trong xâu X ;

C. Xóa tất cả các dấu cách phía bên phải trong xâu X ;

D. Xóa tất cả các dấu cách ở hai đầu của xâu X ;

Câu 18. Trong ngôn ngữ lập trình Pascal, sau khi thực hiện đoạn chương trình sau, biến X có giá trị là gì?

S := ‘Hoang Anh Tuan’ ;

X := ‘ ’ ;

i := length(S) ;

while S[i] <> ‘ ’ do

Begin

X := X + S[i] ;

i := i + 1 ;

End ;

A. Xâu rỗng

B. ‘Hoang’

C. ‘Anh’

D. ‘Tuan’

Câu 19. Trong ngôn ngữ lập trình Pascal, để in một xâu kí tự ra màn hình theo thứ tự ngược lại của các ký tự trong xâu (vd : abcd thi in ra là dcba), đoạn chương nào sau đây thực hiện việc gì ?

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 := length(S) downto 1 do write(S)

D. For i := 1 to length(S) div 2 do write(S[i])

Câu 20. 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ì?

Đề thi Giữa kì 2 Tin học lớp 11 năm 2024 có ma trận có đáp án (4 đề)

A. Xóa đi các dấu cách trong xâu;

B. Đếm số ký tự có trong xâu;

C. Đếm số dấu cách có trong xâu; (*)

D. Xóa đi các ký tự số;

Câu 21. 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) do

if ( S[i] >= ‘ 0 ’ ) AND ( S[i] <= ‘ 9 ’ ) then d := d + 1 ;

A. Đếm số ký tự là ký tự số trong xâu S;

B. Đếm xem có bao nhiêu ký tự số trong xâu S;

C. Xóa đi các chữ số có trong S;

D. Xóa đi ký tự đầu tiên trong S;

II. TỰ LUẬN: (3,0 điểm)

Câu 1(2.0đ): Trình bày cấu trúc và ý nghĩa các thành phần trong khai báo biến mảng một chiều.

Câu 1 (1.0 đ). Viết chương trình nhập từ bàn phím mảng A có 100 phần tử cùng kiểu dữ liệu là số thực, đưa ra màn hình các phần tử trong mảng.

ĐÁP ÁN ĐỀ KIỂM TRA NĂM HỌC 2023 (ĐỀ SỐ 3)

MÔN: TIN HOC

THỜI GIAN: 45 PHÚT


I. TRẮC NGHIỆM (7 điểm; mỗi câu 0,3 điểm)

Câu

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

ĐA

B

D

B

A

C

C

A

B

C

B

B

B

A

B

A

A

A

D

B

C

A

II. T Ự LUẬN: (3 điểm)

CÂU

ĐÁP ÁN

THANG ĐIỂM

Câu 1

(2.0đ)

- Cách 1: Khai báo trực tiếp:

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

- Cách 2: Khai báo gián tiếp

TYPE <tên kiểu mảng> = ARRAY [kiểu chỉ số] OF <kiểu phần tử>;

VAR <tên biến mảng> : <tên kiểu mảng>;

- Trong đó:

+ Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1...n2 (n1<n2; n1, n2 là các hằng hoặc biểu thức)

+ Kiểu phần tử là kiểu dl của các phần tử của mảng.


0.5



0.5




0.5


0.5






Câu 2

(1.0đ)

Program xuat_mang;

Uses crt;

Var

A: array[1..100] of real;

I, n: integer;

BEGIN

Write(‘Nhap so luong phan tu cua mang: ‘); readln(n);

For i:=1 to n do

Begin

Write(‘Nhap phan tu thu ‘,i,’ =’); Readln(a[i]);

End;



0.25



0.25

0.25

0.25




Đề thi Giữa kì 2 Tin học lớp 11 năm 2024 có ma trận có đáp án (4 đề)


Phòng Giáo dục và Đào tạo .....

Đề thi giữa Học kì 2

Năm học 2024

Môn: Tin học lớp 11

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

(Đề số 4)

Phần I. Trắc nghiệm

Câu 1: Cho xâu kí tự sau: s:= ‘Nguyen Trai’. Lệnh nào sau đây cho kết quả ‘Trai’

 A. copy(s, 4, 8);

 B. delete(s, 7, 1);

 C. Cả A, B đều đúng

 D. Cả A, B đều sai

Câu 2: Xâu rỗng là xâu có độ dài bằng:

 A. 1

 B. 3

 C. 4

 D. 0

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

s1 := ‘123’; s2 := ‘abc’;

insert(s1 , s2 , 1);

write(s1);

Kết quả in ra màn hình là:

 A. ‘a123bc’

 B. ‘1abc23’

 C. ‘123’

 D. ‘abc’

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

s := ’ABCDEF’;

delete(s, 3, 2);

insert(‘XYZ’, s, 3);

write(s);

Kết quả in ra màn hình là:

 A. ‘ABXYZEF’

 B. ‘ABEXYZF’

 C. ‘AXYZ’

 D. ‘AXYZBEF’

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

s:= ‘abcd’;

For i:= length(s) downto 1 do write(s[i]);

Kết quả in ra màn hình là:

 A. ‘abcd’

 B. ‘dcba’

 C. ‘abcde’

 D. ‘edcba’

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

s := ‘abcde’;

write(pos(‘aba’, s));

Kết quả in ra màn hình là:

 A. 0

 B. ‘0’

 C. 3

 D. ‘3’

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

s := ‘Mua xuan’;

write(upcase(s[length(s)-3]));

Kết quả in ra màn hình là:

 A. ‘U’

 B. ‘A’

 C. ‘X’

 D. ‘N’

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

s1 := ‘1234’; s2 := ‘abc’;

if length(s1) > length(s2) then writeln(s1) else writeln(s2);

Kết quả in ra màn hình là:

 A. ‘1234’

 B. ‘abc’

 C. ‘1234abc’

 D. ‘abc1234’

Câu 9: Trong PASCAL, cú pháp khai báo biến tệp văn bản là:

 A. Var <tên tệp> : Text;

 B. Var <tên tệp> : String;

 C. Var <tên biến tệp> : String;

 D. Var <tên biến tệp> : Text;

Câu 10: Câu lệnh Assign(<biến tệp> , <tên tệp) ; có ý nghĩa gì?

 A. Thủ tục gắn tên tệp cho tên biến tệp

 B. Thủ tục mở tên để đọc dữ liệu

 C. Khai báo biến tệp

 D. Thủ tục đóng tệp

Câu 11: Câu lệnh để gắn tên tệp ‘bai1.txt’, cho biến tệp f là:

 A. assign( f, ‘bai1.txt’);

 B. assign(bai1.txt, f);

 C. assign( f, bai1.txt);

 D. assign(‘bai1.txt’, f);

Câu 12: Câu lệnh Rewrite(<biến tệp>) ; có ý nghĩa gì?

 A. Thủ tục gắn tên tệp cho tên biến tệp

 B. Khai báo biến tệp

 C. Thủ tục đóng tệp

 D. Thủ tục mở tên để ghi dữ liệu

Câu 13: Câu lệnh dùng để đọc dữ liệu từ tệp văn bản có dạng:

 A. Read(<tên tệp> , <danh sách kết biến>);

 B. Read(<biến tệp> , <danh sách kết biến>);

 C. Write(<tên tệp> , <danh sách kết biến>);

 D. Write(<biến tệp> , <danh sách kết biến>);

Câu 14: Nếu hàm eoln( ) cho giá trị bằng true thì con trỏ tệp nằm ở vị trí:

 A. Đầu dòng

 B. Đầu tệp

 C. Cuối dòng

 D. Cuối tệp

Câu 15: Câu lệnh dùng thủ tục để đóng tệp có dạng:

 A. Close(<biến tệp>);

 B. Close(<tên tệp>);

 C. Stop(<biến tệp>);

 D. Stop(<tên tệp>);

Câu 16: Hãy chọn thứ tự hợp lí nhất khi thực hiện các thao tác ghi dữ liệu vào tệp :

 A. Mở tệp => Gắn tên tệp => Ghi dữ liệu vào tệp => Đóng tệp

 B. Mở tệp => Ghi dữ liệu vào tệp => Gán tên tệp => Đóng tệp

 C. Gắn tên tệp => Mở tệp => Ghi dữ liệu vào tệp => Đóng tệp

 D. Gắn tên tệp => Ghi dữ liệu vào tệp => Mở tệp => Đóng tệp

Câu 17: Chọn phát biểu đúng trong các phát biểu dưới đây khi nói về lợi ích của việc sử dụng chương trình con:

 A. Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh nào đó

 B. Để chương trình gọn hơn

 C. Hỗ trợ việc viết chương trình có cấu trúc như cấu trúc lặp, rẽ nhánh

 D. Không có lợi ích

Câu 18: Để khai báo hàm trong Pascal bắt đầu bằng từ khoá:

 A. Program

 B. Procedure

 C. Var

 D. Function

Câu 19: Chương trình con gồm có: (chọn câu trả lời đúng nhất)

 A. Hằng và biến

 B. Hàm và thủ tục

 C. Hàm và hằng

 D. Thủ tục và biến

Câu 20: Khi viết một chương trình muốn trả về một giá trị ta nên dùng:

 A. Hàm

 B. Thủ tục

 C. Chương trình con

 D. Thủ tục hoặc hàm

Phần II. Tự luận

Bài 1 . (2 điểm) Viết các câu lệnh để đọc dữ liệu từ tệp “DL.TXT” 2 biến x1, x2 (sử dụng biến tệp f).

Bài 2. (3 điểm) Viết chương trình:

Nhập vào một xâu kí tự.

Đếm và in ra màn hình số kí tự là chữ cái (chữ thường) có trong xâu.

Đáp án & Thang điểm

Phần I. Trắc nghiệm

Đề thi Giữa học kì 2 Tin học lớp 11 có đáp án (Đề 4)

Phần II. Tự luận

Bài 1 .

Assign(f,’DL.TXT’);

Reset(f);

Read(f,x1,x2);

Close(f);

Bài 2.

Var a: string;

 i, Dem: integer;

Begin

 writeln(‘nhap xau:’);

 Readln(a);

 Dem:=0;

 For i:=1 to length(a) do

 If (‘a’<=a[i]) and (a[i]<=’z’)

  Dem:= Dem+1;

 Writeln(Dem);

 Readln

End.

Hay lắm đó

Phòng Giáo dục và Đào tạo .....

Đề thi giữa Học kì 2

Năm học 2024

Môn: Tin học lớp 11

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

(Đề số 5)

Phần I. Trắc nghiệm

Câu 1: Cho xâu kí tự sau: s:= ‘Nguyen Trai’. Lệnh nào sau đây cho kết quả ‘Nguyen’

 A. copy(s, 6, 1);

 B. delete(s, 5, 7);

 C. Cả A, B đều đúng

 D. Cả A, B đều sai

Câu 2: Xâu rỗng là xâu có độ dài bằng:

 A. 0

 B. 1

 C. 3

 D. 4

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

s1 := ‘123’; s2 := ‘abc’;

insert(s2 , s1 , 2);

write(s2);

Kết quả in ra màn hình là:

 A. ‘a123bc’

 B. ‘1abc23’

 C. ‘123’

 D. ‘abc’

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

s := ’ABCDEF’;

delete(s, 3, 2);

insert(‘XYZ’, s, 2);

write(s);

Kết quả in ra màn hình là:

 A. ‘ABXYZEF’

 B. ‘ABEXYZF’

 C. ‘AXYZ’

 D. ‘AXYZBEF’

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

s := ‘1001010’;

write(pos(‘012’, s));

Kết quả in ra màn hình là:

 A. 0

 B. ‘0’

 C. 3

 D. ‘3’

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

s := ‘Mua xuan’;

write(upcase(s[length(s)]));

Kết quả in ra màn hình là:

 A. ‘X’

 B. ‘U’

 C. ‘A’

 D. ‘N’

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

s1 := ‘abc’; s2 := ‘1234’;

if length(s1) < length(s2) then writeln(s1) else writeln(s2);

Kết quả in ra màn hình là:

 A. ‘1234’

 B. ‘abc’

 C. ‘1234abc’

 D. ‘abc1234’

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

s:= ‘54321’;

For i:= length(s) downto 1 do write(s[i]);

Kết quả in ra màn hình là:

 A. ‘123456’

 B. ‘12345’

 C. ‘54321’

 D. ‘654321’

Câu 9: Câu lệnh Var <tên biến tệp> : Text; có ý nghĩa là:

 A. Thủ tục gắn tên tệp cho tên biến tệp

 B. Thủ tục mở tên để đọc dữ liệu

 C. Khai báo biến tệp

 D. Thủ tục đóng tệp

Câu 10: Để gắn tên tệp cho tên biến tệp ta sử dụng câu lệnh:

 A. <biến tệp> := <tên tệp>;

 B. assign(<biến tệp> , <tên tệp>);

 C. <tên tệp> := <biến tệp>;

 D. assign(<tên tệp> , <biến tệp>);

Câu 11: Câu lệnh để gắn tên tệp ‘bai1.txt’, cho biến tệp f là:

 A. assign(bai1.txt, f);

 B. assign( f, bai1.txt);

 C. assign( f, ‘bai1.txt’);

 D. assign(‘bai1.txt’, f);

Câu 12: Câu lệnh Reset(<biến tệp>) ; có ý nghĩa gì?

 A. Thủ tục gắn tên tệp cho tên biến tệp

 B. Khai báo biến tệp

 C. Thủ tục mở tên để đọc dữ liệu

 D. Thủ tục đóng tệp

Câu 13: Câu lệnh dùng để ghi kết quả vào tệp văn bản có dạng:

 A. Read(<tên tệp>, <danh sách kết quả>);

 B. Read(<tên biến tệp>, <danh sách kết quả>);

 C. Write(<tên tệp>, <danh sách kết quả>);

 D. Write(<tên biến tệp>, <danh sách kết quả>);

Câu 14: Nếu hàm eof( ) cho giá trị bằng true thì con trỏ tệp nằm ở vị trí:

 A. Cuối tệp

 B. Đầu dòng

 C. Đầu tệp

 D. Cuối dòng

Câu 15: Câu lệnh dùng thủ tục để đóng tệp có dạng:

 A. Close(<tên tệp>);

 B. Stop(<biến tệp>);

 C. Stop((<tên tệp>);

 D. Close(<biến tệp>);

Câu 16: Hãy chọn thứ tự hợp lí nhất khi thực hiện các thao tác đọc dữ liệu từ tệp :

 A. Mở tệp => Gắn tên tệp => Đọc dữ liệu từ tệp => Đóng tệp

 B. Mở tệp => Đọc dữ liệu từ tệp => Gắn tên tệp => Đóng tệp

 C. Gắn tên tệp => Đọc dữ liệu từ tệp => Mở tệp => Đóng tệp

 D. Gắn tên tệp => Mở tệp => Đọc dữ liệu từ tệp => Đóng tệp

Câu 17: Chọn phát biểu đúng trong các phát biểu dưới đây khi nói về lợi ích của việc sử dụng chương trình con:

 A. Để chương trình gọn hơn

 B. Hỗ trợ việc viết chương trình có cấu trúc như cấu trúc lặp, rẽ nhánh

 C. Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh nào đó

 D. Không có lợi ích

Câu 18: Để khai báo thủ tục trong Pascal bắt đầu bằng:

 A. Program

 B. Procedure

 C. Function

 D. Var

Câu 19: Chương trình con gồm có: (chọn câu trả lời đúng nhất)

 A. Hằng và biến

 B. Hàm và hằng

 C. Thủ tục và biến

 D. Hàm và thủ tục

Câu 20: Chương trình con thực hiện một số thao tác nào đó và trả về một giá trị qua tên của nó là:

 A. Hàm

 B. Thủ tục

 C. Cả A và B đều đúng

 D. Đáp án khác

Phần II. Tự luận

Bài 1 . (2 điểm) Viết các câu lệnh để ghi dữ liệu vào tệp “ketqua.txt” 2 biến T, S (sử dụng biến tệp f2).

Bài 2. (3 điểm) Viết chương trình:

Nhập vào một xâu kí tự.

Đếm và in ra màn hình số kí tự là chữ cái (chữ hoa) có trong xâu.

Đáp án & Thang điểm

Phần I. Trắc nghiệm

Đề thi Giữa học kì 2 Tin học lớp 11 có đáp án (Đề 3)

Phần II. Tự luận

Bài 1 .

Assign(f2,’ketqua.txt’);

Rewrite(f2);

Write(f2,T,S);

Close(f2);

Bài 2.

Var a: string;

  i, Dem: integer;

Begin

 writeln(‘nhap xau:’);

 Readln(a);

 Dem:=0;

 For i:=1 to length(a) do

 If (‘A’<=a[i]) and (a[i]<=’Z’) then

  Dem:= Dem+1;

 Writeln(Dem);

 Readln

End.

Phòng Giáo dục và Đào tạo .....

Đề thi giữa Học kì 2

Năm học 2024

Môn: Tin học lớp 11

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

(Đề số 6)

Phần I. Trắc nghiệm

Câu 1: Cho xâu kí tự sau: s:= ‘Nguyen Trai’. Lệnh nào sau đây cho kết quả ‘Trai’

 A. copy(s, 8, 4);

 B. delete(s, 1, 7);

 C. Cả A, B đều đúng

 D. Cả A, B đều sai

Câu 2: Xâu rỗng là xâu có độ dài bằng:

 A. 1

 B. 0

 C. 3

 D. 4

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

s1 := ‘123’; s2 := ‘abc’;

insert(s1 , s2 , 2);

write(s1);

Kết quả in ra màn hình là:

 A. ‘a123bc’

 B. ‘1abc23’

 C. ‘123’

 D. ‘abc’

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

s := ’ABCDEF’;

delete(s, 3, 2);

insert(‘XYZ’, s, 1);

write(s);

Kết quả in ra màn hình là:

 A. ‘ABXYZEF’

 B. ‘ABEXYZF’

 C. ‘AXYZ’

 D. ‘XYZABEF’

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

s := ‘abcde’;

write(pos(‘cba’, s));

Kết quả in ra màn hình là:

 A. 0

 B. ‘0’

 C. 3

 D. ‘3’

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

s := ‘Mua xuan’;

write(upcase(s[length(s)-2]));

Kết quả in ra màn hình là:

 A. ‘X’

 B. ‘U’

 C. ‘A’

 D. ‘N’

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

s1 := ‘1234’; s2 := ‘abc’;

if length(s1) < length(s2) then writeln(s1) else writeln(s2);

Kết quả in ra màn hình là:

 A. ‘1234’

 B. ‘abc’

 C. ‘1234abc’

 D. ‘abc1234’

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

s:= ‘123456’;

For i:= length(s) downto 1 do write(s[i]);

Kết quả in ra màn hình là:

 A. ‘123456’

 B. ‘12345’

 C. ‘54321’

 D. ‘654321’

Câu 9: Trong PASCAL, để khai báo biến tệp văn bản ta phải sử dụng cú pháp:

 A. Var <tên biến tệp> : Text;

 B. Var <tên tệp> : Text;

 C. Var <tên tệp> : String;

 D. Var <tên biến tệp> : String;

Câu 10: Câu lệnh Assign(<biến tệp> , <tên tệp) ; có ý nghĩa gì?

 A. Thủ tục gắn tên tệp cho tên biến tệp

 B. Thủ tục mở tên để đọc dữ liệu

 C. Khai báo biến tệp

 D. Thủ tục đóng tệp

Câu 11: Câu lệnh để gắn tên tệp ‘bai1.txt’, cho biến tệp f là:

 A. assign(bai1.txt, f);

 B. assign( f, bai1.txt);

 C. assign(‘bai1.txt’, f);

 D. assign( f, ‘bai1.txt’);

Câu 12: Câu lệnh Rewrite(<biến tệp>) ; có ý nghĩa gì?

 A. Thủ tục gắn tên tệp cho tên biến tệp

 B. Khai báo biến tệp

 C. Thủ tục đóng tệp

 D. Thủ tục mở tên để ghi dữ liệu

Câu 13: Câu lệnh dùng để đọc dữ liệu từ tệp văn bản có dạng:

 A. Read(<tên tệp> , <danh sách kết biến>);

 B. Read(<biến tệp> , <danh sách kết biến>);

 C. Write(<tên tệp> , <danh sách kết biến>);

 D. Write(<biến tệp> , <danh sách kết biến>);

Câu 14: Nếu hàm eoln( ) cho giá trị bằng true thì con trỏ tệp nằm ở vị trí:

 A. Đầu dòng

 B. Đầu tệp

 C. Cuối dòng

 D. Cuối tệp

Câu 15: Câu lệnh dùng để đóng tệp f1 là:

 A. Close(f1):

 B. Close(f1);

 C. Stop(f1):

 D. Stop((f1);

Câu 16: Hãy chọn thứ tự hợp lí nhất khi thực hiện các thao tác ghi dữ liệu vào tệp :

 A. Mở tệp => Gắn tên tệp => Ghi dữ liệu vào tệp => Đóng tệp .

 B. Mở tệp => Ghi dữ liệu vào tệp => Gán tên tệp => Đóng tệp.

 C. Gắn tên tệp => Mở tệp => Ghi dữ liệu vào tệp => Đóng tệp .

 D. Gắn tên tệp => Ghi dữ liệu vào tệp => Mở tệp => Đóng tệp.

Câu 17: Chọn phát biểu đúng trong các phát biểu dưới đây khi nói về lợi ích của việc sử dụng chương trình con:

 A. Để chương trình gọn hơn

 B. Hỗ trợ việc viết chương trình có cấu trúc như cấu trúc lặp, rẽ nhánh

 C. Không có lợi ích

 D. Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh nào đó

Câu 18: Để khai báo hàm trong Pascal bắt đầu bằng từ khoá:

 A. Program

 B. Procedure

 C. Function

 D. Var

Câu 19: Chương trình con gồm có: (chọn câu trả lời đúng nhất)

 A. Hàm và thủ tục

 B. Hằng và biến

 C. Hàm và hằng

 D. Thủ tục và biến

Câu 20: Khi viết một chương trình muốn trả về một giá trị ta nên dùng:

 A. Hàm

 B. Thủ tục

 C. Chương trình con

 D. Thủ tục hoặc hàm

Phần II. Tự luận

Bài 1 . (2 điểm) Viết các câu lệnh để đọc dữ liệu từ tệp “dulieu.txt” 2 biến a, b (sử dụng biến tệp f1).

Bài 2. (3 điểm) Viết chương trình:

Nhập vào một xâu kí tự.

Đếm và in ra màn hình số kí tự là dấu cách có trong xâu.

Đáp án & Thang điểm

Phần I. Trắc nghiệm

Đề thi Giữa học kì 2 Tin học lớp 11 có đáp án (Đề 2)

Phần II. Tự luận

Bài 1 .

Assign(f1,’dulieu.txt’);

Reset(f1);

Read(f1,a,b);

Close(f1);

Bài 2.

Var a: string;

  i, Dem: integer;

Begin

 writeln(‘nhap xau:’);

 Readln(a);

 Dem:=0;

 For i:=1 to length(a) do

 If a[i] =’ ‘ then

  Dem:= Dem+1;

 Writeln(Dem);

 Readln

End.

Hay lắm đó

Phòng Giáo dục và Đào tạo .....

Đề thi giữa Học kì 2

Năm học 2024

Môn: Tin học lớp 11

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

(Đề số 7)

Phần I. Trắc nghiệm

Câu 1: Cho xâu kí tự sau: s:= ‘Nguyen Trai’. Lệnh nào sau đây cho kết quả ‘Nguyen’

 A. copy(s, 1, 6);

 B. delete(s, 7, 5);

 C. Cả A, B đều đúng

 D. Cả A, B đều sai

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

s1 := ‘123’; s2 := ‘abc’;

insert (s2 , s1 , 1);

write(s1);

Kết quả in ra màn hình là:

 A. ‘123abc’

 B. ‘abc’

 C. ‘123’

 D. ‘abc123’

Câu 3: Xâu rỗng là xâu có độ dài bằng:

 A. 1

 B. 3

 C. 0

 D. 4

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

s := ’ABCDEF’;

delete(s, 3, 2);

insert(‘XYZ’, s, 4);

write(s);

Kết quả in ra màn hình là:

 A. ‘ABXYZEF’

 B. ‘ABEXYZF’

 C. ‘AXYZ’

 D. ‘AXYZBEF’

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

s := ‘1001010’;

write(pos(‘011’, s));

Kết quả in ra màn hình là:

 A. 0

 B. ‘0’

 C. 3

 D. ‘3’

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

s := ‘Mua xuan’;

write(upcase(s[length(s)-1]));

Kết quả in ra màn hình là:

 A. ‘X’

 B. ‘U’

 C. ‘A’

 D. ‘N’

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

s1 := ‘abc’; s2 := ‘1234’;

if length(s1) > length(s2) then writeln(s1) else writeln(s2);

Kết quả in ra màn hình là:

 A. ‘1234’

 B. ‘abc’

 C. ‘1234abc’

 D. ‘abc1234’

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

s:= ‘edcba’;

For i:= length(s) downto 1 do write(s[i]);

Kết quả in ra màn hình là:

 A. ‘abcd’

 B. ‘dcba’

 C. ‘abcde’

 D. ‘edcba’

Câu 9: Câu lệnh Var <tên biến tệp> : Text; có ý nghĩa là:

 A. Thủ tục gắn tên tệp cho tên biến tệp

 B. Thủ tục mở tên để đọc dữ liệu

 C. Thủ tục đóng tệp

 D. Khai báo biến tệp

Câu 10: Để gắn tên tệp cho tên biến tệp ta sử dụng câu lệnh:

 A. <biến tệp> := <tên tệp>;

 B. <tên tệp> := <biến tệp>;

 C. assign(<biến tệp> , <tên tệp>);

 D. assign(<tên tệp> , <biến tệp>);

Câu 11: Câu lệnh để gắn tên tệp ‘bai1.txt’, cho biến tệp f là:

 A. assign(bai1.txt, f);

 B. assign( f, ‘bai1.txt’);

 C. assign( f, bai1.txt);

 D. assign(‘bai1.txt’, f);

Câu 12: Câu lệnh Reset(<biến tệp>) ; có ý nghĩa gì?

 A. Thủ tục gắn tên tệp cho tên biến tệp

 B. Khai báo biến tệp

 C. Thủ tục mở tên để đọc dữ liệu

 D. Thủ tục đóng tệp

Câu 13: Câu lệnh dùng để ghi kết quả vào tệp văn bản có dạng:

 A. Read(<tên tệp>,<danh sách kết quả>);

 B. Read(<tên biến tệp>,<danh sách kết quả>);

 C. Write(<tên tệp>,<danh sách kết quả>);

 D. Write(<tên biến tệp>,<danh sách kết quả>);

Câu 14: Nếu hàm eof( ) cho giá trị bằng true thì con trỏ tệp nằm ở vị trí:

 A. Cuối tệp

 B. Đầu dòng

 C. Đầu tệp

 D. Cuối dòng

Câu 15: Câu lệnh dùng để đóng tệp f2 là:

 A. Close(f2):

 B. Stop(f2):

 C. Close(f2);

 D. Stop((f2);

Câu 16: Hãy chọn thứ tự hợp lí nhất khi thực hiện các thao tác đọc dữ liệu từ tệp :

 A. Mở tệp => Gắn tên tệp => Đọc dữ liệu từ tệp => Đóng tệp

 B. Gắn tên tệp => Mở tệp => Đọc dữ liệu từ tệp => Đóng tệp

 C. Mở tệp => Đọc dữ liệu từ tệp => Gắn tên tệp => Đóng tệp

 D. Gắn tên tệp => Đọc dữ liệu từ tệp => Mở tệp => Đóng tệp

Câu 17: Chọn phát biểu đúng trong các phát biểu dưới đây khi nói về lợi ích của việc sử dụng chương trình con:

 A. Để chương trình gọn hơn

 B. Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh nào đó

 C. Hỗ trợ việc viết chương trình có cấu trúc như cấu trúc lặp, rẽ nhánh

 D. Không có lợi ích

Câu 18: Để khai báo thủ tục trong Pascal bắt đầu bằng:

 A. Procedure

 B. Program

 C. Function

 D. Var

Câu 19: Chương trình con gồm có: (chọn câu trả lời đúng nhất)

 A. Hằng và biến

 B. Hàm và hằng

 C. Hàm và thủ tục

 D. Thủ tục và biến

Câu 20: Chương trình con thực hiện các thao tác nhất định nhưng không trả về giá trị nào qua tên của nó là:

 A. Hàm

 B. Thủ tục

 C. Cả A và B đều đúng

 D. Đáp án khác

Phần II. Tự luận

Bài 1 . (2 điểm) Viết các câu lệnh để ghi dữ liệu vào tệp KQ.TXT 2 biến C, V (sử dụng biến tệp f).

Bài 2. (3 điểm) Viết chương trình:

Nhập vào một xâu kí tự.

Đếm và in ra màn hình số kí tự là số có trong xâu.

Var a: string;

 I,dem: integer;

Begin

 Readln(a);

 Dem:=0;

 For i:=1 to length(a) do

 If (‘0’<=a[i]) and (a[i]<=’9’) then dem:=dem+1;

 Writeln(dem);

 Readln

End.

Đáp án & Thang điểm

Phần I. Trắc nghiệm

Đề thi Giữa học kì 2 Tin học lớp 11 có đáp án (Đề 1)

Phần II. Tự luận

Bài 1 .

Assign(f,’KQ.TXT’);

Rewrite(f);

Write(f,C,V);

Close(f);

Bài 2.

Var a: string;

  i, Dem: integer;

Begin

 writeln(‘nhap xau:’);

 Readln(a);

 Dem:=0;

 For i:=1 to length(a) do

 If (‘0’<=a[i]) and (a[i]<=’9’) then Dem:= Dem+1;

 Writeln(Dem);

 Readln

End.

Xem thêm các đề thi Tin học lớp 11 chọn lọc, có đáp án hay khác: