Trong ngôn ngữ lập trình, mảng một chiều là kiểu dữ liệu đơn giản và có trong nhiều ngôn ngữ lập trình khác nhau.
Cô vừa mới dạy tới bài mảng một chiều, có câu hỏi muốn cùng các em giải đáp.
Phát biểu nào sau đây đúng về mảng một chiều?
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
Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu.
Giải thích đáp án
Khái niệm
Mảng một chiều làmảng mà trong đó các phần tử được sắp xếp liên tục và có thứ tự trên bộ nhớ máy tính. Các phần tử trong mảng được đánh số thứ tự từ đầu mảng tới cuối mảng, bắt đầu từ số 0 và tăng dần 1 đơn vị.
Hướng dẫn khai báo mange một chiều
Để khai báo một mảng một chiều trong ngôn ngữ lập trình, chúng ta cần sử dụng cú pháp sau:
<kiểu dữ liệu> <tên mảng>[<số phần tử>];
Trong đó:
<kiểu dữ liệu> là kiểu dữ liệu của các phần tử trong mảng, ví dụ như int, float, char,…
<tên mảng> là tên mà bạn muốn đặt cho mảng. Tên này có thể là bất kỳ cái gì, nhưng cần phải tuân thủ các quy tắc đặt tên biến trong ngôn ngữ lập trình.
<số phần tử> là số lượng phần tử mà bạn muốn lưu trữ trong mảng. Số lượng này cần phải là một số nguyên không âm.
Ví dụ, để khai báo một mảng chứa 5 số nguyên, bạn có thể sử dụng câu lệnh sau:
int myArray[5];
Ưu điểm và nhược điểm
Ưu điểm của mảng một chiều là cho phép lưu trữ nhiều giá trị của cùng một kiểu dữ liệu trong một biến, giúp tiết kiệm tài nguyên bộ nhớ và làm cho việc truy cập dữ liệu trở nên dễ dàng hơn. Mảng cũng cho phép thực hiện các thao tác trên nhiều phần tử của mảng cùng lúc, giúp giảm thiểu thời gian xử lý.
Tuy nhiên, mảng một chiều cũng có nhược điểm là không linh hoạt trong việc thay đổi kích thước của mảng sau khi đã được khởi tạo. Nếu muốn thêm hoặc xóa một phần tử khỏi mảng, ta cần phải tạo ra một mảng mới và sao chép lại các phần tử cũ vào mảng mới này, đây là một quá trình tốn tài nguyên và tốn thời gian.
Các ví dụ khai báo mảng một chiều
Khai báo mảng một chiều trong Pascal
Ví dụ 1
program ViDu1; var myArray: array[1..5] of integer; i: integer; begin // Gán giá trị cho từng phần tử trong mảng myArray[1] := 2; myArray[2] := 4; myArray[3] := 6; myArray[4] := 8; myArray[5] := 10; // In ra giá trị của mỗi phần tử trong mảng for i := 1 to 5 do writeln('Phan tu thu ', i, ' trong mang la: ', myArray[i]); end.
Trong ví dụ này, chúng ta đã khai báo một mảng chứa 5 số nguyên bằng cách sử dụng từ khóa array và cặp ngoặc vuông []. Để đánh số các phần tử trong mảng, chúng ta sử dụng cú pháp array[1..5], trong đó 1 và 5 là chỉ số đầu và cuối của mảng.
Sau đó, chúng ta gán giá trị cho từng phần tử trong mảng bằng cách sử dụng toán tử :=. Cuối cùng, chúng ta sử dụng vòng lặp for để duyệt qua từng phần tử trong mảng và in giá trị của nó ra màn hình.
Ví dụ 2
program ViDu2; var myArray: array[0..2] of real = (1.2, 3.4, 5.6); i: integer; begin // In ra giá trị của mỗi phần tử trong mảng for i := 0 to 2 do writeln('Phan tu thu ', i, ' trong mang la: ', myArray[i]); end.
Trong ví dụ này, chúng ta đã khai báo một mảng chứa 3 số thực bằng cách sử dụng từ khóa array, cặp ngoặc vuông [], và giá trị khởi tạo được đặt trong dấu ngoặc nhọn {}. Để đánh số các phần tử trong mảng bắt đầu từ 0, chúng ta sử dụng cú pháp array[0..2].
Cuối cùng, chúng ta sử dụng vòng lặp for để duyệt qua từng phần tử trong mảng và in giá trị của nó ra màn hình.
Khai báo mảng một chiều trong ngôn ngữ C++
Ví dụ 1:
#include <iostream> using namespace std; int main() { // Khởi tạo mảng gồm 5 phần tử kiểu int int myArray[5] = {2, 4, 6, 8, 10}; // In ra giá trị của mỗi phần tử trong mảng for(int i = 0; i < 5; i++) { cout << "Phan tu thu " << i << " trong mang la: " << myArray[i] << endl; } return 0; }
Trong ví dụ trên, chúng ta đã khai báo và khởi tạo một mảng gồm 5 phần tử kiểu int bằng cách sử dụng cặp ngoặc vuông [] và các giá trị khởi tạo được đặt trong dấu ngoặc nhọn {}. Sau đó, chúng ta sử dụng vòng lặp for để duyệt qua từng phần tử trong mảng và in giá trị của nó ra màn hình.
Ví dụ 2:
#include <iostream> using namespace std; int main() { // Khai báo một mảng gồm 3 phần tử kiểu float float myArray[3]; // Gán giá trị cho từng phần tử trong mảng myArray[0] = 1.2; myArray[1] = 3.4; myArray[2] = 5.6; // In ra giá trị của mỗi phần tử trong mảng for(int i = 0; i < 3; i++) { cout << "Phan tu thu " << i << " trong mang la: " << myArray[i] << endl; } return 0; }
Trong ví dụ này, chúng ta đã khai báo một mảng gồm 3 phần tử kiểu float bằng cách sử dụng cặp ngoặc vuông []. Sau đó, chúng ta gán giá trị cho từng phần tử trong mảng bằng cách sử dụng toán tử =. Cuối cùng, chúng ta sử dụng vòng lặp for để duyệt qua từng phần tử trong mảng và in giá trị của nó ra màn hình.