Học tại trường Chưa có thông tin
Đến từ Chưa có thông tin , Chưa có thông tin
Số lượng câu hỏi 6
Số lượng câu trả lời 0
Điểm GP 0
Điểm SP 0

Người theo dõi (0)

Đang theo dõi (0)


Chủ đề:

Ôn tập cuối năm

Câu hỏi:

Câu 1:  Trong ngôn ngữ lập trình Pascal, thủ tục chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt được viết

    A. Insert(S1,S2,vt);      B. Insert(vt,S1,S2);         C. Insert(S2,S1,vt);           D. Insert(S1,vt,S2);

Câu 2:  Trong ngôn ngữ lập trình Pascal, hai xâu kí tự được so sánh dựa trên:

    A. Độ dài tối đa của hai xâu

    B. Mã ASCII của từng cặp kí tự tương ứng trong các xâu lần lượt từ trái sang phải

    C. Độ dài thực sự của hai xâu

    D. Số lượng kí tự khác nhau của hai xâu

Câu 3:  Cho khai báo:  Var Ho, Ten: String[15];       Lệnh nào sau đây là câu lệnh sai ?

    A. Write(Ho,Ten);                                                   B. Write(‘Ho ten la:’; Ho;Ten);

    C.  Write(‘Ho ten la:’,Ho,Ten);                             D. Write(‘Ho ten la:’,Ho+Ten);

Câu 4: Đoạn chương trình sau sẽ viết ra màn hình kết quả như thế nào ?

                                                            Var   st: String[30]; i: byte;

                                                            Begin

                                                                        st:=’BAITAP’;

                                                                        For i:= length(st) downto 1 do Write(st[i]);

                                                            End;

    A. PATBIA                   B. TAPBAI                        C. PATIAB                        D. PATBAI

Câu 5:  Trong NNLT Pascal, đoạn chương trình sau thực hiện công việc gì:

        S:=0;

        For i:=1 to 100 do  S:=S+ A[i];

    A. In ra màn hình các phần tử của mảng A       B. Tính tổng 100 phần tử của mảng A

    C. Tính tích các phần tử của mảng A                D. Đếm số phần tử của mảng A  

Câu 6:  Cho chương trình sau:

               Var f: text;

               Begin

                               Assign(f,'Khoi11.txt');

                               Rewrite(f);

                               Write(f, 10*2+5);

                               Close(f);              

              End.

Sau khi thực hiện chương trình bên, tập tin 'Khoi11.txt' có nội dung như thế nào?

    A. 10*2+5                   B. 25                                   C. 100                                     D. ‘10*2+5’

Câu 7:  Cho xâu St:=’Quang Tri’; Kết quả của xâu St là gì sau khi thực hiện lệnh: Delete (St,1,6);

    A. Quan                         B.  Quang                          C. Quang Tri                     D.  Tri

Câu 8:  Trong ngôn ngữ lập trình Pascal, để tìm vị trí xuất hiện đầu tiên của xâu ‘an’ trong xâu S ta có thể viết bằng cách nào trong các cách sau ?

    A. i := pos(S, ’an’) ;                                                B. i := pos(‘an’, S) ;

    C. S1 := ‘an’ ;i := pos(S1, ‘an’) ;                          D. i := pos(‘an’, ‘an’);

Câu 9: Trong ngôn ngữ lập trình Pascal, với khai báo: S, S1: string; i:byte; đoạn chương trình sau thực hiện công việc gì?

S1:= ‘ ‘;

For i := 1 to  length(S)  do

            if  ( S[i] >= ‘a’ ) AND ( S[i] <= ‘z’ ) then  S1:=S1+S[i] ;

    A.  Tạo ra xâu mới S1 chỉ gồm các chữ cái in thường có trong S

    B.  Đếm số ký tự là ký tự cái in thường trong xâu S;

    C.  Đếm xem có bao nhiêu ký tự số trong xâu S;

    D.  Xóa các chữ cái in thường trong S trong S;

Câu 10:  Để đọc dữ liệu từ tệp văn bản ta có thể sử dụng thủ tục nào sau:

    A. write(<tên tệp>,<danh sách kết quả>);        B. write(<biến tệp>,<danh sách kết quả>);

    C. read(<biến tệp>,<danh sách biến>);            D. read(<tên tệp>,<danh sách kết quả>);

Câu 11: Cho chương trình sau:

               Var f: text;S:string;

               Begin

               Assign(f,'BT.TXT');

               Reset(f);

               Readln(f,S);

               Close(f);

                End.

Chương trình bên thực hiện công việc:

    A. Ghi giá trị của biến S vào tệp BT.TXT         B. Đọc một giá trị từ tệp BT.TXT và gán cho biến f

    C.  Ghi vào tệp BT.TXT giá trị S                 D. Đọc một xâu từ tệp BT.TXT và gán cho biến xâu S            

    Câu 12:  Var a : array[0..50] of real ; i,k:byte;

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 chỉ số của phần tử lớn nhất trong mảng; B. Tìm phần tử nhỏ nhất trong mảng;

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

