NEW
Font size
Worksheetstin học beoooo làm
Total questions: 51
Worksheet time: 26mins
Câu 1. 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
B. điều kiện được tính toán và cho giá trị đúng;
A. điều kiện được tính toán xong;
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 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 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 3. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đú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 4. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đú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 5. 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 6: Trong NNLT Pascal, câu lệnh nào sau đây là đúng?
A. If a = 5 Then a := d +1; Else a := d +2;
B. If a = 5 Then a = d +1 Else a = d +2;
C. If a = 5 Then a := d +1 Else a := d +2
D. If a = 5 Then a := d +1; Else a := d +2
7: Trong NNLT Pascal, câu lệnh nào sau đây là đúng?
A. If a = 5 Then a := d +1; b := 2 Else a:= d +2;
B. If a = 5 Then Begin a :=d +1; b :=2; End Else a := d +2.
C. If a = 5 Then Begin a :=d +1; b :=2 End; Else a := d +2;
D. If a = 5 Then Begin a :=d b :=2; End Else a := d +2;
8: Trong NNLT Pascal, câu lệnh nào sau đây là đúng?
A. If a = 5 Then a := d +1; b := 2 Else a := d +2;
B. If a = 5 Then Begin a :=d +1; b :=2; End Else a := d +2;
. C If a = 5 Then Begin a :=d +1; b :=2 End; Else a := d +2;
D. Tất cả đều sai
9: Trong NNLT Pascal, ta có đoạn chương trình sau:
S := 1; For i:= 10 downto 3 do S:= S + i;
Hỏi sau khi thực hiện đoạn chương trình trên thì giá trị của biến S là bao nhiêu?
A. S = 10
B. S = 52
C. S = 55
D. S = 53
Câu 10: Trong NNLT Pascal, ta có đoạn chương trình sau:
I:= 1; S := 0; While I < 5 do Begin S:= S + 2; I:= I + 1;End;
Hỏi sau khi thực hiện đoạn chương trình trên thì giá trị của biến S là bao nhiêu?
A. S = 10
B. S = 8
C. S = 0
D. Tất cả đều sai
Câu 11: Trong NNLT Pascal, ta có đoạn chương trình sau:
I:= 5; S := 0; While I > 1 do Begin S:= S + 2; I:= I -1; End;
Hỏi sau khi thực hiện đoạn chương trình trên thì giá trị của biến S là bao nhiêu?
A. S = 10
B. S = 8
C. S = 0
D. Tất cả đều sai
Câu 12: Trong NNLT Pascal, ta có đoạn chương trình sau:
I:= 1; S := 0; While I <= 5 do Begin S:= S + 2; I:= I + 1; End;
Hỏi sau khi thực hiện đoạn chương trình trên thì giá trị của biến i là bao nhiêu?
A. I= 10
B. I= 5
C. I=6
D. I= 4
Câu 13: Cú pháp lệnh lặp For – do dạng tiến:
D FOR < biến đếm>:= < Giá trị đầu > TO < Giá trị cuối > DO < câu lệnh >;
C. FOR < biến đếm> = < Giá trị cuối > TO < Giá trị đầu > DO < câu lệnh >;
B. FOR < biến đếm> = < Giá trị đầu > DOWNTO < Giá trị cuối > DO < câu lệnh >;
A. FOR < biến đếm>: = < Giá trị cuối > DOWNTO < Giá trị đầu > DO < câu lệnh >;
Câu 14: Cú pháp lệnh lặp For – do dạng lùi:
D. FOR < biến đếm>:= < Giá trị đầu > TO < Giá trị đầu > DO < câu lệnh >;
C. FOR < biến đếm> = < Giá trị cuối > TO < Giá trị đầu > DO < câu lệnh >;
B. FOR < biến đếm> = < Giá trị đầu > DOWNTO < Giá trị cuối > DO < câu lệnh >;
A. FOR < biến đếm>: = < Giá trị cuối > DOWNTO < Giá trị đầu > DO < câu lệnh >;
Câu 15: Cú pháp câu lệnh lặp While – do
B. WHILE <câu lệnh> TO <điều kiện>;
D. WHILE <câu lệnh> DO <điều kiện>;
A. WHILE <điều kiện> TO <câu lệnh>;
C. WHILE <điều kiện> DO <câu lệnh>;
Câu 16: Trong vòng lặp For – do dạng lùi. Giá trị của biến đếm
C. Chỉ tăng khi có câu lệnh thay đổi giá trị
D. Được giữ nguyên
A. Tự động giảm đi 1
B. Tự động tăng lên 1
Câu 17: 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 tăng lên 1
C. Chỉ tăng khi có câu lệnh thay đổi giá trị
D. Được giữ nguyên
Câu 18: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:
B. Chỉ cần khác kiểu với giá trị đầu
A. Cùng kiểu với giá trị đầu và giá trị cuối
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
Câu 19 : Trong NNLT Pascal, ta có đoạn chương trình sau:
S := 1; For i:= 1 to 4 do S:= S * i;
Hỏi sau khi thực hiện đoạn chương trình trên thì giá trị của biến S là bao nhiêu?
B. S = 4
C. S = 0
A. S = 24
D. Tất cả đều sai
Câu 20: Trong NNLT Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì?
For i := 10 To 1 Do Write (i, ‘ ‘);
A. 1 2 3 4 5 6 7 8 9 10
B. 10 9 8 7 6 5 4 3 2 1
C. Đưa ra 10 dấu cách
D. Không đưa ra kết quả gì
Câu 21: Trong NNLT Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì?
I := 0; While I <> 0 Do Write (i, ‘ ’);
B. Không đưa ra thông tin gì
A. Đưa ra màn hình 10 chữ số 0
C. Lặp vô hạn việc đưa ra màn hình số 0
D. Đưa ra màn hình 1 chữ số 0
Câu 22 : Trong NNLT Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì với I là biến số nguyên?
For I := 1 To 100 Do If I mod 9 = 0 Then Write (I, ‘ ’);
B. 91827364554637281
D. 9 9 9 9 9 9 9 9
C. 9 18 27 36 45 54 63 72 81 90 99
A. 1 2 3 4 5 6 .... 100
Câu 23: Cách khai báo mảng nào sau đây là đúng
A. TYPE MANG: ARRAY[1…10] OF INTEGER; VAR A: MANG;
B. TYPE MANGNGUYEN= ARRAY[10..1] OF CHAR; VAR B: MANG;
C. VAR MANGNGUYEN= ARRAY[1.2..10] OF REAL; VAR C: MANGNGUYEN;
D. TYPE MANGNGUYEN = ARRAY[ 1..20] OF BYTE ;VAR D: MANGNGUYEN;
Câu 24: Cho khai báo mảng như sau :
TYPE MANGNGUYEN = ARRAY[1..100] OF INTEGER; VAR A:MANGNGUYEN;
Phương án nào dưới đây chỉ phần tử thứ 17 của mảng?
A. A[17]
B. A[16]
C. A[1..17]
D. A[18]
Câu 25: Trong cú pháp khai báo biến mảng một chiều, kiểu chỉ số …
A. thường là một đoạn số nguyên liên tục có dạng n1..n2 với n1 ≥ n2.
B. luôn luôn là một đoạn số nguyên liên tục có dạng n1..n2 với n1≤ n2.
C. thường là một đoạn số nguyên liên tục có dạng n1: n2 với n1≤ n2 .
D. thường là một đoạn số nguyên liên tục có dạng n1..n2 với n1≤ n2.
Câu 26: Cho khai báo: TYPE MANGNGUYEN= ARRAY[1..100] OF BYTE; VAR A: MANGNGUYEN;
Số lượng phần tử tối đa của mảng A ở khai báo trên là
A. 1
B. 99
C. 100
D. 101
Câu 27: Cho khai báo: TYPE MANGNGUYEN= ARRAY[0..10] OF INTEGER;VAR A: MANGNGUYEN;
Số lượng phần tử tối đa của mảng A ở khai báo trên là
B. 10
D. 100
C. 11
A. 1
Câu 28: Chọn phát biểu đúng cho biến D trong đoạn chương trình sau:
D:= 0; FOR I:=1 TO N DO IF A[I] MOD 2 =0 THEN D:=D+ A[I];
A. Tổng các phần tử lẻ trong mảng A
B. Tổng các phần tử là số chẵn trong mảng A
C. Đếm các phần tử chẳn trong mảng A
D. Đếm các phần tử lẻ trong mảng A
Câu 29: Chọn phát biểu đúng cho biến D trong đoạn chương trình sau:
D:= 0; FOR I:=1 TO N DO IF A[I] MOD 2 =0 THEN D:=D+1;
A. Tổng các phần tử lẻ trong mảng A
B. Tổng các phần tử là số chẵn trong mảng A
C. Đếm các phần tử chẳn trong mảng A
D. Đếm các phần tử lẻ trong mảng A
Câu 30: Chọn phát biểu đúng cho biến D trong đoạn chương trình sau:
D:= 0; FOR I:=1 TO N DO IF A[I] MOD 3 =0 THEN D:=D+1;
B.Tổng các phần tử là bội số của 3 nó trong mảng A
A. Tổng các phần tử lẻ trong mảng A
C. Đếm các phần tử chẳn trong mảng A
D. Đếm các phần tử là bội số của 3 nó trong mảng A
Câu 31: Cho khai báo sau:
TYPE MANG = ARRAY[1..100] OF INTEGER; VAR A: MANG; K: 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 A gồm 30 phần tử?
A. FOR K:=1 TO 100 DO READ(A[K]);
B. FOR K:=100 DOWN 1 DO WRITE(A[K]);
C. FOR K:=1 TO 30 DO WRITE(A[K]);
D. FOR K:=30 DOWN TO 1 TO READ(A[K]);
Câu 32: Cho khai báo sau:
TYPE MANG = ARRAY[1..100] OF INTEGER; VAR A: MANG; K: INTEGER;
Câu lệnh nào dưới đây sẽ nhập tất cả các phần tử của mảng A gồm 30 phần tử?
A. FOR K:=1 TO 100 DO READ(A[K]);
B. FOR K:=100 DOWN 1 DO WRITE(A[K]);
C. FOR K:=1 TO 30 DO READ(A[K]);
D. FOR K:=30 DOWN TO 1 TO READ(A[K]);
Câu 33: Cho đoạn chương trình sau:
S:= 9; FOR I:= 5 DOWNTO 1 DO If ((I MOD 2)<>0) THEN S:=S + A[i]; WRITE('S=',S);
Với A[1]:=5; A[2]:=6; A[3]:=3; A[4]:=7; A[5]:=2; Kết quả sau khi chạy đoạn chương trình trên là
B. S= 21
C. S=24
D. S=33
A. S=1
Câu 34: Cho đoạn chương trình sau:
S:= 10; FOR I:= 1 TO 4 DO If ((I MOD 3)=0) THEN S:=S + A[i]; WRITE('S=',S);
Với A[1]:=9; A[2]:=6; A[3]:=4; A[4]:=7; Kết quả sau khi chạy đoạn chương trình trên là
A. S=14
B. S= 21
C. S=24
D. S=33
Câu 35: Cho khai báo sau: VAR ST:STRING; Phát biểu nào dưới đây là đúng ?
A. Câu lệnh sai vì thiếu độ dài tối đa của xâu;
B. Xâu có độ dài lớn nhất là 0;
C. Cần phải khai báo kích thước của xâu sau đó
; D. Xâu có độ dài lớn nhất là 255;
Câu 36 : Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1, S2,vt); thực hiện
A. Chèn xâu S1 vào S2 bắt đầu từ vị trí vt
B. Chèn xâu S2 vào S1 bắt đầu từ vị trí vt
C. Sao chép vào cuối S1 một phần của S2 từ vị trí vt
D. Nối xâu S1 vào S2 ở vị trí đầu tiên
Câu 37: Cho ST là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì ?
FOR I:=LENGTH(ST) DOWNTO 1 DO WRITE(ST[I]);
A. In từng kí tự xâu trong xâu ST ra màn hình
B. In ký tự cuối cùng trong xâu ST ra màn hình
C. In từng kí tự trong xâu ST ra màn hình theo thứ tự ngược
D. In từng kí tự đầu tiên trong xâu ST ra màn hình
Câu 38: Cho ST là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì ?
FOR I:=1 TO LENGTH(ST) DO WRITE(STI]);
A. In từng kí tự xâu trong xâu ST ra màn hình
B. In ký tự cuối cùng trong xâu ST ra màn hình
C. In từng kí tự trong xâu ST ra màn hình theo thứ tự ngược
D. In từng kí tự đầu tiên trong xâu ST ra màn hình
Câu 39: Thủ tục xóa N kí tự trong xâu St bắt đầu tại vị trí Vt có cú pháp là
A. delete(N, St, Vt)
B. delete(St, Vt, N)
C. delete(S, Vt, N)
D. delete(S, Vt, N)
Câu 40: Để bắt đầu và kết thúc hằng xâu, ta dùng cặp dấu
.
A. nháy kép.
B. nháy đơn
C. ngoặc tròn.
D. ngoặc vuông.
Câu 40: Trong ngôn ngữ Pascal, để xóa đi một ký tự cuối cùng của xâu S ta viết
A. delete(S, i, 1);
B. delete(S, length(S), 1);
C. delete(S, 1, 1);
D. delete(S, 1, i);
Câu 42: Cho xâu S = ‘Daithang-Dailoc’. Kết quả của hàm Pos(‘Dailoc’,S) là:
A. 9
B. 10
C. 11
D. 6
Câu 42: Cho xâu s = ‘nguyen-van-hoang’; để có kết quả là xâu m= ‘van’ thì thực hiện:
A. m:=delete(s, 9, 3);
B. delete(s, 3, 9);
C. m:=copy (s, 8, 3);
D. m:=copy(s, 3, 8);
Câu 43: Phát biểu nào dưới đây là đúng?
A. Các kiểu dữ liệu đều được lưu trữ ở bộ nhớ trong (RAM).
B. Dữ liệu kiểu tệp được lưu trữ ở bộ nhớ trong.
C. Dữ liệu kiểu tệp được lưu trữ ở bộ nhớ ngoài (đĩa mềm, đĩa cứng, CD, thiết bị nhớ Flash).
D. Các dữ liệu trong máy tính đều bị mất đi khi tắt nguồn điện.
Câu 44: Cho chương trình sau:
VAR F: TEXT;BEGIN
ASSIGN(F,’OUTPUT.DAT’); REWRITE(F); WRITELN(F,510+702-792); CLOSE(F);
END.
Sau khi thực hiện chương trình, tệp “OUTPUT.DAT” có nội dung như thế nào?
A. 420
B. 510720792
C. 510 702 -792
D. 510+702-792
Câu 45: Cho chương trình sau:
VAR F: TEXT; BEGIN
ASSIGN(F,’OUTPUT.DAT’); REWRITE(F); WRITELN(F,’510’); CLOSE(F);
END.
Sau khi thực hiện chương trình, tệp “OUTPUT.DAT” có nội dung như thế nào?
A. 420
B. 510
C. ‘510’
D. Không có nội dung gì
Câu 46: Để gắn tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh
A. f1 := ‘KQ.TXT’;
B. KQ.TXT := f1;
C. ASSIGN(‘KQ.TXT’,f1);
D. ASSIGN(f1,‘KQ.TXT’);
Câu 47: Cho biết f1 là biến tệp văn bản và tệp KETQUA.TXT có nội dung đang lưu trữ là: Tich 2 so la: 20. Hãy cho biết sau khi thực hiện đoạn lệnh sau:
A:= 10; B :=2; ASSIGN(F1, 'KETQUA.TXT'); REWRITE(F1);
WRITE(F1, 'Thuong 2 so la: ', A DIV B);
thì tệp ketqua.txt có nội dung gì?
A. Tich 2 so la: 20
B. Tich 2 so la: 20Thuong 2 so la: 5
C. Thuong 2 so la: 5
D. Thuong 2 so la: 5Tich 2 so la: 20
Câu 48: Thao tác dưới đây mang ý nghĩa gì với tệp? readln (f2, x, y, z);
A. Ghi tệp vào văn bản
B. Mở để ghi
C. Đưa dữ liệu ra màn hình
D. Đọc dữ liệu từ tệp văn bản
Câu 49: Nếu hàm chuẩn EOF(<tên_biến_tệp>) cho giá trị TRUE nếu con trỏ tệp đang chỉ tới vị trí nào?
A. đầu dòng.
C. cuối dòng.
D. cuối tệp.
B. đầu tệp.
Câu 50: Hàm chuẩn EOLN(<tên_biến_tệp>) cho giá trị TRUE nếu con trỏ tệp đang chỉ tới vị trí nào?
A. đầu dòng.
B. đầu tệp.
C. cuối dòng.
D. cuối tệp.
