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ặ[r]
(1)CÂU HỎI ÔN TẬP TIN HỌC 11
Chương III : CẤU TRÚC RẼ NHÁNH VÀ LẶP A.PHẦN TRẮC NGHIỆM:
Câu : _ Hãy chọn phương án ghép Để mô tả cấu trúc rẽ nhánh 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 <điều kiện> Điều kiện
A. biểu thức lôgic; (*) B. biểu thức số học; C. biểu thức quan hệ; D. câu lệnh;
Câu : _ Hãy chọn phương án ghép 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 thực
A. điều kiện tính tốn xong;
B. điều kiện tính tốn cho giá trị đúng; (*) C. điều kiện khơng tính được;
D. điều kiện tính tốn cho giá trị sai;
Câu : _ Hãy chọn phương án ghép 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 thực
A. biểu thức điều kiện câu lệnh thực xong; B. câu lệnh 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 : _ Hãy chọn cách dùng sai Muốn dùng biến X lưu giá trị nhỏ giá trị hai biến A, B dùng cấu trúc rẽ 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 : _ Cho chương trình viết PASCAL sau :
Hãy chọn phát biểu sai phát biểu sau :
A. Đây chương trình giải phương trình bậc hai chưa xét hết trường hợp; 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 > then
begin
X1 := ( – B – SQRT(DELTA) ) / (2*A); X2 := – B / A – X1;
writeln(‘ X1 = ’, X1); writeln(‘ X2 = ’, X2); end;
readln
(2)B. Đây chương trình giải phương trình bậc hai khơng đưa thơng báo chương trình có nghiệm kép;
C. Đây chương trình giải thơng báo nghiệm phương trình bậc hai phương trình có nghiệm; (*)
D. Đây chương trình giải phương trình bậc hai, khơng đưa thơng báo phương trình vơ nghiệm
Câu : _ Cho chương trình viết PASCAL sau :
Hãy chọn phát biểu phát biểu sau :
A. Đây chương trình giải phương trình bậc hai hồn chỉnh;
B. Đây chương trình giải phương trình bậc hai sai khơng thơng báo nghiệm trường hợp có nghiệm kép;
C. Đây chương trình giải phương trình bậc hai sai với trường hợp phương trình vơ nghiệm, chương trình thực tính nghiệm thực; (*)
D. Đây chương trình giải phương trình bậc hai sai xét trường hợp DELTA < mà Câu : _ Phát biểu sau lấy làm biểu thức điều kiện cấu trúc rẽ nhánh ?
A. A + B B. A > B (*) C. N mod 100 D. “A nho hon B”
Câu : _ Phát biểu sau lấy làm biểu thức điều kiện cấu trúc rẽ nhánh ? A. 100 > 99 (*)
B. “A > B” C. “A nho hon B” D. “false”
Câu : _ Chọn phát biểu sai phát biểu sau :
A. Để mô tả việc lặp lặp lại số thao tác (hoặc câu lệnh) thuật tốn ta dùng cấu trúc lặp
B. Tùy trường hợp cụ thể (khi mô tả thuật tốn), ta biết trước số lần lặp, ta khơng cần khơng xác định trước số lần lặp thao tác
C. Có thể dùng cấu trúc lặp để thay cho cấu trúc rẽ nhánh mô tả thuật tốn (*)
D. Khơng thể mơ tả thuật tốn ngơn ngữ lập trình bậc cao không dùng cấu trúc lặp
Câu 10 : _ Chọn phát biểu phát biểu sau :
A. Có thể dùng câu lệnh FOR – DO để thay cho câu lệnh lặp WHILE – DO
B. Câu lệnh lặp không xuất <câu lệnh> đứng sau từ khóa THEN cấu trúc rẽ nhánh
C. Câu lệnh rẽ nhánh không xuất <câu lệnh> cấu trúc lặp D. Một cấu trúc lặp xuất <câu lệnh> cấu trúc lặp khác (*) Câu 11 : _ Cho hai dạng lặp FOR – DO PASCAL sau :
PROGRAM GiaiPTBac2; 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 < then writeln(‘ Phuong trinh vo nghiem.’); X1 := ( – B – SQRT(DELTA) ) / (2 *A) ;
X2 := – B / A – X1 ; writeln(‘ X1 = ’, X1); writeln(‘ X2 = ’, X2); readln
(3)Dạng lặp tiến :
FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO <câu lệnh> ; Dạng lặp lùi :
FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh> ; Chọn phát biểu sai phát biểu đưới dây :
A. Biến đếm biến đơn, thường có kiểu nguyên.
B. Với giá trị biến đếm khoảng từ giá trị đầu đến giá trị cuối, câu lệnh sau DO thực lần
C. Phải có lệnh thay đổi biến đếm <câu lệnh> sau DO cấu trúc lặp này, giá trị biến đếm khơng tự động điều chỉnh sau lần thực câu lệnh lặp (*)
D. Ở dạng lặp tiến câu lệnh sau DO thực tuần tự, với biến đếm nhận giá trị từ giá trị đầu đến giá trị cuối.
Câu 12 : _ Cho hai dạng lặp FOR – DO PASCAL sau : Dạng lặp tiến :
FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO <câu lệnh> ; Dạng lặp lùi :
FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh> ; Chọn phát biểu phát biểu sau :
A. Ở dạng lặp tiến câu lệnh sau DO ln thực lần
B. Ở dạng lặp lùi câu lệnh sau DO thực tuần tự, với biến đếm 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 khơng thực lần nào, trường hợp giá trị cuối nhỏ giá trị đầu (*)
D. Biểu thức giá trị đầu biểu thức giá trị cuối thuộc kiểu số thực
Câu 13 : _ Trong 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 lặp lại số thao tác điều kiện cho trước thỏa mãn
Để tổ chức việc lặp 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 phát biểu : A. Điều kiện biểu thức cho giá trị logic.
B. Về mặt cú pháp, biểu thức điền vào điều kiện cấu trúc WHILE – DO điền vào điều kiện cấu trúc rẽ nhánh IF – THEN
C. Không cần có lệnh thay đổi điều kiện câu lệnh sau DO cấu trúc lặp này, giá trị biểu thức điều kiện tự động điều chỉnh sau lần thực câu lệnh lặp (*)
D. Nếu khơng có lệnh thay đổi điều kiện câu lệnh sau DO gặp tượng lặp vơ hạn thực chương trình, nghĩa lặp không dừng được,
Câu 14 : _ Trong 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 lặp lại số thao tác điều kiện cho trước thỏa mãn
Để tổ chức việc lặp 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 phát biểu :
A. Biểu thức điều kiện tính kiểm tra, biểu thức sai câu lệnh sau DO thực
B. Câu lệnh sau DO thực lần.
(4)Câu 15 : _ Cho chương trình viết ngơn ngữ PASCAL sau :
Phát biểu chương trình ?
A. Đây chương trình đếm số số nguyên khoảng từ đến 10000 bội số 3;
B. Đây chương trình đếm thơng báo hình khoảng từ đến 10000 có số nguyên bội số có số bội số chung 5; (*)
C. Đây chương trình đếm số số nguyên nhỏ 10000 chia hết cho 3;
D. Đây chương trình đếm số số nguyên khoảng từ đến 10000 bội số 5; Câu 16 : _ Trong ngôn ngữ lập trình Pascal, mặt cú pháp cách viết câu lệnh ghép sau ?
A Begin :
A := ; B := ; End ;
B Begin ;
A := ; B := ; End ;
C Begin
A := ; B := ; End :
D. Begin
A := ; B := ;
End ; (*)
Câu 17 : _ Trong ngôn ngữ lập trình Pascal, câu lệnh sau đúng ? A. If <biểu thức logic> ; then <câu lệnh>
B. If <biểu thức logic> then <câu lệnh> ; (*) C. If <biểu thức logic> ; then <câu lệnh> ;
D. If <biểu thức logic> then <câu lệnh >
Câu 18 : _ Trong ngôn ngữ lập trình Pascal, câu lệnh sau đúng ? A. If <biểu thức logic> ; then <câu lệnh 1> ; else <câu lệnh 2> ; B. If <biểu thức logic> ; then <câu lệnh 1> else <câu lệnh 2> ; PROGRAM Inso;
Uses crt;
Var M, N, I : integer; BEGIN
clrscr; M := ; N := ;
For I := TO 10000 Begin
if ( (I mod 3) = ) then M := M + ;
if ( (I mod 3) = ) and ( (I mod 5) = ) then N := N + ; End;
writeln( M,‘ ’, N ); readln
(5)C. If <biểu thức logic> then <câu lệnh 1> ; else <câu lệnh 2> ; D. If <biểu thức logic> then <câu lệnh 1> else <câu lệnh 2> ; Câu 19 : _ Trong ngơn ngữ lập trình Pascal, câu lệnh sau đúng ?
A. If <biểu thức logic> then <câu lệnh 1> ; else <câu lệnh 2> ;
B. If <biểu thức logic> then <câu lệnh 1> else <câu lệnh 2> ; (*) C. If <biểu thức logic> ; then <câu lệnh 1> else <câu lệnh 2> ;
D. If <biểu thức logic> ; then <câu lệnh 1> ; else <câu lệnh 2> ; Câu 20 : _ Trong ngôn ngữ lập trình Pascal, câu lệnh sau đúng ?
A If a = then a := d + ; else
a := d + ; B. If a = then
a := d + else
a := d + ; (*) C If a = then
a := d + else
a := d + ; D If a = then
a := d + else
a := d +
Câu 21 : _ Trong ngơn ngữ lập trình Pascal, câu lệnh sau đúng ? A If a = then
a := d + ; b := 2 else
a := d + ; B If a = then
Begin
a := d + ; b := ; End ; else
a := d + ; C. If a = then
Begin
a := d + ; b := 2 End else
a := d + ; (*) D If a = then
Begin
a := d + ; b := ; End else
a := d +
Câu 22 : _ Trong ngơn ngữ lập trình Pascal, phát biểu sau đúng với câu lệnh rẽ nhánh if…then…? A. Nếu sau then muốn thực nhiều câu lệnh câu lệnh phải đặt hai dấu ngoặc đơn; B. Nếu sau then muốn thực nhiều câu lệnh câu lệnh phải đặt Begin End ;
(*)
C. Nếu sau then muốn thực nhiều câu lệnh câu lệnh phải đặt hai cặp dấu ngoặc nhọn; D. Nếu sau then muốn thực nhiều câu lệnh câu lệnh phải đặt Begin End
(6)A. Nếu sau then muốn thực nhiều câu lệnh câu lệnh phải đặt hai dấu ngoặc đơn; B. Nếu sau then muốn thực nhiều câu lệnh câu lệnh phải đặt Begin End ;
(*)
C. Nếu sau then muốn thực nhiều câu lệnh câu lệnh phải đặt hai cặp dấu ngoặc nhọn; D. Nếu sau then muốn thực nhiều câu lệnh câu lệnh phải đặt Begin End
Câu 24 : _ Trong ngôn ngữ lập trình Pascal, phát biểu sau đúng với câu lệnh rẽ nhánh if…then… else…?
A. Nếu sau else muốn thực nhiều câu lệnh thí câu lệnh phải đặt hai dấu ngoặc đơn; B. Nếu sau else muốn thực nhiều câu lệnh thí câu lệnh phải đặt Begin End;
(*)
C. Nếu sau else muốn thực nhiều câu lệnh thí câu lệnh phải đặt hai cặp dấu ngoặc nhọn; D. Nếu sau else muốn thực nhiều câu lệnh thí câu lệnh phải đặt Begin End;
Câu 25 : _ Trong ngơn ngữ lập trình Pascal, phát biểu sau ? A. Sau câu lệnh đầu có dấu chấm phẩy “ ; ”
B. Trước lệnh else bắt buộc phải có dấu chấm phẩy “ ; ” C. Có phân biệt chữ hoa chữ thường
D. Câu lệnh trước câu lệnh End không thiết phải có dấu chấm phẩy “ ; ” (*)
Câu 26 : _ Trong ngôn ngữ lập trình Pascal, muốn kiểm tra đồng thời ba giá trị A, B, C có lớn hay không ta viết câu lệnh If cho đúng ?
A. If A, B, C > 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……
Câu 27 : _ Trong ngơn ngữ lập trình Pascal, mặc cú pháp câu lệnh sau đúng với cấu trúc lặp For có lệnh ?
A. For i := to 100 a := a – ; (*) B. For i := to 100 do;
a := a – ; C. For i := to 100
a := a – D. For i := ; to 100
a := a – ;
Câu 28 : _ Trong ngơn ngữ lập trình Pascal, mặt cú pháp câu lệnh sau đúng với cấu trúc lặp For có nhiều lệnh ?
A. For i := to 100 a := a – ; b := a – c ; EndFor ; B. For i := to 100
Begin
a := a – ; b := a – c ; End;
C. For i := to 100 Begin
a := a – ; b := a – c
End; (*)
D. For i := to 100 a := a – ; b := a – c ;
Câu 29 : _ Trong ngơn ngữ lập trình Pascal, mặt cú pháp câu lệnh sau đúng với cấu trúc lặp While có lệnh ?
A. While a>5
a := a – ; (*) B. While a>5 ;
(7)a := a – ; D. While a>5 ;
a := a – ;
Câu 30 : _ Trong ngơn ngữ lập trình Pascal, mặt cú pháp câu lệnh sau đúng với cấu trúc lặp While có lệnh ?
A. While a>5 and a<17 a := a – ;
B. While (a>5) and (a<17) ; a := a – ;
C. While (a>5) and (a<17) a := a –
D. While (a>5) and (a<17)
a := a – ; (*)
Câu 31 : _ Trong ngôn ngữ lập trình Pascal, mặt cú pháp câu lệnh sau đúng với cấu trúc lặp While có nhiều lệnh ?
A. While a>5 a := a – ; b := a – c ; EnWhile ; B. While a>5 ;
Begin
a := a – ; b := a – c ; End; C. While a>5
a := a – ; b := a – c ; D. While a>5 ;
Begin
a := a – ; b := a – c
End; (*)
Câu 32 : _ Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau đưa hình kết ? For i := 10 downto write(i, ‘ ’);
A. 10
B. 10 (*) C. Đưa 10 dấu cách
D. Khơng đưa kết
Câu 33 : _ Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau đưa hình kết ? For i := 10 to write(i, ‘ ’);
A. 10 B. 10 C. Đưa 10 dấu cách
D. Khơng đưa kết (*)
Câu 34 : _ Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau thực cơng việc ? i := ; while i <> write(i, ‘ ’) ;
A. Đưa hình 10 chữ số ; B. Khơng đưa thơng tin gì; (*) C. Lặp vơ hạn việc đưa hình số ; D. Đưa hình chữ số ;
Câu 35 : _ Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau cho kết hình với i biến số nguyên ?
For i := to 100 if i mod = then write(i, ‘ ’); A. … 100 ;
B. 91827364554637281;
C. 18 27 36 45 54 63 72 81 90 99; (*) D. 9 9 9 9 9
(8)For i := to N
If (i mod = 0) or (i mod = 0) then T := T + i ;
A. Tính tổng số chia hết cho phạm vi từ đến N ; (*) B. Tính tổng ước thực N ;
C. Tính tổng số chia hết cho phạm vi từ đến N ; D. Tìm ước số số N ;
Câu 37 : _ Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau thực cơng việc ? T := ;
For i := to N
If (i mod = 0) and (i mod = 0) then T := T + i ; A. Tính tổng số chia hết cho phạm vi từ đến N ; B. Tính tổng ước thực N ;
C. Tính tổng số chia hết cho phạm vi từ đến N ; (*) D. Tìm ước số số N ;
Câu 38 : _ Trong ngôn ngữ lập trình Pascal, cho biết giá trị M sau thực đoạn chương trình sau với a=19 b=12 ?
M := a ;
If a<b then M := b ;
A. M = 12 (*)
B. M = 10
C. M nhận hai giá trị D. M không nhận giá trị
Câu 39 : _ Trong ngơn ngữ lập trình Pascal, cho biết đoạn chương trình sau làm cơng việc ? I := ; T := ;
While I < 10000 Begin
T := T + I ; I := I + ; End ;
A. Tính tổng số tự nhiên nhỏ 10000 ; B. Tính tổng số tự nhiên chẵn nhỏ 10000 ; (*) C. Tính tổng số tự nhiên chẵn nhỏ 10000 ; D. Tính tổng số tự nhiên nhỏ 10000 ;
B PHẦN BÀI TẬP:
Bài tập 1: Viết chương trình in hình số nguyên từ đến 100 cho 10 số xuống dòng.
Gợi ý:
Cho biến i chạy từ 100 In hình i kiểm tra: i MOD 10=0 WRITELN.
Bài tập 2: Viết chương trình in hình bảng cữu chương.
Gợi ý:
Dùng vòng lặp FOR lồng nhau: i số bảng cữu chương (2 9), j số thứ tự bảng cữu chương (1 10).
For i:=2 To Do
For j:=1 To 10 Do Writeln(i,’x’,j,’=’,i*j); Bài tập 3: Viết chương trình tính tổng sau:
S0 = n! = 1*2* *n {n giai thừa} S1 = + 1/2 + + 1/n
S2 = + 1/2! + + 1/n!
S3 = + x + x2/2! + x3/3! + + xn/n! S4 = - x + x2/2! - x3/3! + + (-1)nxn/n!
S5 = + sin(x) + sin2(x) + + sinn(x).
(9)Một trăm cẳng bốn ba đầu. Hỏi có gà thỏ?
Bài tập 5: Viết chương trình nhập vào số ngun dương Hãy thơng báo lên hình số có bao nhiêu chữ số tổng chữ số số đó.
Gợi ý:
Dùng vịng lặp WHILE Trong N>0 thì: lấy chữ số cuối N để tính phép tốn MOD 10, sau bỏ bớt chữ số cuối N phép toán DIV 10.
Bài tập 6: Viết chương trình in hình tất số nguyên tố từ đến N Với N nhập từ bàn phím.
Bài tập 7: Viết chương trình phân tích số thừa số ngun tố Ví dụ: N=100 in hình: 100 | 2
50 | 2 25 | 5 5 | 5 1 |
Bài tập 8: Viết chương trình in số nguyên từ đến N2 theo hình xoắn ốc với N nhập vào từ
bàn phím Ví dụ, với N=5 ta có:
1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9