chỉ ra cú pháp khai báo biến mảng đúng trong tturbo pascal:
A var :array[..]; B var : array [:]:;
C var:array [] of D var :array[..]of;
* Nhận biết:
Câu 1: Cú pháp khai báo biến mảng trong Pascal là:
A. var <Tên mảng> ; array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu >;
B. var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] of <kiểu dữ liệu >;
C. var <Tên mảng> : array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu >;
D. var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] for <kiểu dữ liệu >;
Câu 2: Để chỉ ra một phần tử bất kỳ trong một mảng, ta có thể ghi như sau:
A. Tên mảng[chỉ số trong mảng] B. Tên mảng(chỉ số trong mảng)
C. Tên mảng[giá trị phần tử] D. Tên mảng(giá trị phần tử)
Câu 3: Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được sắp xếp theo dãy, mọi phần tử trong dãy đều có cùng một đặc điểm là:
A. Cùng chung một kiểu dữ liệu B. Có giá trị hoàn toàn giống nhau
C. Các phần tử của mảng đều có kiểu số nguyên D. Các phần tử của mảng đều có kiểu số thực
Câu 4: Để khai báo A là một biến mảng có 10 phần tử kiểu nguyên, cách khai báo nào sau đây là đúng nhất?
A. Var A: array[1..10] of real; B. Var A: array[1..10] of integer;
C. Var A: array[1…10] of real; D. Var A: array[1…10] of integer;
Câu 5: Để xác định được các phần tử trong mảng, yêu cầu các phần tử cần thỏa mãn:
A. Mỗi phần tử đều có giá trị nhỏ hơn 100. B. Mỗi phần tử đều có một dấu hiệu nhận biết.
C. Mỗi phần tử đều có một chỉ số. D. Mỗi phần tử đều có một kiểu dữ liệu khác nhau.
Câu 6: Khai báo biến kiểu mảng nào sau đây là hợp lệ:
A. Var A, B: array[1..50] of integer; B. Var A, B: array[1..n] of real;
C. Var A: array[100..1] of integer; D. Var B: array[1.5..10.5] of real;
Câu 7: Chọn khai báo hợp lệ:
A. Var a,b: array[1 .. n] of real; C. Var a,b: array[1 : n] of Integer;
B. Var a,b: array[1 .. 100] of real; D. Var a,b: array[1 … 100] of real;
Câu 8: Trong các khai báo sau đây, khai báo nào đúng về khai báo biến mảng một chiều:
A. Var X: Array[1…2] of integer; B. Var X: Array[1..10.5] of real;
C. Var X: Array[4.4..4.8] of integer D. Var X: Array[1..10] of real;
* Thông hiểu:
Câu 1: Để khai báo mảng a gồm 50 phần tử thuộc dữ liệu là kiểu số nguyên ta có câu lệnh sau:
A. A:array[0..50] of integer; B. A:array[1..50] of integer;
C. A:array[50.. 0] of integer; D. A:array[50..1] of integer;
Câu 2: Hãy quan sát câu lệnh khai báo biến mảng sau đây:
Var X: Array [1..5] of integer;
Phép gán giá trị cho phần tử thứ 2 của mảng X nào dưới đây là đúng?
A. X(2) := 8; B. X[2] := 12; C. X{2} := 2; D. X2 := 7;
Câu 3: Trước khi khai báo mảng A: array[1..n] of real; thì ta phải khai báo điều gì trước?
A. Var n:integer; B. Var n=10;
C. Const n:integer; D. Const n=10;
Câu 4: Có phần khai báo biến trong Turbo Pascal như sau:
Var so_thuc: real;
x2: integer;
kytu: char;
day so: array[1..50] of integer;
Biến khai báo không hợp lệ là:
A. so_thuc: real; B. x2: integer; C. kytu: char; D. day so: array[1..50] of integer;
Câu 5: Khi khai báo biến mảng, trong mọi ngôn ngữ lập trình ít nhất cần chỉ rõ:
A. Tên biến mảng.
B. Số lượng phần tử.
C. Tên biến mảng và số lượng phần tử.
D. Tên biến mảng, số lượng phần tử, kiểu dữ liệu chung của các phần tử.
* Vận dụng thấp:
Câu 1: Trước khi khai báo mảng A: array [1..n] of real; thì ta phải khai báo điều gì trước?
A. Var n: integer; B. Const n = 10; C. Var n: real; D. Cả A và B đều đúng
Câu 2: Cho mảng A có 5 phần tử với các số liệu như hình dưới đây:
1 | 2 | 3 | 4 | 5 |
23.5 | 12 | 9 | 4.5 | 6 |
|
Hãy chọn đáp án đúng với mảng A và giá trị tương ứng:
A. A[3] = 3 B. A[9] = 3 C. A[12] = 2 D. A[5] = 6
* Vận dụng cao:
Để nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử số nguyên ta dùng lệnh nào sau đây?
A. for i : = 1 to 10 do readln(A[i]); B. for i : = 1 to 10 do writeln(A[i]);
C. Dùng 10 lệnh readln(A); D. Cả A và C đều đúng
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.
Câu 1: C
Câu 2: A
Câu 19: D
Câu 20: B
Câu 18: C
Khai báo mảng nào là đúng trong các khai báo sau đây: *
a,var tuoi: array[1..15] of integer;
b,var tuoi: aray [1..15] of real;
c,var tuoi: array[115 ] of integer;
d,var tuoi: array[1.5..10.5] of integer;
Câu 1:Số phần tử trong khai báo dưới đây là bao nhiêu?
Var hocsinh : array[12..80] of integer;
A. 80
B. 70
C. 69
D. 68
Câu 2:Khai báo mảng nào là đúng trong các khai báo sau đây:
A. var tuoi : array[1..15] of integer;
B. var tuoi : array[1.5..10.5] of integer;
C. var tuoi : aray[1..15] of real;
D. var tuoi : array[1 … 15 ] of integer;
Câu 3:Cú pháp khai báo dãy số nào sau đây đúng nhất?
A. Var < tên dãy số > : array [ < chỉ số cuối > .. < chỉ số đầu >] of < kiểu dữ liệu >;
B. Var < tên dãy số > : array [ < chỉ số đầu > .. < chỉ số cuối > ] of < kiểu dữ liệu >;
C. Var < tên dãy số > : array [ < chỉ số cuối > : < chỉ số đầu > ] of < kiểu dữ liệu >;
D. Var < tên dãy số > : array [ < chỉ số đầu > .. < chỉ số cuối >] for < kiểu dữ liệu >;
Câu 4:Để nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số nguyên ta dùng lệnh nào sau đây?
A. For i:=1 to 10 do Readln(A[i]);
B. For i:= 1 to 10 do Writeln(A[i]);
C. Dùng 10 lệnh Readln(A);
D. Cả (A), (B), (C) đều sai.
Câu 5:Các cách nhập dữ liệu cho biến mảng sau, cách nhập nào không hợp lệ?
A. readln(B[1]);
B. readln(dientich[i]);
C. readln(B5);
D. read(dayso[9]);
Câu 6:Em hãy chọn phát biểu đúng khi nói về dữ liệu kiểu mảng:
A. Dữ liệu kiểu mảng là tập hợp các phần tử không có thứ tự và mọi phần tử có cùng một kiểu dữ liệu
B. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mỗi một phần tử trong mảng có thể có các kiểu dữ liệu khác nhau
C. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mọi phần tử có cùng một kiểu dữ liệu
D. Tất cả ý trên đều sai
Câu 7:Cách khai báo biến mảng sau đây là đúng?
A. Var X: Array[3.. 4.8] of Integer;
B. Var X: Array[10 .. 1] of Integer;
C. Var X: Array[4 .. 10] of Real;
D. Var X: Array[10 , 13] of Real;
Câu 8:Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
A. Dùng để truy cập đến một phần tử bất kì trong mảng
B. Dùng để quản lí kích thước của mảng
C. Dùng trong vòng lặp với mảng
D. Dùng trong vòng lặp với mảng để quản lí kích thước của mảng
Câu 9:Chọn câu phát biểu đúng về kiểu dữ liệu của mảng?
A. Có thể dùng tất cả các kiểu dữ liệu để làm kiểu dữ liệu của mảng
B. Kiểu dữ liệu của mảng chỉ có thể là kiểu số nguyên, số thực, kiểu logic, kiểu ký tự
C. Kiểu dữ liệu của mảng là kiểu của các phần tử của mảng, là Integer hoặc Real
D. Kiểu dữ liệu của mảng phải được định nghĩa trước thông qua từ khóa VAR
Câu 10:Cho khai báo mảng như sau: Var a : array[0..30] of integer ;
Để in giá trị phần tử thứ 20 của mảng một chiều A ra màn hình ta viết:
A. Write(A[20]);
B. Write(A(20));
C. Readln(A[20]);
D. Write([20]);
Câu 1: C
Câu 2: A
Câu 3:B
Câu 4: A
Câu 5: C
Câu 6: D
Câu 7: C
Câu 8: A
Câu 9: A
Câu 10: C
Lệnh khai báo biến mảng nào sau đây đúng?
a. Var a:array[1.. 10] of real;
b. Var a: array[3..12] of real;
Cách khai báo biến mảng sau đây đúng hay sai? Nếu sai giải thích tại sao?
a) Var X: Array[10 , 13] of real;
b) Var X: Array[3..4.8] of integer;
c) Var X: Array(10..1) of integer;
d) Var X: Array[-7..7] of integer;
ách khai báo mảng sau đây cách nào khai báo đúng?Một lựa chọn.
(0.5 Điểm)
var X : Array [2..10] of real;
var X : Array [10 .. 1] of integer;
var X : Array [3.4..4.8] of integer;
var X : Array [10, 13] of integer;
Các khai báo biến mảng sau đây trong Pascal đúng hay sai:
a) var X: Array[10,13] Of Integer;
b) var X: Array[5..10.5] Of Real;
c) var X: Array[3.4..4.8] Of Integer;
d) var X: Array[10..1] Of Integer;
e) var X: Array[4..10] Of Real;
a, sai vì dấu "," phải được thay bằng ".."
b, c, sai vì chỉ số đầu và cuối đều phải kiểu nguyên
d, sai vì chỉ số đầu phải nhỏ hơn chỉ số cuối
e, đúng
Cú pháp khai báo biến nào sau đây đúng
1.Var x:= byte;
2.Var x: byte;
3.Var x=byte;
4.Var x=:byte;