Câu 13: Với khai báo biến mảng    Var a:array [1..50] of real; các phần tử trong mảng có thể nhận giá trị nào trong các giá trị sau?

    A.  1.0C1                       B.  ‘3.14’                           C.   TRUE                          D.  3.14

Câu 14:  Để gán tên tệp KQ.TXT cho biến tệp fi ta sử dụng câu lệnh

    A. KQ.TXT := fi;                                                    B. fi := ‘KQ.TXT’;

    C. Assign(fi,‘KQ.TXT’);                                        D. Assign(‘KQ.TXT’,fi);

Câu 15:  Giả sử mảng một chiều A được khai báo như sau:  Var A: Array[-2..5] Of  Real;

Vậy mảng có tối đa bao nhiêu phần tử?

    A. 7                                B. 8                                    C. 5                                    D. 6

Câu 16:  Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì?

            X:=length(S);

            For i:=X downto 1 do

                        If S[i] = ‘ ‘ then Delete(S,i,1);

    A. Xóa dấu cách thừa trong xâu ký tự S                        B. Xóa mọi dấu cách của xâu S

    C. Xóa dấu cách tại vị trí cuối cùng của xâu S             D. Xóa dấu cách đầu tiên trong xâu ký tự S

Câu 17:  Nếu hàm Eoln(<biến tệp>) cho kết quả TRUE thì con trỏ tệp nằm ở vị trí:

    A. Cuối dòng                B. Đầu tệp                         C. Đầu dòng                      D. Cuối tệp

Câu 18:  Con trỏ tệp ở vị trí nào sau khi thực hiện thủ tục mở tệp Rewrite:

A. Nằm ở giữa tệp    B. Nằm ở đầu tệp     C. Nằm ở cuối tệp    D. Nằm ngẫu nhiên ở bất kỳ vị trí nào    

Câu 19:  Để đóng tệp, ta sử dụng thủ tục:           

    A. CLOSE(biếntệp);                                B. CLOSE(biếntệp1, biếntệp1, …, biếntệpn);

    C. CLOSE(biếntệp, têntệp);                   D. CLOSE(têntệp; biếntệp);

Câu 20:  Phát biểu nào sau đây là sai:

    A. Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu

    B. Phần tử trong mảng có thể có nhiều hơn 1 chỉ số

    C. Cần xác định kiểu phần tử của mảng

    D. Có thể xây dựng mảng hai chiều

Câu 21:  Cho f  là một biến tệp văn bản.  Khai báo nào sau đây là đúng ?

    A. Var : f  text;             B. Var f : byte;                 C. Var f : text;                  D. Var  f = text;

Chủ đề:

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

Câu hỏi:

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]

Chủ đề:

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

Câu hỏi:

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

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

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

Câu 2: Khi kết thúc câu lệnh  For i:= 1 to 10 do <câu lệnh>; giá trị của biến i nhận được là bao nhiêu?

A. 1                                  B. 10                                C. 11                                D. Tất cả đều sai.

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

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

Câu 4: Lệnh lặp nào sau đây là đúng cú pháp:

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 downto -10 do S:=S+i;

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

A. Thông tin                    B. hữu hạn                       C. Kiểu                            D. Giá trị

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

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

Câu 7: Để tính tổng S=1+22+32+…+n2 em sẽ sử dụng lệnh lặp nào là hợp lí nhất?

A. While – do                  B. For – do                      C. If – Then                     D. Cả A và B.

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

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

Câu 9: Để lưu trữ dãy số nguyên A1, A2, …, A50 thì khai báo nào sau đây là đúng và tốn ít bộ nhớ?

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

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

Câu 10: 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 11: 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 i:=i+2; x:= x+i; end;  writeln(‘x=  ’, x); END.

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

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

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

Câu 13: 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  real;

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

A. 300 3 5 4 5                  B. 1 3 6                            C. Cả A và B                   D. 1 5 3 2 4 3

Câu 15:  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. Đếm số cặp phần tử tương ứng bằng nhau của A và B

Câu 16:           Cho khai báo a : array[1..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]);

 

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

Câu 17:           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 18: Var a : array[1..10] of integer ;

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

 

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

Câu 19: Có Var A:Array[‘a’..’z’] of byte; Để tham chiếu đến phần tử thứ 4 của mảng, ta viết thế nào?

A. A<’d’>                       B. A(4)                            C. A[‘d’]                         D. A[4]

Câu 20: 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 20 phần tử kiểu thực để 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 21: 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.

Chủ đề:

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

Câu hỏi:

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]