Đề thi HK1 môn Tin học 11 năm 2021-2022 - Trường THPT Ngô Gia Tự
-
Hocon247
-
40 câu hỏi
-
60 phút
-
49 lượt thi
-
Trung bình
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
Hãy chọn phương án đúng. Biểu thức: 25 mod 3 + 5 / 2 * 3 có giá trị là gì?
+ Trong Pascal, phép Mod là phép chia lấy phần dư, phép (/) là phép chia, (*) là phép nhân trong toán học.
+ Thứ tự thực hiện: Trong ngoặc trước, nếu không có ngoặc thực hiện nhân, chia, lấy phần nguyên (div), lấy phần dư (mod) thực hiện trước và cộng, trừ thực hiện sau.
Vậy giá trị của biểu thức là:
25 mod 3 + 5 / 2 * 3 = 1 + 2.5 x 3= 1+ 7.5 = 8.5
Biểu diễn biểu thức \((a+b)+\frac{\sqrt{a^{2}+2bc}}{c-\frac{a}{a+b}}\) trong NNLT Pascal là
Thứ tự thực hiện phép toán:
+ Thực hiện trong ngoặc trước;
+ Trong dãy các phép toán không chứa ngoặc thì thực hiện từ trái sang phải, theo thứ tự nhân, chia, chia nguyên, lấy phần dư thực hiện trước và các phép cộng, trừ thực hiện sau.
Trong ngôn ngữ lập trình Pascal, biểu thức số học nào sau đây là hợp lệ ?
Trong ngôn ngữ lập trình Pascal, không được bỏ dấu nhân (*) trong tích và chỉ dùng cặp ngoặc tròn để xác định trình tự thực hiện phép toán → loại A. C. D.
Hàm cho giá trị bằng bình phương của x là gì?
Trong Pascal:
+ Hàm cho giá trị bằng bình phương của x là Sqr(x).
+ Hàm Sqrt(x) là hàm căn bậc hai
+ Hàm Abs(x) là hàm giá trị tuyệt đối
+ Hàm exp(x) là hàm lũy thừa của số e.
Để thực hiện gán giá trị 10 cho biến X. Phép gán nào sau đây là đúng ?
Để thực hiện gán giá trị 10 cho biến X là X := 10, cấu trúc câu lệnh gán là:
:= ;
Trong Pascal, phép toán MOD với số nguyên có tác dụng gì ?
Trong Pascal, phép toán MOD với số nguyên có tác dụng chia lấy phần dư còn phép toán DIV với số nguyên có tác dụng chia lấy phần nguyên.
Cho đoạn chương trình:
Begin
a := 100;
b := 30;
x := a div b;
Write(x);
End.
Cho biết kết quả sau khi thực hiện lệnh:
Ta có a := 100; gán cho a giá trị là 100
b := 30; gán cho b giá trị là 30
x := a div b =100 div 30 =3 (div là phép lấy nguyên)
Cho biểu thức sau: (a mod 3 = 0) and (a mod 4 = 0). Số a nhận giá trị nào sau đây để biểu thức cho kết quả là TRUE?
Ta có:
a mod 3 = 0 → phần dư bằng 0 → a chia hết cho 3
a mod 4 = 0 → Phần dư bằng 0 → a chia hết cho 4
⇒ a chia hết cho 12
Biểu thức nào sau kiểm tra: n là một số nguyên dương chẵn?
N là một số nguyên dương chẵn → n > 0 và n chia hết cho 2 hay số dư bằng 0. Tương đương với phép mod trong Pascal (n mod 2 = 0).
Để in giá trị lưu trong 2 biến a và b ra màn hình ta dùng lệnh:
Trong Pascal để in giá trị lưu trong 2 biến a, b ra màn hình ta dùng lệnh write() hoặc writeln(). Trong ngoặc là danh sách các biến được cách nhau bởi dấu phảy.
Trong ngôn ngữ lập trình Pascal, với câu lệnh như sau (a là một biến kiểu số thực):
a :=2345 ;
Writeln('a = ', a:8:3);
Sẽ ghi ra màn hình?
Lệnh Writeln('a = ', a:8:3); là đưa ra màn hình giá trị của a với độ rộng là 8 (tính cả dấu chấm) và số chữ số thập phân là 3. Vì giá trị của a là số nguyên nên phần thập phân là 3 chữ số 0.
Để nhập giá trị cho 2 biến a và b ta dùng lệnh nào sau đây?
Trong Pascal để nhập giá trị cho biến từ bàn phím ta dùng lệnh Read() hoặc Readln(). Trong ngoặc là danh sách các biến được cách nhau bởi dấu phẩy.
Để đưa ra màn hình giá trị của biến a kiểu nguyên và biến b kiểu thực ta dùng lệnh nào sau đây?
Trong thủ tục Write hoặc Writeln để đưa kết quả ra màn hình (biến, hằng, biểu thức) có thể có quy cách ra. Quy cách ra như sau:
+ Đối với kết quả số thực có dạng:
: :
+ Đối với kết quả khác:
:
Cho S là biến có kiểu xâu (String) và y là biến kiểu thực. Trong các cách sau đây, khi thực hiện câu lệnh readln(S,y) nhập giá trị cho S = ‘ Tran Van Thong’ và y = 7.5 từ bàn phím, cách nhập nào đúng ?
Để nhập giá trị cho từng biến muốn máy tính hiểu ta phải nhấn phím Enter hoặc dấu cách hoặc phím Tab.
Trong Turbo Pascal, để đóng cửa sổ chương trình:
Trong Turbo Pascal, để đóng cửa sổ chương trình nhấn tổ hợp phím Alt + F3.
Trong Turbo Pascal, để lưu một chương trình ta thực hiện thao tác nào?
Trong Turbo Pascal, để lưu một chương trình ta nhấn phím F2 rồi nhập tên tệp và nhấn phím Enter.
Trong Turbo Pascal, đang ở cửa sổ chương trình nguồn muốn xem lại màn hình Output:
Trong Turbo Pascal, đang ở cửa sổ chương trình nguồn muốn xem lại màn hình Output ta nhấn tổ hợp phím Alt + F5.
Trong Turbo Pascal, để chạy chương trình:
Trong Turbo Pascal, để chạy chương trình ta nhấn tổ hợp phím Ctrl + F9. Để biên dịch ta nhấn Alt + F9.
Trong Turbo Pascal, để thoát khỏi phần mềm:
Trong Turbo Pascal, để thoát khỏi phần mềm nhấn tổ hợp phím Alt + X.
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.
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ọn cấu trúc cho hợp lí.
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 do ;
Ý 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ì dừng. Trong Pascal S
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ệu 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ó.
Đ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}
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 := downto do ;
+ Cú pháp lệnh lặp For – do dạng tiến:
For := to do ;
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 := downto do ;
+ Cú pháp lệnh lặp For – do dạng tiến:
For := to do ;
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ừ giá trị đầu đến giá trị cuối. Giá trị của biến đếm được điều chỉnh tự động vì vậy câu lệnh sau Do không được thay đổi giá trị biến đếm.
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.
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ì vòng lặp không được thực hiện.
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ố];
Khai báo mảng hai chiều nào sau đây là sai?
Các cách khai báo mảng hai chiều:
+ Cách 1: Trực tiếp
Var : array [kiểu chỉ số hàng, kiểu chỉ số cột] of ;
+ Cách 2: Gián tiếp
Type : array [kiểu chỉ số hàng, kiểu chỉ số cột] of ;
Var : ;
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ố];
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?
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}
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 : array [kiểu chỉ số] of ;
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.
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 = array [kiểu chỉ số] of ;
Var : ;
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 = record
: ;
…
: ;
End;
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.
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.
Đ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.
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ự.