Câu hỏi ôn tập
Câu 1: Hãy nêu cách khai báo biến mảng, cho một vài ví dụ về khai báo biến mảng?
Câu 2: “Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu nhưng chỉ dưới một tiên duy nhất”. Phát biểu đó đúng hay sai?
* 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
trong khai báo biến mảng , chỉ số đầu và chỉ số cuối được sử dụng với kiểu dữ liệu :
A Char B String C Real D Integer
sử dụng biến mảng Viết chương trình nhập vào một dãy số gồm n số nguyên từ bàn phím in ra màn hình giá trị lớn nhất của dãy số đó
Bài 9. LÀM VIỆC VỚI DÃY SỐ CÂU HỎI BÀI TẬP
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: Câu 9: Các khai báo biến mảng sau đây trong Pascal đúng hay sai?
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]);
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[4 .. 10] Of Integer;
Viết chương trình pascal sử dụng biến mảng để nhập từ bàn phím các phần tử của một dãy số. Độ dài dãy số được nhập từ bàn phím. In ra màng hình số lớn nhất của dãy số.
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;
a. cho mảng DIEM gồm 200 phần tử thuộc kiểu dữ liệu số thực, viết công thức khai báo biến mảng DIEM?
b. Cho mảng X gồm 200 phần tử thuộc kiểu dữ liệu số nguyên, viết công thức khai báo biến mảng X?
1)viết 3 câu lệnh khai báo biến mảng kiểu nguyên và kiểu thực với số phần tử lần lượt là 50,100,150.
2)viết chương trình nhập xuất một mảng số nguyên có n phần tử (n nhập từ bàn phím )