Cấu trúc rẽ nhánh và lặp

Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Chu Khả Doanh

Phần I: Phần trắc nghiệm

Câu 1: Điền vào dấu (…): Mảng một chiều là một dãy hữu hạn các phần tử có cùng (…)

A. Thông tin                    B. Dữ liệu                        C. Kiểu                            D. Giá trị

Câu 2: Cấu trúc lặp thường có mấy dạng?

A. 3                                  B. 4                                  C. 2                                  D. 1

Câu 3: Để tính S=1+22+32+…+n2 cho đến khi S>1000 em sẽ sử dụng lệnh lặp nào?

A. While – do                  B. If – Then                     C. For – do                      D. Cả ba đều đúng.

Câu 4: Khai báo sau đây thì mảng có tối đa bao nhiêu phần tử?            Var a:array [0..10] of byte;

A. 8                                  B. 9                                  C. 11                                D. 10

Câu 5: Để lưu trữ dãy số thực A1, A2, … A50 thì khai báo nào sau đây là đúng?

A. Var A:=array[1..50] of real;                                B. Var A:array[1..50] of word;

C. Var A:array[1..30] of extended;                         D. Var A:array[1..50] of Real;

Câu 6: Cho đoạn lệnh: S:= 0; For i:=1 to 10 do S:=S+i; kết quả S sau khi thực hiện là bao nhiêu?

A. 10                                B. 55                                C. 1                                  D. 50

Câu 7: Trong câu lệnh while: While <điều kiện> do <câu lệnh>; khi nào kết thúc lặp?

A. Điều kiện đúng           B. Điều kiện sai               C. Cả A và B đúng          D. Cả A và B sai.

Câu 8: Cho lệnh lặp: While (abs(x) >= 5) do write(x); lệnh write(x) được lặp lại bao nhiêu lần?

A. Lặp vô hạn                  B. 5 lần                            C. 6 lần.                           D. Chưa biết

Câu 9: Lệnh lặp nào sau đây là đúng.

A. For i:=1 two 10 do S:=S+i;                                 B. For i:=1 to 10 do S:=S+i;

C. For i=1 to 10 do S:=S+i;                                     D. For i:=1 to -10 do S:=S+i;

Câu 10: Có Var A:Array[1..100] of byte; Để tham chiếu đến phần tử 5 của mảng, ta viết thế nào?

A. A<5>                          B. A(5)                            C. A{5}                           D. A[5]

Câu 11: Cho dãy số gồm 4 số thực, 5 số nguyên. Em có thể khai báo một mảng một chiều gồm 9 phần tử kiểu nguyên để lưu trữ dãy số hay không?

A. Có                               B. Đáp án khác.               C. Vừa có vừa không      D. Không

Câu 12: S:=0; For i:=1 to N do if T[i] mod 2 = 0 then S:=S+T[i]; Đoạn lệnh trên thực hiện công việc  gì?

A. Tìm tổng giá trị các phần tử của mảng T           B.  Tìm tổng giá trị các số chẵn trong mảng T

C. Tìm tổng giá trị các số lẻ trong mảng T             D. Cả A, B, C đều đúng.

Câu 13: Khi chạy chương trình :

          Var A:array[1..10] of integer;

                 i, S : integer;

          Begin         A[1]:= 3;         A[2]:= -1;         A[3]:= -4;

                                S:= 0;

                            For i:=1 to 3 do  If  A[i] > 0 then S:=S+A[i];

                            Write(S);

         End.

     Kết quả in ra giá trị của S là:

     A. 2                        B. 3                              C. 4                             D. -5

Câu 14: Hãy cho biết kết quả đưa ra màn hình của chương trình sau:

Var x, i: byte;

BEGIN   X:=0; i:=0; While i<17 do  begin x:= x+i; i:=i+2; end;  writeln(‘x=  ’, x); END.

A. x= 72                          B. x= 90                           C. x=  91                         D. 56

Câu 15: Cho khai báo     Var A: array[1..10] of integer; Để nhập giá trị cho phần tử thứ 3 của mảng thực hiện câu lệnh nào?

A.Read(A<3>);     B. Writeln(A[3]);            C. Write(‘A[3]’);                 D. Readln(A[3]);

Câu 16: Các khai báo sau, khai báo nào là đúng?

A. Var A:array[1....n] of  byte;                                   B. Var A = array[1..10] of  real;

C. Var A:array[-10. .10] of  boolean;                         D. Var A : array[‘a’..’z’] of  read;

Câu 17:  Cho khai báo Var S:Array[1..5] of byte; S có thể lưu trữ dãy số nào sau đây.

A. 300 3 5 4 5                  B. 1 3 6                            C. 1 -2 3 2                       D. 1 5 3 2 4 3

Câu 18:  Cho khai báo sau: Var A, B : array[1..20] of  integer;  Giả sử  giá trị A[i] và B[i] (i nhận giá trị từ 1 đến 20) đã được xác định. Xét đoạn chương trình:

d:=0;  for i:=1 to 20 do   If A[i] <> B[i] then d:=d+1; writeln(d);

Đoạn chương trình trên thực hiện công việc gì?

A.  Đếm số phần tử của A khác các phần tử của B                B.  Đếm số phần tử khác nhau của A và B

C.  Đếm số cặp phần tử tương ứng khác nhau của A và B    D. Tất cả đều sai

Câu 19:           Cho khai báo a : array[0..16] of integer ;

Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên ?

 

A.      for k := 1 to 16 do write(a[k]);                 B. for k := 16 downto 0 do write(a[k]);

 

B.       for k:= 0 to 15 do write(a[k]);                  D. for k := 16 down to 0 write(a[k]);

Câu 20:           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 ?

 

A.Tìm phần tử nhỏ nhất trong mảng;                         B. Tìm phần tử lớn nhất trong mảng;

 

C.Tìm chỉ số của phần tử lớn nhất trong mảng;         D. Tìm chỉ số của phần tử nhỏ nhất trong mảng;

Câu 21: Var m : array[0..10] of integer ;

Phương án nào dưới đây chỉ phần tử thứ 10 của mảng ?

 

A.  m[10]                                 B.  m(10)                     C.  m(9)                       D.  m[9]

Nguyễn Lê Phước Thịnh
11 tháng 3 2022 lúc 9:46

Câu 1: B

Câu 2: C

Câu 3: D

Câu 4: C

Câu 21: D