Cú pháp khai báo mảng bằng cách trực tiếp?

Mảng trongPascallà tập hợp các phần tử cố định có cùng 1 kiểu. Mảng được sử dụng để lưu trữ tập hợp dữ liệu, nhưng sẽ hữu ích hơn nếu lưu trữ tập hợp các biến cùng loại. Vậy làm thế nào để khai báo biến mảng? Cú pháp khai báo biến mảng trong pascal có những gì? Hãy cùng Top lời giải tìm hiểu nhé

Câu hỏi: Hãy nêu cú pháp khai báo biến mảng trong Pascal

A. VAR :array[,] of ;

B. Type =array[,] of ; Var :;

C. VAR :array[] of

D. Đáp án A và B đúng

Trả lời:

Đáp án đúng: D. Đáp án A và B đúng

Cú pháp khai báo biến mảng trong pascal:

+ VAR :array[,] of ;

+ Type =array[,] of ; Var :;

Giải thích của giáo viên Top lời giải vì sao chọn đáp án D

A. Đúng vì đây là cách Khai báo trực tiếp

VAR :array[,] of ;

B. Đúng vì đây là cách khai báo gián tiếp

Type =array[,] of ; Var :;

D. Đúng vì cả A và B đều là cách khai cách Khai báo mảng

=> Lí do không chọn đáp án C

C. Sai vì đây là cách Khai báo trực tiếp nhưng giữa [] ở đây lại không có, kết thúc cũng không có dấu “ ;”

>>> Xem thêm: Hãy nêu cú pháp và công dụng của các thao tác cơ bản đối với tệp

Câu hỏi trắc nghiệm bổ sung kiến thức về biến mảng trong Pascal

Câu 1: Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?

A. Là một tập hợp các số nguyên

B. Độ dài tối đa của mảng là 255

C. Là một dãy hữu hạn các phần tử cùng kiểu

D. Mảng không thể chứa kí tự

Đáp án đúng:C. Là một dãy hữu hạn các phần tử cùng kiểu

Giải thích: Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số. Để mô tả ta cần xác định kiểu của các phần tử và cách đánh số các phần tử của nó.

Câu 2: Phát biểu nào sau đây về mảng là không chính xác?

A. Chỉ số của mảng không nhất thiết bắt đầu từ 1

B. Có thể xây dựng mảng nhiều chiều

C. Xâu kí tự cũng có thể xem như là một loại mảng

D. Độ dài tối đa của mảng là 255

Đáp án đúng: D. Độ dài tối đa của mảng là 255

Giải thích: Chỉ số của mảng không nhất thiết bắt đầu từ 1 tùy theo người lập trình. Xâu kí tự cũng có thể xem như mảng một chiều, mỗi phần tử là một kí tự. Trong lập trình có thể xây dựng mảng nhiều chiều. Và không có giới hạn cụ thể về độ dài của mảng.

Câu 3: Phương án nào dưới đây là khai báo mảng hợp lệ?

A. Var mang : ARRAY[0..10] OF INTEGER;

B. Var mang : ARRAY[0..10] : INTEGER;

C. Var mang : INTEGER OF ARRAY[0..10];

D. Var mang : ARRAY[0..10] : INTEGER;

Đáp án đúng: A. Var mang : ARRAY[0..10] OF INTEGER;

Giải thích: Khai báo biến trực tiếp

VAR :array[,] of ;

Câu 4: Thế nào là khai báo biến mảng gián tiếp?

A. Khai báo mảng của các bản ghi

B. Khai báo mảng xâu kí tự

C. Khai báo mảng hai chiều

D. Khai báo thông qua kiểu mảng đã có

Đáp án đúng: D. Khai báo thông qua kiểu mảng đã có

Giải thích: Khai báo biến mảng gián tiếp là khai báo thông qua kiểu mảng đã có. Cấu trúc khai báo mảng gián tiếp:

Type< tên kiểu mảng> =array[kiểu chỉ số]of;

Var : < tên kiểu mảng>;

---------------------------

Trên đây Top lời giải đã cùng các bạn nêu cú pháp khai biến mảng trong Pascal. Chúng tôi hi vọng các bạn đã có kiến thức hữu ích khi đọc bài viết này, chúc các bạn học tốt.

BÀI 11. KIỂU MẢNG

1. Kiểu mảng một chiều

a. Khái niệm

- Mảng một chiều là một dãy hữu hạn các phần tử có cùng kiểu. Mảng được đặt tên và mỗi phần tử mang một chỉ số. Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh chỉ số các phần tử.

- Với mảng một chiều ta quan tâm đến:

  • Tên kiểu mảng một chiều.
  • Số lượng phần tử trong mảng.
  • Kiểu dữ liệu của phần tử.
  • Cách khai báo biến mảng.
  • Cách tham chiếu đến phần tử.

