MÔN TIN HỌC 11
Bài tập trắc nghiệm Chương III : CẤU TRÚC RẼ NHÁNH VÀ LẶP
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 toá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;
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 toán xong;
B. điều kiện được tính toán và cho giá trị đúng;
C. điều kiện không tính được;
D. điều kiện được tính toán và cho giá trị sai;
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 khi
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;
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;
Câu 5: Cho chương trình viết bằng PASCAL sau đây :
PROGRAM giaiPT; uses crt; var A, B, C : real; DELTA, X1, X2 : real; BEGIN write(‘ Nhap cac he so A, B, C : ’); readln(A, B, C); DELTA := B*B – 4*A*C; if DELTA > 0 then begin X1 := ( – B – SQRT(DELTA) ) / (2*A); X2 := – B / A – X1; writeln(‘ X1 = ’, X1); writeln(‘ X2 = ’, X2); end; readln END. |
Hãy chọn phát biểu sai trong các phát biểu sau đây :
A. Đây là chương trình giải phương trình bậc hai nhưng chưa xét hết các trường hợp;
B. Là chương trình giải phương trình bậc hai nhưng không đưa ra thông báo gì khi chương trình có nghiệm kép
C. Đây là chương trình giải và thông báo nghiệm của một phương trình bậc hai nếu phương trình đó có nghiệm;
D. Đây là chương trình giải phương trình bậc hai, nhưng không đưa ra thông báo gì khi phương trình vô nghiệm
...
Câu 10: Chọn phát biểu đúng trong các phát biểu sau đây :
A. Có thể dùng câu lệnh FOR – DO để thay thế cho câu lệnh lặp WHILE – DO.
B. Câu lệnh lặp không được xuất hiện trong <câu lệnh> đứng sau từ khóa THEN của cấu trúc rẽ nhánh.
C. Câu lệnh rẽ nhánh không được xuất hiện trong <câu lệnh> của một cấu trúc lặp.
D. Một cấu trúc lặp có thể xuất hiện trong <câu lệnh> của một cấu trúc lặp khác.
Câu 11: Cho hai dạng lặp FOR – DO trong PASCAL như sau :
Dạng lặp tiến :
FOR
Dạng lặp lùi :
FOR
Chọn phát biểu sai trong các phát biểu đưới dây :
A. Biến đếm là biến đơn, thường có kiểu nguyên.
B. Với mỗi giá trị của biến đếm trong khoảng từ giá trị đầu đến giá trị cuối, câu lệnh sau DO được thực hiện một lần.
C. Phải có lệnh thay đổi biến đếm trong mỗi <câu lệnh> sau DO trong cấu trúc lặp này, vì giá trị của biến đếm không được tự động điều chỉnh sau mỗi lần thực hiện câu lệnh lặp.
D. Ở dạng lặp tiến câu lệnh sau DO được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối.
Câu 12: Cho hai dạng lặp FOR – DO trong PASCAL như sau
Dạng lặp tiến :
FOR
Dạng lặp lùi :
FOR
Chọn phát biểu đúng trong các phát biểu sau đây :
A. Ở dạng lặp tiến câu lệnh sau DO luôn được thực hiện ít nhất một lần.
B. Ở dạng lặp lùi câu lệnh sau DO được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối.
C. Ở dạng lặp lùi câu lệnh sau DO có thể không được thực hiện lần nào, đó là trường hợp giá trị cuối nhỏ hơn giá trị đầu.
D. Biểu thức giá trị đầu và biểu thức giá trị cuối có thể thuộc kiểu số thực.
Câu 13: Trong các ngôn ngữ lập trình bậc cao thường có cấu trúc lặp để mô tả việc lặp đi lặp lại một số thao tác nào đó khi một điều kiện cho trước được thỏa mãn.
Để tổ chức việc lặp như vậy PASCAL dùng câu lệnh WHILE – DO có dạng :
WHILE <điều kiện> DO <câu lệnh>;
Chọn phát biểu sai trong các phát biểu dưới đây :
A. Điều kiện là biểu thức cho giá trị logic.
B. Về mặt cú pháp, những biểu thức có thể điền vào điều kiện trong cấu trúc WHILE – DO cũng có thể điền vào điều kiện trong cấu trúc rẽ nhánh IF – THEN .
C. Không cần có lệnh thay đổi điều kiện trong mỗi câu lệnh sau DO trong cấu trúc lặp này, vì giá trị của biểu thức điều kiện được tự động điều chỉnh sau mỗi lần thực hiện câu lệnh lặp. (*)
D. Nếu không có lệnh nào thay đổi điều kiện trong mỗi câu lệnh sau DO thì có thể gặp hiện tượng lặp vô hạn khi thực hiện chương trình, nghĩa là lặp không dừng được,
Câu 14: Trong các ngôn ngữ lập trình bậc cao thường có cấu trúc lặp để mô tả việc lặp đi lặp lại một số thao tác nào đó khi một điều kiện cho trước được thỏa mãn.
Để tổ chức việc lặp như vậy PASCAL dùng câu lệnh WHILE – DO có dạng :
WHILE <điều kiện> DO <câu lệnh>;
Chọn phát biểu đúng trong các phát biểu dưới đây :
Biểu thức điều kiện được tính và kiểm tra, nếu biểu thức đó sai thì câu lệnh sau DO được thực hiện.
A. Câu lệnh sau DO bao giờ cũng được thực hiện ít nhất một lần.
B. điều kiện trong cấu trúc lặp WHILE – DO có thể là một biểu thức kiểu nguyên hoặc kiểu kí tự.
C. Khi xác định được trước số lần lặp vẫn có thể dùng cấu trúc lặp WHILE – DO. (*)