Trắc nghiệm Tin học 11 Bài 9: Cấu trúc rẽ nhánh
Câu 1. Hãy chọn phương án ghép đúng nhất . Để mô tả cấu trúc rẽ
nhánh trong thuật tốn, nhiều ngơn ngữ lập trình bậc cao dùng câu lệnh IF – THEN, sau IF là <điều kiện> . Điều kiện là
A. biểu thức lôgic; B. biểu thức số học; C. biểu thức quan hệ; D. một câu lệnh;
Hiển thị đáp án
Trả lời: Câu lệnh IF – THEN, sau IF là <điều kiện> . Điều kiện là biểu thức lôgic
(biể thức cho giá trị đúng hoặc sai)
Đáp án: A
Câu 2. Hãy chọn phương án ghép đúng . Với cấu trúc rẽ nhánh IF <điều
kiện> THEN <câu lệnh>, câu lệnh đứng sau THEN được thực hiện khi
A. điều kiện được tính tốn xong; B. điều kiện được tính tốn và cho giá trị đúng; C. điều kiện khơng tính được;
D. điều kiện được tính tốn và cho giá trị sai;
Hiển thị đáp án
Trả lời: Cấu trúc rẽ nhánh IF <điều kiện> THEN <câu lệnh>, câu lệnh đứng
sau THEN được thực hiện khi điều kiện được tính tốn và cho giá trị đúng. Nếu sai câu lệnh không được thực hiện.
Đáp án: B
Câu 3. Hãy chọn phương án ghép đúng . Với cấu trúc rẽ nhánh IF <điều
kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2>, câu lệnh 2 được thực hiện
A. biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong; B. câu lệnh 1 được thực hiện;
C. biểu thức điều kiện sai; D. biểu thức điều kiện đúng;
Hiển thị đáp án
Trả lời: Với cấu trúc rẽ nhánh IF <điều kiện> THEN <câu lệnh 1> ELSE <câu
lệnh 2>, Câu lệnh 1 được thực hiện khi điều kiện là đúng, câu lệnh 2 được thực
hiện khi biểu thức điều kiện sai.
Đáp án: C
Câu 4. Hãy chọn cách dùng sai . Muốn dùng biến X lưu giá trị nhỏ nhất
trong các giá trị của hai biến A. B có thể dùng cấu trúc rẽ nhánh như sau : A. if A <= B then X := A else X := B; B. if A < B then X := A; C. X := B; if A < B then X := A; D. if A < B then X := A else X := B; Hiển thị đáp án
Trả lời: Câu lệnh if A < B then X := A; → chỉ đưa ra được trường hợp A<B còn
trường hợp A> B thì không đưa ra được giá trị nhỏ nhất trong hai biến.
Đáp án: B
Câu 5. Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong
cấu trúc rẽ nhánh ? A. A + B B. A > B C. N mod 100 D. “A nho hon B”
Trả lời: các phép toán điều kiện như >, <, >=, <=, <>.
Vậy A>B là biểu thức điêu kiện ( chứa phép toán điều kiện).
Đáp án: B
Câu 6. Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây
là đúng với câu lệnh rẽ nhánh if…then…else…?
A. Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai cặp dấu ngoặc nhọn;
B. Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai dấu ngoặc đơn;
C. Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End;
D. Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End
Hiển thị đáp án
Trả lời: Câu lệnh rẽ nhánh if…then…else…Nếu sau else muốn thực hiện nhiều
câu lệnh (câu lệnh ghép) thì các câu lệnh phải đặt giữa Begin và End;
Đáp án: C
Câu 7. Trong ngơn ngữ lập trình Pascal, về mặt cú pháp cách viết các
câu lệnh ghép nào sau đây là đúng:
A. Begin :A := 1 ; A := 1 ; B := 5 ; End ; B. Begin ; A := 1 ; B := 5 ;
End ; C. Begin A := 1 ; B := 5 ; End : D. Begin A := 1 ; B := 5 ; End ; Hiển thị đáp án
Trả lời: Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh ghép là: Begin
<dãy các câu lệnh>; End;
Đáp án: D
Câu 8. Trong ngơn ngữ lập trình Pascal, muốn kiểm tra đồng thời cả ba
giá trị của A. B. C có cùng lớn hơn 0 hay khơng ta viết câu lệnh If thế nào cho đúng ?
A. If A. B. C > 0 then ……
B. If (A > 0) and (B > 0) and (C > 0) then …… C. If A>0 and B>0 and C>0 then ……
D. If (A>0) or (B>0) or (C>0) then……
Hiển thị đáp án
Trả lời: Trong ngôn ngữ lập trình Pascal, muốn kiểm tra đồng thời cả ba giá trị
If (A > 0) and (B > 0) and (C > 0) then ……
Đáp án: B
Câu 9. Cho đoạn chương trình:
x:=2; y:=3;
IF x > y THEN F:= 2*x – y ELSE
IF x=y THEN F:= 2*x ELSE F:= x*x + y*y ; Sau khi thực hiện đoạn chương trình trên, giá trị F là:
A. F=13. B. F=1. B. F=1. C. F=4. D. Không xác định
Hiển thị đáp án
Trả lời: Câu lệnh x:=2; gán cho x giá trị bằng 2
Câu lệnh y:=3; → gán cho y giá trị bằng 3.
Vì x<y nên chương trình thực hiện câu lệnh F:= x*x + y*y ; hay F= 2 x 2 + 3 x 3 = 13.
Đáp án: A
Câu 10. Điều kiện trong Pascal được biểu diễn bằng biểu thức nào:
A. ( 2 x) or ( x <5) B. ( x <5) and ( 2 x) C. (x >= 2) and ( x<5) D. (x >= 2) or ( x<5)
Hiển thị đáp án
Trả lời: Trong tốn học dấu móc nhọn là phép và được biểu diễn trong Pascal là
and. Dấu lớn hơn hoặc bằng được kí hiệu >= .
Trắc nghiệm Tin học 11 Bài 10: Cấu trúc lặp Câu 1: Vòng lặp While – do kết thúc khi nào
A. Khi một điều kiện cho trước được thỏa mãn B. Khi đủ số vịng lặp
C. Khi tìm được Output D. Tất cả các phương án
Hiển thị đáp án
Trả lời: 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
Câu 2: Mọi q trình tính tốn đều có thể mơ tả và thực hiện dựa trên
cấu trúc cơ bản là: A. Cấu trúc tuần tự B. Cấu trúc rẽ nhánh C. Cấu trúc lặp D. Cả ba cấu trúc Hiển thị đáp án
Trả lời: Mọi q trình tính tố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
Câu 3: 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:
A. While S>=108 do B. While S < 108 do C. While S < 1.0E8 do
D. While S >= E8 do
Hiển thị đáp án
Trả lời: 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 4: 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; A. Tìm UCLN của M và N B. Tìm BCNN của M và N C. Tìm hiệu nhỏ nhất của M và N D. Tìm hiệu lớn nhất của M và N Hiển thị đáp án Trả lời:
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
Câu 5: Đoạn chương trình sau giải bài tốn nào? For I:=1 to M do
If (I mod 3 = 0) and (I mod 5 = 0) then T := T + I;
A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M
Hiển thị đáp án
Trả lờ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 Đáp án: B
Câu 6: Cú pháp lệnh lặp For – do dạng lùi:
A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;
D. for < biến đếm> := < Giá trị đầu >downto < Giá trị cuối > do < câu lệnh>;
Hiển thị đáp án Trả lời:
+ Cú pháp lệnh lặp For – do dạng lùi:
+ 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
Câu 7: Cú pháp lệnh lặp For – do dạng tiến:
A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;
D. for < biến đếm> := < Giá trị đầu > to < Giá trị cuối > do < câu lệnh>;
Hiển thị đáp án Trả 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: D
Câu 8: Trong vòng lặp For – do dạng tiến. Giá trị của biến đếm
A. Tự động giảm đi 1 B. Tự động điều chỉnh
C. Chỉ tăng khi có câu lệnh thay đổi giá trị D. Được giữ nguyên
Trả lời: 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
Câu 9: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:
A. Cùng kiểu với giá trị đầu và giá trị cuối B. Chỉ cần khác kiểu với giá trị đầu
C. Cùng kiểu với các biến trong câu lệnh D. Không cần phải xác định kiểu dữ liệu
Hiển thị đáp án
Trả lời: 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
Câu 10: Trong lệnh lặp For – do: (chọn phương án đúng nhất)
A. Giá trị đầu phải nhỏ hơn giá trị cuối
B. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối C. Giá trị đầu phải lớn hơn giá trị cuối
D. Giá trị đầu phải bằng giá trị cuối
Hiển thị đáp án
Trả lời: 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.