b. Khai báo mảng một chiều

- Cách 1: Khai báo trực tiếp:

                    VAR : ARRAY [kiểu chỉ số] OF ;

- Cách 2: Khai báo gián tiếp

                     TYPE ARRAY [kiểu chỉ số] OF ;

                     VAR  : ;

- Trong đó:

  • Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1...n2 [n1 Ta có các cách sau:

    • Cách 1: Var a: Array[1..100] Of Integer;
    • Cách 2:

                   Const Nmax = 100;

                   Var a: Array[1..Nmax] Of integer;

    c. Tham chiếu tới phần tử của mảng

    - Để tham chiếu tới phần tử của mảng ta gọi theo cấu trúc: Tên_biến[chỉ số]

    VD: Tham chiếu đến phần tử thứ 20 trong mảng A ta viết A[20].

    d. Một số ví dụ

    - Bài 1: Viết CT tạo mảng A gồm N [N\[\le\]100] số nguyên. Tính tổng các phần tử của mảng là bội của một số nguyên dương k cho trước.

    Var  S, n, k, i: integer;      A: array[1..100] of integer; Begin      Write[‘Nhap n = ’];      readln[n];      {tao mang}      For i:=1 To n Do      begin           write[‘phan tu thu ’,i,’ =’];             readln[A[i]];      end;      write[‘Nhap k = ’];      readln[k];      S:= 0; {khoi tao S ban dau}      {tinh tong}      For i:=1 To n Do           If A[i] mod k = 0 Then S:= S + A[i];      Writeln[‘Tong can tinh la ’, S];

    End.

    2. Kiểu mảng hai chiều

    a. Khái niệm mảng 2 chiều

    Xét bài toán: Bảng nhân: Hãy viết chương trình in ra bảng nhân như sau

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    2

    4

    6

    8

    10

    12

    14

    16

    18

    20

    3

    6

    9

    12

    15

    18

    21

    24

    27

    30

    4

    8

    12

    16

    20

    24

    28

    32

    36

    40

    5

    10

    15

    20

    25

    30

    35

    40

    45

    50

    6

    12

    18

    24

    30

    36

    42

    48

    54

    60

    7

    14

    21

    28

    35

    42

    49

    56

    63

    70

    8

    16

    24

    32

    40

    48

    56

    64

    72

    80

    9

    18

    27

    36

    45

    54

    63

    72

    81

    90

    => Các bước cần thực hiện khi sử dụng mảng 1 chiều để thực hiện bài toán trên:

    - Cần sử dụng 9 mảng 1 chiều, mỗi mảng lưu 1 hàng của bảng nhân => Khai báo 9 biến mảng

    => Nhược điểm: Phải khai báo nhiều biến, chương trình phải viết nhiều lệnh để tạo và in giá trị của mảng. 

    => Giải pháp: Coi mỗi mảng một chiều là 1 phần tử và ghép 9 mảng 1 chiều trên thành 1 mảng 2 chiều.

    * Khái niệm mảng hai chiều:

    - Mảng hai chiều là mảng một chiều mà mỗi phần tử của nó lại là mảng một chiều. 

    - Mảng hai chiều là bảng các phần tử cùng kiểu

    * Các yếu tố xác định mảng hai chiều:

    • Tên mảng hai chiều.
    • Số lượng phần tử của mỗi chiều.
    • Kiểu dữ liệu của phần tử.
    • Cách khai báo biến.
    • Cách tham chiếu đến phần tử.

    b. Cách Khai báo:

    - Có hai cách khai báo biến mảng 2 chiều:

    • Cách 1: Khai báo trực tiếp:

                         VAR : ARRAY [kiểu chỉ số hàng, kiểu chỉ số cột] OF ;

    • Cách 2: Khai báo gián tiếp:

                         TYPE  = ARRAY [kiểu chỉ số hàng, kiểu chỉ số cột] OF ;

                         VAR  : ;

    c. Tham chiếu đến một phần tử của mảng hai chiều:

                         TÊN_BIẾN[chỉ số hàng, chỉ số cột]

    d. Các ví dụ:

    - Ví dụ 1: Viết chương trình tạo và in mảng hai chiều gồm m hàng, n cột.

    program Tao_in_mang; var i, j, m, n: integer; A: array[1..100,1..100] of integer; begin      write['Nhap so hang m = ']; readln[m];      write['Nhap so cot n = ']; readln[n];      {Tạo mảng}      for i:= 1 to m do for j:= 1 to n do      begin           write['Nhap A[',i, ',',j,']='];           readln[A[i, j]];      end;      {In mảng}      for i:= 1 to m do      begin           for j:= 1 to n do write[A[i, j]:4];           writeln;      end;      readln;

    end.

    Video liên quan

Chủ Đề