Câu 41: Khai báo mảng nào sau đây đúng?
A. Var day_A :Array[1..,,10] of byte;
B. Var day_A :Array[1..10] of type ;
C. Var day_A :Array[a..k] of char;
D. Type day_A :Array[1..10] of byte;
1.Chọn khai báo mảng 1 chiều đúng?
(5 Điểm)
Var <Ds biến mảng> = array[<chỉ số đầu>…<chỉ số cuối>] of <kiểuphần tử>;
Var <Ds biến mảng> : array[<chỉ số đầu>..<chỉ số cuối>] of <kiểuphần tử>
Var <Ds biến mảng> : array[<chỉ số đầu>..<chỉ số cuối>] of <kiểuphần tử>;
Var <Ds biến mảng> : array[<chỉ số đầu>…<chỉ số cuối>] of <kiểuphần tử>;
2.Chọn cấu trúc câu lặp FOR đúng trong các cấu trúc lệnh sau?
(5 Điểm)
FOR <biến đếm> := <giá trị cuối > DOWNTO < giá trị đầu> DO < câu lệnh>;
FOR <biến đếm> := < giá trị đầu> DOWNTO < giá trị cuối> DO < câu lệnh>;
FOR <biến đếm> := < giá trị cuối>; DOWNTO < giá trị đầu > DO < câu lệnh>;
FOR <biến đếm> := < giá trị đầu> DOWNTO < giá trị cuối>; DO < câu lệnh>;
3.Đoạn chương trình sau làm gì? S :=1; For i:= 1 to n do S := S+A[i];
(5 Điểm)
In ra mảng A
Tính tích các phần tử của mảng A
Nhập mảng A
Tính tổng phần tử của mảng A
4.Cho khai báo Var A : array[1..10]; Hãy cho mãng này có bao nhiêu phần tử?
(5 Điểm)
5
11
1
10
5.Trong ngôn ngữ lập trình PASCAL, cú pháp của câu lệnh rẽ nhánh dạng đủ là:
(5 Điểm)
If <điều kiện> then <câu lệnh 1>;
If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>
If <điều kiện> then <câu lệnh 1>; else <câu lệnh 2>
If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
6.Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây đúng với cấu trúc lặp For có một lệnh con?Chọn cấu trúc câu lặp FOR đúng trong các cấu trúc lệnh sau?
(5 Điểm)
For i := 100 DownTo 1; Do a := a*i;
For i := 1 DownTo 100 Do a := a*i;
For i := 1 DownTo 100 Do a := a*i
For i := 100 DownTo 1 Do a := a*i;
7.Cho mảng 1 chiều A gồm các phần tử sau : 7, 9, 3, 8, 1, 5. Câu lệnh A[4] cho kết quả là gì?
(5 Điểm)
8
5
3
1
8.Chọn cấu trúc câu lặp FOR đúng trong các cấu trúc lệnh sau?
(5 Điểm)
FOR <biến đếm> := < giá trị đầu> TO < giá trị cuối>; DO < câu lệnh>;
FOR <biến đếm> := <giá trị đầu> TO < giá trị cuối> DO < câu lệnh>
FOR <biến đếm> := < giá trị đầu> TO < giá trị cuối> DO < câu lệnh>;
FOR <biến đếm> := < giá trị đầu>; TO < giá trị cuối> DO < câu lệnh>;
9.Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau đây đưa ra màn hình kết quả gì? For i := 10 downto 1 Do Write (i, ‘ ‘);
(5 Điểm)
1 2 3 4 5 6 7 8 9 10
Đưa ra 10 dấu cách
10 9 8 7 6 5 4 3 2 1
Không đưa ra kết quả gì
10.Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau cho kết quả là gì? T := 0; For i := 1 To N Do If (i MOD 3 = 0) Then T := T + i*i;
(5 Điểm)
Tính tổng bình phương các số chia hết cho 3 trong phạm vi từ 1 đến n;
Tính tổng bình phương các số trong phạm vi tứ 3 đến n.
Tính tổng các số chia hết cho 3 trong phạm vi từ 1 đến n;
Tính tổng các số nguyên trong phạm vi từ 1 đến n;
11.Câu lệnh nào sau đây là đúng với cấu trúc lặp While?
(5 Điểm)
WHILE <Điều kiện> DO <Câu lệnh>;
WHILE <Điều kiện> DO <Câu lệnh>
WHILE <Điều kiện> DO; <Câu lệnh>;
WHILE <Điều kiện>; DO <Câu lệnh>;
12.Trong ngôn ngữ lập trình PASCAL, cú pháp của câu lệnh rẽ nhánh dạng thiếu là:
(5 Điểm)
If <điều kiện> ;then <câu lệnh 1>
If <điều kiện> then; <câu lệnh 1>
If <điều kiện> then <câu lệnh >
If <điều kiện> then <câu lệnh 1>;
13.Trong Pascal, có mấy cách khai báo mảng 1 chiều?
(5 Điểm)
3
1
4
2
14.Đoạn chương trình làm gì? s:=0; for i:=1 to n do if (a[i] mod 3 = 0) and (a[i] > 10) then s:=s+a[i];
(5 Điểm)
Đếm số phần tử chia hết cho 3 của mảng A .
Đếm số phần tử chia hết cho 3 và lớn hơn 10 của mảng A .
Tính tổng phần tử chia hết cho 3 của mảng A
Tính tổng phần tử chia hết cho 3 và lớn hơn 10 của mảng A.
15.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ì? T := 0; For i := N DownTo 1 Do If (i MOD 3 = 0) OR (i MOD 5 = 0) Then T := T + i;
(5 Điểm)
Tìm một số ước số của số N.
Tính tổng các ước thực sự của N;
Tính tổng các số chia hết cho cả 3 và 5 trong phạm vi từ 1 đến N;
Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến N.
16. Sau khi thực hiện xong đoạn chương trình sau, thì biến s mang giá trị là:
S:=0;For i:=1 to 5 do If i mod 2 = 0 then s:=s+i*i;
(5 Điểm)
20
24
16
12
17.Trong Pascal, để xuất các phần tử của mảng 1 chiều ta dùng mấy vòng lặp For?
(5 Điểm)
3
2
1
4
18.Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây đúng với cấu trúc lặp For có một lệnh con?
(5 Điểm)
For i := 1 To 100 Do; a := a + 1;
For i := 1 To 100 Do a := a + 1
For i := 1 To 100 Do a := a + 1;
For i := 1; To 100 Do a := a + 1;
19.Trong ngôn ngữ lập trình Pascal, về mặt cú pháp, câu lệnh nào sau đây là đúng với cấu trúc lặp While có một lệnh con?
(5 Điểm)
While a > 5 Do a := a – 1
While a > 5; Do a := a – 1;
While a > 5 Do; a := a – 1;
While a > 5 Do a := a – 1;
20.Trong mảng 1 chiều đoạn chương trình sau làm gì? For i:=1 to n do Write(A[i]);
(5 Điểm)
Nhập mảng A
Xuất ra mảng A
1
Đếm số phần tử mảng A.
Xét khai báo biến sau:
Var x, y, z : real;
c : char;
i, j : integer;
Tổng bộ nhớ dành cho các biến đã khai báo là bao nhiêu byte?
A. 18
B. 19
C. 21
D. 23
Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau:
Var M, N, I: INTEGER;
P, A, B, C: REAL;
X: EXTENDED;
K:WORD;
A. 44;
B. 36;
C. 38;
D. 42.
Xét khai báo biến sau:
Var x, y : real;
c : char;
i, j : byte;
Tổng bộ nhớ dành cho các biến đã khai báo là bao nhiêu byte?
A. 17
B. 15
C. 13
D. 12
Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau:
Var M, N, I, J: INTEGER;
P, A, B, C: REAL;
X: EXTENDED;
K: WORD;
A. 44
B. 36
C. 38
D. 42
Xét khai báo biến sau:
Var x, y, z : real;
c, d : boolean;
i, j : word;
Tổng bộ nhớ dành cho các biến đã khai báo là bao nhiêu byte?
A. 18
B. 24
C. 22
D. 20
Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau:
Var M, N, I: INTEGER;
P, A, B: REAL;
X: EXTENDED;
K: WORD;
A. 44;
B. 36;
C. 38;
D. 42.
Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau:
Var M, N, I, J: INTEGER;
P, A, B: REAL;
X: EXTENDED;
K:WORD;
A. 44
B. 36
C. 38
D. 42