Tại sao mảng là kiểu dữ liệu có cấu trúc?
Phát biểu nào dưới đây là sai?
A. Xâu là một dãy các kí tự trong bảng mã ASCII. Kiểu xâu là một kiểu dữ liệu có cấu trúc.
B. Có thể xem mỗi xâu có cấu trúc giống như một mảng một chiều mà mỗi phần tử của mảng là một kí tự trong bảng mã ASCII, được đánh chỉ số từ 1.
C. Số lượng kí tự trong một xâu chính là độ dài của xâu.
D. Các phép toán thao tác với xâu tương tự như các phép toán thao tác với mảng.
Mọi người lại giúp tôi đi
Phát biểu nào dưới đây là sai?
A. Xâu là một dãy các kí tự trong bảng mã ASCII. Kiểu xâu là một kiểu dữ liệu có cấu trúc.
B. Có thể xem mỗi xâu có cấu trúc giống như một mảng một chiều mà mỗi phần tử của mảng là một kí tự trong bảng mã ASCII, được đánh chỉ số từ 1.
C. Số lượng kí tự trong một xâu chính là độ dài của xâu.
D. Các phép toán thao tác với xâu tương tự như các phép toán thao tác với mảng.
Câu 1: Điền vào dấu (…): Mảng một chiều là một dãy hữu hạn các phần tử có cùng (…)
A. Thông tin B. Dữ liệu C. Kiểu D. Giá trị
Câu 2: Cấu trúc lặp thường có mấy dạng?
A. 3 B. 4 C. 2 D. 1
Câu 3: Để tính S=1+22+32+…+n2 cho đến khi S>1000 em sẽ sử dụng lệnh lặp nào?
A. While – do B. If – Then C. For – do D. Cả ba đều đúng.
Câu 4: Khai báo sau đây thì mảng có tối đa bao nhiêu phần tử? Var a:array [0..10] of byte;
A. 8 B. 9 C. 11 D. 10
Câu 5: Để lưu trữ dãy số thực A1, A2, … A50 thì khai báo nào sau đây là đúng?
A. Var A:=array[1..50] of real; B. Var A:array[1..50] of word;
C. Var A:array[1..30] of extended; D. Var A:array[1..50] of Real;
Câu 6: Cho đoạn lệnh: S:= 0; For i:=1 to 10 do S:=S+i; kết quả S sau khi thực hiện là bao nhiêu?
A. 10 B. 55 C. 1 D. 50
Câu 7: Trong câu lệnh while: While <điều kiện> do <câu lệnh>; khi nào kết thúc lặp?
A. Điều kiện đúng B. Điều kiện sai C. Cả A và B đúng D. Cả A và B sai.
Câu 8: Cho lệnh lặp: While (abs(x) >= 5) do write(x); lệnh write(x) được lặp lại bao nhiêu lần?
A. Lặp vô hạn B. 5 lần C. 6 lần. D. Chưa biết
Câu 9: Lệnh lặp nào sau đây là đúng.
A. For i:=1 two 10 do S:=S+i; B. For i:=1 to 10 do S:=S+i;
C. For i=1 to 10 do S:=S+i; D. For i:=1 to -10 do S:=S+i;
Câu 10: Có Var A:Array[1..100] of byte; Để tham chiếu đến phần tử 5 của mảng, ta viết thế nào?
A. A<5> B. A(5) C. A{5} D. A[5]
Câu 1: C
Câu 2: C
Câu 3: D
Câu 4: C
Câu 5: D
Câu 6: B
Câu 7: B
Câu 9: B
Câu 10: D
Phần I: Phần trắc nghiệm
Câu 1: Điền vào dấu (…): Mảng một chiều là một dãy hữu hạn các phần tử có cùng (…)
A. Thông tin B. Dữ liệu C. Kiểu D. Giá trị
Câu 2: Cấu trúc lặp thường có mấy dạng?
A. 3 B. 4 C. 2 D. 1
Câu 3: Để tính S=1+22+32+…+n2 cho đến khi S>1000 em sẽ sử dụng lệnh lặp nào?
A. While – do B. If – Then C. For – do D. Cả ba đều đúng.
Câu 4: Khai báo sau đây thì mảng có tối đa bao nhiêu phần tử? Var a:array [0..10] of byte;
A. 8 B. 9 C. 11 D. 10
Câu 5: Để lưu trữ dãy số thực A1, A2, … A50 thì khai báo nào sau đây là đúng?
A. Var A:=array[1..50] of real; B. Var A:array[1..50] of word;
C. Var A:array[1..30] of extended; D. Var A:array[1..50] of Real;
Câu 6: Cho đoạn lệnh: S:= 0; For i:=1 to 10 do S:=S+i; kết quả S sau khi thực hiện là bao nhiêu?
A. 10 B. 55 C. 1 D. 50
Câu 7: Trong câu lệnh while: While <điều kiện> do <câu lệnh>; khi nào kết thúc lặp?
A. Điều kiện đúng B. Điều kiện sai C. Cả A và B đúng D. Cả A và B sai.
Câu 8: Cho lệnh lặp: While (abs(x) >= 5) do write(x); lệnh write(x) được lặp lại bao nhiêu lần?
A. Lặp vô hạn B. 5 lần C. 6 lần. D. Chưa biết
Câu 9: Lệnh lặp nào sau đây là đúng.
A. For i:=1 two 10 do S:=S+i; B. For i:=1 to 10 do S:=S+i;
C. For i=1 to 10 do S:=S+i; D. For i:=1 to -10 do S:=S+i;
Câu 10: Có Var A:Array[1..100] of byte; Để tham chiếu đến phần tử 5 của mảng, ta viết thế nào?
A. A<5> B. A(5) C. A{5} D. A[5]
Câu 11: Cho dãy số gồm 4 số thực, 5 số nguyên. Em có thể khai báo một mảng một chiều gồm 9 phần tử kiểu nguyên để lưu trữ dãy số hay không?
A. Có B. Đáp án khác. C. Vừa có vừa không D. Không
Câu 12: S:=0; For i:=1 to N do if T[i] mod 2 = 0 then S:=S+T[i]; Đoạn lệnh trên thực hiện công việc gì?
A. Tìm tổng giá trị các phần tử của mảng T B. Tìm tổng giá trị các số chẵn trong mảng T
C. Tìm tổng giá trị các số lẻ trong mảng T D. Cả A, B, C đều đúng.
Câu 13: Khi chạy chương trình :
Var A:array[1..10] of integer;
i, S : integer;
Begin A[1]:= 3; A[2]:= -1; A[3]:= -4;
S:= 0;
For i:=1 to 3 do If A[i] > 0 then S:=S+A[i];
Write(S);
End.
Kết quả in ra giá trị của S là:
A. 2 B. 3 C. 4 D. -5
Câu 14: Hãy cho biết kết quả đưa ra màn hình của chương trình sau:
Var x, i: byte;
BEGIN X:=0; i:=0; While i<17 do begin x:= x+i; i:=i+2; end; writeln(‘x= ’, x); END.
A. x= 72 B. x= 90 C. x= 91 D. 56
Câu 15: Cho khai báo Var A: array[1..10] of integer; Để nhập giá trị cho phần tử thứ 3 của mảng thực hiện câu lệnh nào?
A.Read(A<3>); B. Writeln(A[3]); C. Write(‘A[3]’); D. Readln(A[3]);
Câu 16: Các khai báo sau, khai báo nào là đúng?
A. Var A:array[1....n] of byte; B. Var A = array[1..10] of real;
C. Var A:array[-10. .10] of boolean; D. Var A : array[‘a’..’z’] of read;
Câu 17: Cho khai báo Var S:Array[1..5] of byte; S có thể lưu trữ dãy số nào sau đây.
A. 300 3 5 4 5 B. 1 3 6 C. 1 -2 3 2 D. 1 5 3 2 4 3
Câu 18: Cho khai báo sau: Var A, B : array[1..20] of integer; Giả sử giá trị A[i] và B[i] (i nhận giá trị từ 1 đến 20) đã được xác định. Xét đoạn chương trình:
d:=0; for i:=1 to 20 do If A[i] <> B[i] then d:=d+1; writeln(d);
Đoạn chương trình trên thực hiện công việc gì?
A. Đếm số phần tử của A khác các phần tử của B B. Đếm số phần tử khác nhau của A và B
C. Đếm số cặp phần tử tương ứng khác nhau của A và B D. Tất cả đều sai
Câu 19: Cho khai báo 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 ?
A. for k := 1 to 16 do write(a[k]); B. for k := 16 downto 0 do write(a[k]);
B. for k:= 0 to 15 do write(a[k]); D. for k := 16 down to 0 write(a[k]);
Câu 20: Var a : array[0..50] of real ;
k := 0 ; for i := 1 to 50 do if a[i] > a[k] then k := i ;
Đoạn chương trình trên thực hiện công việc gì dưới đây ?
A.Tìm phần tử nhỏ nhất trong mảng; B. Tìm phần tử lớn nhất trong mảng;
C.Tìm chỉ số của phần tử lớn nhất trong mảng; D. Tìm chỉ số của phần tử nhỏ nhất trong mảng;
Câu 21: 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. m[10] B. m(10) C. m(9) D. m[9]
Câu 1: B
Câu 2: C
Câu 3: D
Câu 4: C
Câu 21: D
Đọc, trao đổi, thảo luận về cấu trúc dữ liệu mảng hai chiều trong Python.
Trong tin học, một cấu trúc dữ liệu hai chiều được hiểu là một bảng hay còn gọi là ma trận, bao gồm các hàng và cột dữ liệu. Bảng có thể có kích thước vuông n x n hoặc kích thước bất kì m x n.
Phương án nào sau đây đúng khi nói về cấu trúc của cơ sở dữ liệu có dữ liệu được lưu trữ dưới dạng bảng? A .Các hàng và các kiểu dữ liệu B.Các bản ghi và các trường C.các kiểu dữ liệu trong bảng D.cáiccột và các thuộc tính trong bảng
Chọn đáp án B.Các bản ghi và các trường
A.Sai vì không đề cập đến yếu tố quan trọng là cột.
C.Sai vì chỉ tập trung vào kiểu dữ liệu mà không đề cập đến cấu trúc bảng.
D.Sai vì thuộc tính là thuật ngữ ít được sử dụng trong ngữ cảnh cơ sở dữ liệu, thay vì trường.
Các phần tử của mảng A phải là số nguyên. B phải có giá trị như nhau. C. Phải cùng kiểu dữ liệu. D. Có thể cùng kiểu hoặc khác kiểu dữ liệu
Các phần tử của mảng A phải là số nguyên. B phải có giá trị như nhau. C. Phải cùng kiểu dữ liệu. D. Có thể cùng kiểu hoặc khác kiểu dữ liệu
Thực hiện các thao tác sau, quan sát, trao đổi và thảo luận, từ đó nhận biết về cấu trúc dữ liệu mảng một chiều trong Python.
Cấu trúc dữ liệu mảng một chiều trong Python có thể biểu diễn bằng kiểu dữ liệu canh sách (list) với chức năng truy cập dễ dàng từng phần tử theo chỉ số, truy cập theo vùng chỉ số. Toán tử in và lệnh for .. in sẽ hỗ trợ duyệt từng phần tử của mảng.
9.Trình bày các kiểu dữ liệu và các thao tác sửa cấu trúc bảng?
Thế nào là dữ liệu kiểu mảng
Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mỗi phần tử có một kiểu dữ liệu, gọi là kiểu của phần tử. Việc sắp xếp thứ tự được thực hiện bằng cách gán cho mối phần tử một chỉ số.
Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mỗi phần tử có một kiểu dữ liệu, gọi là kiểu của phần tử. Việc sắp xếp thứ tự được thực hiện bằng cách gán cho mối phần tử một chỉ số.
Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mỗi phần tử có một kiểu dữ liệu, gọi là kiểu của phần tử. Việc sắp xếp thứ tự được thực hiện bằng cách gán cho mối phần tử một chỉ số
* 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