Font size
WorksheetsBài 11_Lớp 11_Kiểu mảng
Total questions: 61
Worksheet time: 38mins
Mảng một chiều là:
một ngôn ngữ lập trình bậc cao
một chương trình dịch.
một dãy hữu hạn các phần tử cùng kiểu.
một dãy số nguyên và số thực.
Chỉ số của mảng một chiều dùng để:
truy cập đến một phần tử bất kì trong mảng.
quản lí kích thước của mảng.
xác định kiểu dữ liệu của mảng
khai báo tên của mảng.
Trong khai báo mảng một chiều, nếu ở kiểu chỉ số có n1=-99; n2=0. Hãy cho biết muốn tham chiếu đến phần tử thứ 4 của mảng thì chỉ số là?
4
3
-96
-95
Cho khai báo sau :
Var 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 ?
for k := 1 to 16 do write(a[k]);
for k := 16 downto 0 do write(a[k]);
for k:= 0 to 16 do write('a[k']);
for k := 16 downto 0 write(a['k']);
Khai báo nào sau đây là đúng cú pháp
Type mang1c = array [1..100] of byte;
Type 1mang = array [1..100] of byte;
Type mang1c = array [1-100] of byte;
Type mang1c = array (1..100) of byte;
Câu lệnh sau làm gi?
For i:=1 to 10 do readln(A[i]);
Nhập 10 phần tử đầu tiên của mảng A
In ra mảng A
Tính tổng các phần tử của mảng A
Đếm số phần tử của mảng A
Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện việc nào trong các việc sau (A là mảng số có N phần tử)?
For i:=1 to n do if (A[i] mod 2= 0) then Write(A[i]:3);
Xuất các phần tử chẵn của mảng A ra màn hình
Xuất các phần tử lẻ của mảng A ra màn hình
Nhập các phần tử lẻ vào mảng A
Nhập các phần tử chẵn vào mảng A
Từ khóa Type trong Pascal có ý nghĩa:
Định nghĩa 1 kiểu dữ liệu mới
Khai báo biến mới
Gõ giá trị từ bàn phím và lưu vào biến như thủ tục readln
Mở đầu chương trình
Tham chiếu đến phần tử thứ i của mảng A được biểu diễn:
A[i]
Ai
A{i}
A(i)
Chọn câu lệnh nhập giá trị cho 5 phần tử đầu tiên của mảng A đúng:
For i:=1 to 5 do readln(A[i]);
For i:=1 downto 5 do readln(A[i]);
For i:=1 to 5 do writeln(A[i]);
For i:=1 downto 5 do writeln(A[i]);
Cho khai báo biến
Var A : array[1..5] of Integer;
Chọn lệnh đúng:
A[2] := -6 ;
A[1] := 4/2 ;
A := 10;
A(3) := 6 ;
Câu lệnh sau làm gi?
writeln(A[5]);
Xuất giá trị của phần tử thứ 5 của mảng A
Nhập giá trị cho phần tử thứ 5 của mảng A
Tính tổng các phần tử của mảng A
In ra mảng A
Để khai báo mảng tên A gồm 150 phần tử, các phần tử kiểu nguyên có giá trị không vượt quá 500, ta khai báo:
Var A : Array[1..150] Of Integer;
Var A : Array[1..150] Of Byte;
Var A := Array[1..150] Of Byte;
Var A : Array[1...150] Of Integer;
Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện việc nào trong các việc sau (A là mảng số có N phần tử)?
S:=0;
For i:=1 to n do S:= S + A[i];
Tính tổng các phần tử của mảng A
Đếm số phần tử của mảng A.
In ra màn hình mảng A.
Tính tích các phần tử của mảng A.
Chọn khai báo đúng:
Var A: array[1..10] of integer;
Var A: array[1,10] of integer;
Var A:= array[1..10] of integer;
Var A= array[1..10] of integer;
Cho biết ý nghĩa của đoạn khai báo sau:
Const Max = 100;
Type Dayso = ARRAY[1..Max] Of real;
Var A : Dayso;
Khai báo biến mảng Dayso gồm max số nguyên.
Khai báo biến mảng Dayso gồm 100 số thực.
Khai báo biến mảng A gồm max số nguyên.
Khai báo biến mảng A gồm tối đa 100 số thực.
Cho khai báo biến: Var A : array[1..5] of Integer; Chọn lệnh đúng:
A[1] := 6/2 ;
A[2] := -10 ;
A(3) := 6 ;
A := 10 ;
Trong khai báo sau còn bỏ trống . . . một chỗ, vì chưa xác định được kiểu dữ liệu của biến Max:
Var A: Array[‘a’..’d’] of Real;
Ch : Char ;
Max : . . . ;
Muốn biến Max lưu giá trị lớn nhất của mảng A thì cần khai báo biến Max kiểu dữ liệu gì vào chỗ . . . :
Real
Char
Integer
String
Muốn tham chiếu đến một phần tử nào đó trong mảng ta cần phải có tối thiểu các thông tin
Tên kiểu mảng, tên biến mảng
Chỉ số phần tử, tên kiểu mảng
Tên biến mảng, chỉ số phần tử
Giá trị của phần tử, biến mảng
Cho khai báo:
Var A: Array[1..4] of Integer;
i : Integer;
Sau khi thực hiện các lệnh:
For i:=1 to 4 do A[i]:= i;
For i:=1 to 4 do A[i]:= A[i]+1;
thì mảng A có giá trị là:
A[1]=0, A[2]=1, A[3]=2, A[4]=3
A[1]=1, A[2]=1, A[3]=1, A[4]=1
A[1]=1, A[2]=2, A[3]=3, A[4]=4
A[1]=2, A[2]=3, A[3]=4, A[4]=5
Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì?
FOR i:=1 TO N DO
IF A[i] < 0 THEN Write(A[i]);
In ra màn hình các số nguyên âm
In ra màn hình các số nguyên âm
Kiểm tra phần tử thứ i là dương hay âm
Không làm gì cả
Khai báo biến mảng một chiều A gồm n số nguyên (0 < n <= 50) có dạng:
TYPE A : ARRAY [1..50] OF Integer;
Var A = ARRAY [1..50] OF Integer;
Var A : ARRAY[1..50] OF Integer;
TYPE A = ARRAY [1..50] OF Integer;
Lệnh nào in giá trị các phần tử trong mảng trên cùng một dòng?
For i:= n downto 1 do writeln(A[i],' ');
For i:= n downto 1 do write(A[i], ‘ ’);
For i:= 1 to n do read(A[i],' ');
For i:= 1 to n do readln(A[i],' ');
Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì?
FOR i:=1 TO N DO
IF A[i] > 0 THEN writeln(i);
Đưa ra màn hình giá trị của phần tử nguyên dương cuối cùng trong mảng A.
Đưa ra màn hình chỉ số của phần tử nguyên dương đầu tiên trong mảng A.
Đưa ra màn hình giá trị của phần tử nguyên dương đầu tiên trong mảng A.
Đưa ra màn hình chỉ số của phần tử nguyên dương có trong mảng A.
Cho khai báo:
VAR Mang1d : ARRAY[-Nmax..Nmax] OF Integer;
Khai báo trên ĐÚNG trong trường hợp nào?
Nmax phải là một biến nguyên đã được khai báo trước đó.
Nmax phải là một biến kiểu ký tự được khai báo trước đó.
Nmax phải là một hằng số nguyên đã được khai báo trước đó.
Nmax phải là một hằng số thực đã được khai báo trước đó.
Để in giá trị phần tử thứ 10 của mảng một chiều A ra màn hình ta viết:
Write(A[10]);
Write(A(10));
Readln(A[10]);
Write([10]);
Cho khai báo:
Var A: Array[1..10] of Real;
i : Integer;
Ðể nhập dữ liệu cho A, chọn câu nào:
For i:=1 to 10 do Begin Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]); End;
For i:=1 to 10 do Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]);
For i:=1 to 10 do Readln(‘ Nhập A[‘, i, ‘]:’);
Write(‘ Nhập A:’); Readln(A);
Chỉ số của mảng có thể là kiểu gì ?
Kiểu số thực, kiểu logic
Kiểu miền con, kiểu kí tự
Kiểu số nguyên, kiểu số thực
Kiểu đếm được
Cách làm việc với mảng một chiều như thế nào?
Thông qua tên biến và chỉ số của mảng.
Thông qua tên biến mảng.
Thông qua chỉ số của mảng.
Làm việc trực tiếp với mảng.
Các phần tử của mảng có thể thuộc các kiểu dữ liệu nào ?
Kiểu kí tự
Kiểu số thực
Kiểu logic
Cả ba kiểu trên
Phát biểu nào dưới đây về kiểu mảng là phù hợp ?
Là một tập hợp các số nguyên
Độ dài tối đa của mảng là 255;
Là một dãy hữu hạn các phần tử cùng kiểu
Mảng không thể chứa kí tự
Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
Dùng để truy cập đến một phần tử bất kì trong mảng
Dùng để quản lí kích thước của mảng
Dùng trong vòng lặp với mảng
Dùng trong vòng lặp với mảng để quản lí kích thước của mảng
Thế nào là khai báo biến mảng gián tiếp ?
Khai báo mảng của các bản ghi
Khai báo mảng xâu kí tự
Khai báo mảng hai chiều
Khai báo thông qua kiểu mảng đã có
Phương án nào dưới đây là khai báo mảng hợp lệ ?
var mang : ARRAY[0..10] OF INTEGER;
var mang : ARRAY[0..10] : INTEGER;
var mang : INTEGER OF ARRAY[0..10];
var mang : ARRAY(0..10) : INTEGER;
Tham chiếu đến phần tử thứ i của mảng A được biểu diễn:
A[i]
Ai
A{i}
A(i)
Cho khai báo biến
Var A : array[1..5] of Integer;
Chọn lệnh đúng:
A[2] := -6 ;
A[1] := 4/2 ;
A := 10;
A(3) := 6 ;
Cú pháp khai báo trực tiếp mảng 1 chiều là
VAR <tên biến mảng>:ARRAY[kiểu chỉ số] OF <kiểu phần tử>;
VAR <tên biến mảng>:ARRAY[kiểu phần tử] OF< kiểu chỉ số> ;
VAR <tên biến mảng>: ARRAY[kiểu phần tử] OF [ kiểu chỉ số];
TYPE <tên biến mảng>:ARRAY[kiểu phần tử] OF< kiểu chỉ số> ;
Để 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:
Write(A[20]);
Write(A(20));
Readln(A[20]);
Write([20]);
Cho khai báo mảng như sau : Var B : array[-5..10] of integer ;
Phương án nào dưới đây chỉ phần tử thứ 10 của mảng ?
B[4];
B[10];
A[10];
A[4];
Mảng một chiều là dãy …
các phần tử có thứ tự.
hữu hạn các phần tử cùng kiểu.
vô số các phần tử có giá trị
các số nguyên hoặc số thực
Khai báo biến mảng một chiều có dạng:
Var <tên biến mảng>:array[kiểu chỉ số] of <kiểu phần tử>;
Type <tên biến mảng>:array[kiểu chỉ số] of <kiểu phần tử>;
Var <tên biến mảng>=array[kiểu chỉ số] of <kiểu phần tử>;
Type <tên biến mảng>=<tên kiểu mảng>;
Hãy chọn phương án ghép đúng nhất. Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần?
khai báo một hằng số là số phần tử của mảng;
khai báo chỉ số bắt đầu và kết thúc của mảng;
khai báo chỉ số kết thúc của mảng;
không cần khai báo gì, hệ thống sẽ tự xác định;
Cho khai báo mảng như sau :
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[10];
a(10);
a[9];
a(9);
Phương án nào dưới đây là khai báo mảng hợp lệ ?
mang : ARRAY[0..10] OF INTEGER;
mang : ARRAY[0..10] : INTEGER;
mang : INTEGER OF ARRAY[0..10];
mang : ARRAY(0..10) : INTEGER;
var a:array[1..10] of integer; s,i:integer;
begin
s:=0;
for i:=1 to 10 do a[i]:=i;
for i:=5 downto 1 do s:=s+a[i]; writeln(s);
readln
end.
Sau khi thực hiện chương trình trên, giá trị hiển thị lên màn hình là gì?
20
10
5
15
Cú pháp khai báo trực tiếp mảng 1 chiều là
VAR <tên biến mảng>:ARRAY[kiểu chỉ số] OF <kiểu phần tử>;
VAR <tên biến mảng>:ARRAY[kiểu phần tử] OF< kiểu chỉ số> ;
VAR <tên biến mảng>: ARRAY[kiểu phần tử] OF [ kiểu chỉ số];
TYPE <tên biến mảng>:ARRAY[kiểu phần tử] OF< kiểu chỉ số> ;
Khai báo nào là ĐÚNG trong các khai báo mảng 1 chiều sau:
VAR A: ARRAY[1..100] OF Integer;
VAR A: ARRAY[1-100] OF Integer;
VAR A: ARRAY[100] OF Integer;
VAR A= ARRAY[1..100]OF Integer;
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?
1.0E3
1.0D2
1.0A1
1.0C1
Cho đoạn code sau:
j:=0;
for i:=1 to n do
if a[i]>=7 then
begin inc(j); b[j]:=a[i]; end;
for i:=1 to j do write(b[i]:4);
Hãy cho biết mảng b gồm những phần tử như thế nào?
b[i] là Các phần tử có giá trị >= 7
b[i] là Các phần tử có giá trị <=7
b[i] là Các phần tử >7
b[i] là các phần tử <7
Cho đoạn code sau:
j:=0;
for i:=1 to n do
if (a[i]<10) or (a[i]>39) then
begin inc(j); b[j]:=a[i]; end;
for i:=1 to j do write(b[i]:4);
Hãy cho biết mảng b gồm những phần tử như thế nào?
b[i] là Các phần tử có giá trị >10
b[i] là Các phần tử có giá trị <39
b[i] là Các phần tử <10 hoặc >39
b[i] là Các phần tử >10 và <39
Cho đoạn code sau:
j:=0; min:=maxint;
for i:=1 to n do
if (a[i] <min) then min:=a[i];
for i:=1 to n do
if a[i] = min then
begin inc(j); b[j]:=a[i]; end;
for i:=1 to n do
if (a[i] <> min ) then
begin inc(j); b[j]:=a[i]; end;
for i:=1 to j do write(b[i]:4);
Hãy cho biết mảng b gồm những phần tử như thế nào?
b[i] là Các phần tử có giá trị nhỏ nhất đứng trước
b[i] là Các phần tử có giá trị nhỏ nhất đứng trước, các số còn lại giữ nguyên vị trí
b[i] là Các phần tử có giá trị nhỏ lên trước, lớn xuống cuối dãy
b[i] là Các phần tử có giá trị lớn nhất lên trước, còn lại giữ nguyên
Cho đoạn code sau:
min:=maxint;
for i:=1 to n do
if (a[i] mod 2=0 ) and (a[i] <min) then min:=a[i];
nếu cho dãy a[i]= 1, -3, -8, 125, 120. Thì Min =?
-3
-8
125
120
Cho đoạn code sau:
min:=maxint;
for i:=1 to n do
if (a[i] >0 ) and (a[i] <min) then min:=a[i];
nếu cho dãy a[i]= 1, -3, -8, 125, 120. Thì Min =?
125
-8
1
120
Cho đoạn code sau:
tong:=0; dem:=0;
while tong<2005 do
begin
readln(n);
inc(dem);
tong:=tong+n;
end;
write(tong/dem:6:2);
Hỏi chương trình in ra giá trị gì?
Trung bình cộng của tổng
Trung bình cộng của các số nhập vào từ bàn phím
Tổng các số nhập từ bàn phím
Trung bình cộng của các số mà có tổng không quá 2005
Khai báo nào sau đây là đúng:
Var nhietdo : array[1…365] of integer;
Var mang1:Array[1..7] of byte;
Const N=1.2; Var mang1 : Array[1..n] of Integer;
Var mang1= Array[1..100] of Real;
Muốn tham chiếu tới phần tử 90 của biến mảng Vidu1 thì viết:
Vidu1 (90)
Vidu1{90}
Vidu1[90]
Vidu1[90)
Để tham chiếu tới phần tử mảng 1 chiều R ta viết:
R[chỉ số]
R[4:3]
R[4,3]
R(chỉ số).
Khai báo Var a: array[1..10] of Integer. Trong các câu lệnh sau, lệnh nào bị lỗi:
a[1]:=5;
a[2]:= a[1]+1;
a[4]:= a[1] - a[2];
a[12]:=1;
Đoạn lệnh sau thực hiện công việc gì?( A là mảng số có N phần tử)
S:=0; For i:=1 to N do S:= S +A[i];
Đếm giá trị i của mảng A
Đếm số phần tử của mảng A
Tính tổng các phần tử của mảng A
Tính tổng giá trị của i
Để nhập dữ liệu cho mảng một chiều ta sử dụng câu lệnh:
For i:= 1 to 10 do readln(A[1]);
For i:= 1 to 10 do readln(A);
For i = 1 to 10 do readln(A[i]);
For i:= 1 to 10 do readln(A[i]);
Để nhập dữ liệu cho mảng một chiều ta sử dụng câu lệnh:
For i:= 1 to 10 do readln(A[1]);
For i:= 1 to 10 do readln(A);
For i = 1 to 10 do readln(A[i]);
For i:= 1 to 10 do readln(A[i]);
