Đề thi giữa HK2 môn Tin học 11 năm 2021-2022 - Trường THPT Nguyễn Du
-
Hocon247
-
40 câu hỏi
-
60 phút
-
81 lượt thi
-
Dễ
Tham gia [ Hs Hocon247.com ] - Cộng Đồng Luyện Thi Trực Tuyến để được học tập những kiến thức bổ ích từ HocOn247.com
Trong lệnh lặp For – do: (chọn phương án đúng nhất)
Trong lệnh lặp For – do Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối. Nếu giá trị đầu lớn hơn giá trị cuối thì vong lặp không được thực hiện.
Đáp án: B
Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên cấu trúc cơ bản là:
Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên cấu trúc cơ bản là cấu trúc tuần tự, cấu trúc rẽ nhánh, cấu trúc lặp. Tùy theo từng bài toán mà lựa chọ cấu trúc cho hợp lí.
Đáp án: D
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:
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 truy cập đến phần tử bất kì. Theo cú pháp Tên mảng[chỉ số];
Đáp án: B
Trong ngôn ngữ lập trình Pascal, sau khi chương trình thực hiện xong đoạn chương trình sau, giá trị của biến S là ?
S := ‘Ha Noi Mua thu’;
Delete(S,7,8);
Insert(‘Mua thu’, S, 1);
+ Câu lệnh Delete(S,7,8); có nghĩa là xóa 8 kí tự trong xâu S bắt đầu từ vị trí thứ 7→ xâu S còn lại sau khi thực hiện lệnh là ‘Ha Noi’
+ Câu lệnh Insert(‘Mua thu’, S, 1); có nghĩa là chèn xâu ‘Mua thu’ vào xâu S trên tại vị trí thứ nhất→ giá trị biến S sau khi thực hiện xong chương trình là ‘Mùa thu Ha Noi’.
Đáp án: C
Trong kiểu dữ liệu bản ghi, mỗi bản ghi thường được dùng để?
Trong kiểu dữ liệu bản ghi, mỗi bản ghi thường dùng để mô tả hay lưu trữ các đối tượng có cùng một số thuộc tính cần quản lý mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.
Đáp án: B
Phát biểu nào sau đây về bản ghi là không phù hợp?
Kiểu dữ liệu bản ghi dùng để mô tả hay lưu trữ các đối tượng có cùng một số thuộc tính cần quản lý mà các thuộc tính có thể có các kiểu dữ liệu khác nhau. Đối với kiểu mảng thì dùng để mô tả các đối tượng có cùng thuộc tính nhưng kiểu dữ liệu giống nhau. Vì vậy không thể dùng bản ghi để thay thế mảng.
Đáp án: D
Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:
Cấu trúc câu lệnh While- do có dạng:
While <điều kiện> do < câu lệnh>;
Ý nghĩa: Câu lệnh được thực hiện khi điều kiện được thỏa mãn. Do vậy mỗi lần thực hiện câu lệnh nó sẽ kiểm tra điều kiện, đúng sẽ thực hiện, sai thì dừng vòng lặp.
Mà điều kiện của bài là S>108 vì vậy nó sẽ kiểm tra S< 108 thì tính tổng đến khi S>108 thì dừng. Trong Pascal S< 108 được viết là S< 1.0E8.
Đáp án: C
Câu lệnh sau giải bài toán nào:
While M <> N do
If M > N then M:=M-N else N:=N-M;
Câu lệnh trên giải bài toán tìm UCLN của M và N. Với ý tưởng, kiểm tra xem M, N có giá trị khác nhau không. Nếu có thực hiện kiểm tra giá trị nào lớn hơn. Giá trị lớn hơn sẽ được gán bằng hiệ của số lớn trừ số bé. Việc làm thế cứ lặp đi lặp lại đến khi hai giá trị bằng nhau thì đưa ra UCLN của nó.
Đáp án: A
Đoạn chương trình sau giải bài toán nào?
For I:=1 to M do
If (I mod 3 = 0) and (I mod 5 = 0) then
T := T + I;
Đoạn chương trình
For I:=1 to M do { I chạy trong phạm vi từ 1 đến M}
If (I mod 3 = 0) and (I mod 5 = 0) then { kiểm tra I chia hết cho 3 và cho 5 không}
T := T + I; {Cộng dồn vào tổng}
Đáp án: B
Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:
Để khai báo số phần tử của mảng trong PASCAL ( kiểu chỉ số), người lập trình cần khai báo chỉ số bắt đầu và kết thúc của mảng. Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1..n2 với n1, n2 là các hằng hoặc biểu thức nguyên xác định chỉ số đầu và cuối (n1 ≤ n2).
Đáp án: B
Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
Chỉ số của mảng dùng để tham chiếu (truy cập) đến một phần tử bất kì trong mảng.
Cú pháp: <Tên mảng>[chỉ số];
Đáp án: A
Phát biểu nào sau đây về mảng là không chính xác?
Chỉ số của mảng không nhất thiết bắt đầu từ 1 tùy theo người lập trình. Xâu kí tự cũng có thể xem như mảng một chiều, mỗi phần tử là một kí tự. Trong lập trình có thể xây dựng mảng nhiều chiều. Và không có giới hạn cụ thể về độ dài của mảng.
Đáp án: D
Cho xâu S là ‘Hanoi-Vietnam’. Kết quả của hàm Length(S) là:
Hàm Length(s) là hàm cho biết độ dài của xâu s (số kí tự có trong xâu bao gồm cả dấu cách, dấu -, các dấu đặc biệt).
Đáp án: B
Cho xâu S là ‘Hanoi-Vietnam’. Kết quả của hàm Pos(‘Vietnam’,S) là
Hàm Pos(s1, s2) cho biết vị trí xuất hiện đầu tiên của xâu s1 trong s2.
Kết quả của hàm Pos(‘Vietnam’,S) là vị trí kí tự V đầu tiên trong S → kết quả là 7
Đáp án: C
Cho biến bản ghi sinh_vien gồm các trường ho_ten, ngay_sinh. Biểu thức nào truy cập đến trường ho_ten của bản ghi này?
Cấu trúc tham chiếu đến một trường trong bản ghi là:
< Tên biến kiểu bản ghi>.< tên trường>;
Đáp án: D
Cho khai báo sau: Var hoten : String;
Phát biểu nào dưới đây là đúng ?
Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
Đáp án: C
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:
Thủ tục chuẩn Insert(S1,S2,vt) thực hiện chèn xâu S1 vào S2 bắt đầu từ vị trí vt.
Đáp án: A
Thế nào là khai báo biến mảng gián tiếp?
Khai báo biến mảng gián tiếp là khai báo thông qua kiểu mảng đã có. Cấu trúc khai báo mảng 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>;
Đáp án:D
Cú pháp lệnh lặp For – do dạng lùi:
+ Cú pháp lệnh lặp For – do dạng lùi:
For < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
+ Cú pháp lệnh lặp For – do dạng tiến:
For < biến đếm> := < Giá trị đầu> to < Giá trị cuối> do < câu lệnh >;
Đáp án: B
Phát biểu nào dưới đây là đúng khi nói về kiểu bản ghi?
Kiểu bản ghi là một kiểu dữ liệu có cấu trúc. Mỗi bản ghi mô tả một đối tượng, mỗi bản ghi có thể gồm một số thành phần gọi là trường, mỗi trường mô tả một thuộc tính của đối tượng. Giống như kiểu mảng, các trường tạo thành một bản ghi có thể có các kiểu dữ liệu khác nhau.
Đáp án: A
Phát biểu nào dưới đây là sai khi nói về kiểu bản ghi?
Không thể so sánh các bản ghi bất kì với nhau bằng các quan hệ <, >, =, <>, vì các phép toán quan hệ dùng trong các biểu thức quan hệ.
Đáp án: A
Trong ngôn ngữ lập trình Pascal, có thể gán giá trị cho bản ghi bằng cách?
Trong ngôn ngữ lập trình Pascal, có thể gán giá trị cho bản ghi bằng cách:
+ Gán giá trị cho từng trường: có thể thực hiện bằng lệnh gán hoặc nhập từ bàn phím
+ Dùng lệnh trực tiếp: nếu A. B là hai bản ghi cùng kiểu, ta có thể gán giá trị của B cho A bằng câu lệnh A:= B;
Đáp án: D
Trong ngôn ngữ lập trình Pascal, để khai báo kiểu bản ghi để xử lý danh sách cán bộ của một cơ quan, khai báo kiểu bản ghi nào trong các khai báo sau là đúng? ( Bản ghi có cấu trúc gồm 5 trường: Họ tên, năm sinh, địa chỉ, mức lương, phụ cấp )
Cấu trúc khai báo kiểu bản ghi:
Type <tên kiểu bản ghi> = record
<tên trường 1> : < kiểu trường 1>;
…
<tên trường k> : < kiểu trường k>;
End;
Đáp án: A
Để truy cập vào từng trường của bản ghi ta viết?
Cấu trúc truy cập từng trường của bản ghi là: <tên biến bản ghi> . <tên trường> ;
Đáp án: C
Đ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.
Hàm Length(s) là hàm cho biết độ dài của xâu s (số kí tự có trong xâu bao gồm cả dấu cách, dấu -, các dấu đặc biệt).
+ Xâu ‘tinhoc ’ có 7 kí tự nên kết quả chương trình là 7.
Đáp án: B
Câu lệnh nào trong các câu lệnh sau không dùng để gán giá trị cho trường của bản ghi A? (với bản ghi A có 3 trường là Ten, Lop, Diem)
Để gán giá trị cho trường có thể thực hiện bằng lệnh gán giá trị cụ thể hoặc nhập từ bàn phím (readln).
Đáp án: D
Phát biểu nào sau đây về chức năng của kiểu bản ghi là phù hợp nhất?
Kiểu dữ liệu bản ghi dùng để mô tả hay lưu trữ các đối tượng có cùng một số thuộc tính (thông tin), mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.
Đáp án: A
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]) ;
Đoạn chương trình trên dùng để in từng kí tự ra màn hình theo thứ tự ngược, sử dụng vòng lặp chạy từ kí tự cuối về kí tự đầu. Mỗi lần chạy in ra một kí tự.
Trong ngôn ngữ lập trình Pascal, xâu kí tự không có kí tự nào gọi là ?
Trong ngôn ngữ lập trình Pascal, xâu kí tự không có kí tự nào gọi là xâu rỗng
Đáp án: B
Trong ngôn ngữ lập trình Pascal, khai báo nào trong các khai báo sau là sai khi khai báo xâu kí tự ?
Cấu trúc khai báo kiểu xâu
Var < biến xâu> : string [độ dài lớn nhất của xâu];
Trong đó: Biến xâu được đặt theo quy tắc đặt tên trong Pascal.
Độ dài xâu có thể có hoặc không, độ dài lớn nhất không quá 255 kí tự.
Đáp án: C
Độ dài tối đa của xâu kí tự trong PASCAL là:
Độ dài tối đa của xâu kí tự trong Pascal là 255 kí tự. Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
Đáp án: B
Phương án nào dưới đây là khai báo mảng hợp lệ?
Cấu trúc khai báo mảng trực tiếp:
Var <tên biến mảng> : array [kiểu chỉ số] of <kiểu phần tử>;
Trong đó:
+ Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1..n2 với n1, n2 là các hằng hoặc biểu thức nguyên xác định chỉ số đầu và cuối (n1 ≤ n2).
+ Kiểu phần tử là kiểu của các phần tử trong mảng.
Đáp án: A
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?
ý nghĩa của câu lệnh
Var a : array[0..50] of real ; {khai báo mảng a}
k := 0 ; {gán chỉ số 0 cho k}
for i := 1 to 50 do { vòng lặp chạy từ 1 đến 50}
if a[i] > a[k] then k := i ; { kiểm tra từ phần tử thứ 2 đến phần tử 50 so sánh với phần tử đầu và đưa ra chỉ số lớn nhât}
Đáp án:C
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ứ 10 của mảng?
Tham chiếu (truy cập) đến một phần tử bất kì trong mảng.
Cú pháp: Tên mảng[chỉ số];
Đáp án: A
Khai báo mảng hai chiều nào sau đây là sai?
Khai báo mảng hai chiều:
+ Cách 1: trực tiếp
Var <tên biến mảng> : array [kiểu chỉ số hàng, kiểu chỉ số cột] of < kiểu phần tử>;
+ Cách 2: gián tiếp
Type <tên kiểu mảng> : array [kiểu chỉ số hàng, kiểu chỉ số cột] of < kiểu phần tử>;
Var <tên biến mảng>: < tên kiểu mảng>;
Đáp án: B
Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?
Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số. Để mô tả ta cần xác định kiểu của các phần tử và cách đánh số các phần tử của nó.
Đáp án: C
Cú pháp lệnh lặp For – do dạng tiến:
+ Cú pháp lệnh lặp For – do dạng lùi:
For < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
+ Cú pháp lệnh lặp For – do dạng tiến:
For < biến đếm> := < Giá trị đầu> to < Giá trị cuối> do < câu lệnh >;
Đáp án: D
Trong vòng lặp For – do dạng tiến. Giá trị của biến đếm
Trong vòng lặp For – do dạng tiến. Giá trị của biến đếm lần lượt nhận giá trị liên tiếp tằng từ giá trị đầu đến giá trị cuối. Giá trị của biến đếm được điề chỉnh tự động vì vậy câu lệnh sau Do không được thay đổi gía trị biến đếm.
Đáp án: B
Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:
Kiểu dữ liệu của biến đếm trong lệnh lặp For – do cùng kiểu với giá trị đầu và giá trị cuối. Biến đếm là biến đơn, thường là kiểu nguyên.
Đáp án: A
Vòng lặp While – do kết thúc khi nào
Vòng lặp While – do là vòng lặp chưa biết trước số lần lặp vì vậy việc lặp chỉ kết thúc khi một điều kiện cho trước được thỏa mãn.
Đáp án: A