Mảng là một cấu trúc dữ liệu quan trọng trong lập trình, cho phép lưu trữ và xử lý tập hợp các phần tử cùng kiểu dữ liệu. Trong Pascal, mảng một chiều là một kiểu dữ liệu có cấu trúc, cho phép lưu trữ một dãy các phần tử có cùng kiểu dữ liệu và được truy cập thông qua chỉ số. Bài viết này sẽ cung cấp cho bạn kiến thức cơ bản về mảng một chiều trong Pascal, kèm theo các ví dụ minh họa và bài tập có lời giải chi tiết giúp bạn nắm vững kiến thức.
Khai báo mảng một chiều trong Pascal
Khai Báo Mảng Một Chiều Trong Pascal
Để sử dụng mảng một chiều, bạn cần khai báo nó trước trong phần khai báo biến. Cú pháp khai báo mảng một chiều như sau:
var <Tên_mảng>: array[<Chỉ_số_đầu>..<Chỉ_số_cuối>] of <Kiểu_dữ_liệu>;
Trong đó:
- <Tên_mảng>: là tên bạn đặt cho mảng, tuân theo quy tắc đặt tên trong Pascal.
- <Chỉ_số_đầu>..<Chỉ_số_cuối>: xác định phạm vi chỉ số của mảng, là hai số nguyên, trong đó <Chỉ_số_đầu> <= <Chỉ_số_cuối>.
- <Kiểu_dữ_liệu>: là kiểu dữ liệu của các phần tử trong mảng, có thể là Integer, Real, Char, String, Boolean,…
Ví dụ: Khai báo mảng A
gồm 10 phần tử kiểu số nguyên, chỉ số chạy từ 1 đến 10:
var A: array[1..10] of Integer;
Truy Cập Phần Tử Của Mảng Một Chiều
Để truy cập đến một phần tử cụ thể trong mảng, bạn sử dụng chỉ số của phần tử đó. Chỉ số được đặt trong cặp dấu ngoặc vuông []
sau tên mảng.
Ví dụ:
A[5] := 10; // Gán giá trị 10 cho phần tử thứ 5 của mảng A
Writeln(A[1]); // In ra giá trị của phần tử đầu tiên trong mảng A
Nhập Xuất Mảng Một Chiều
Để nhập dữ liệu cho mảng, bạn có thể sử dụng vòng lặp For
để duyệt qua từng phần tử và sử dụng lệnh Readln
hoặc Read
để nhập giá trị.
Ví dụ: Nhập giá trị cho mảng A
gồm N
phần tử:
var A: array[1..100] of Integer;
N, i: Integer;
begin
Write('Nhap so phan tu cua mang: '); Readln(N);
For i := 1 to N do
begin
Write('A[', i, '] = '); Readln(A[i]);
end;
end.
Tương tự, bạn có thể sử dụng vòng lặp For
và lệnh Writeln
hoặc Write
để in ra các phần tử của mảng.
Bài Tập Mảng 1 Chiều Trong Pascal Có Lời Giải
Bài tập 1: Viết chương trình nhập vào một mảng gồm N số nguyên, sau đó tìm giá trị lớn nhất và nhỏ nhất trong mảng.
Lời giải:
program TimMinMax;
var
A: array[1..100] of Integer;
N, i, Max, Min: Integer;
begin
Write('Nhap so phan tu cua mang: '); Readln(N);
// Nhập mảng
For i := 1 to N do
begin
Write('A[', i, '] = '); Readln(A[i]);
end;
// Tìm Max và Min
Max := A[1];
Min := A[1];
For i := 2 to N do
begin
if A[i] > Max then Max := A[i];
if A[i] < Min then Min := A[i];
end;
// In kết quả
Writeln('Gia tri lon nhat: ', Max);
Writeln('Gia tri nho nhat: ', Min);
end.
Bài tập 2: Viết chương trình nhập vào một mảng gồm N số nguyên, sau đó sắp xếp mảng theo thứ tự tăng dần.
Lời giải:
program SapXepTangDan;
var
A: array[1..100] of Integer;
N, i, j, temp: Integer;
begin
Write('Nhap so phan tu cua mang: '); Readln(N);
// Nhập mảng
For i := 1 to N do
begin
Write('A[', i, '] = '); Readln(A[i]);
end;
// Sắp xếp mảng
For i := 1 to N - 1 do
For j := i + 1 to N do
if A[i] > A[j] then
begin
temp := A[i];
A[i] := A[j];
A[j] := temp;
end;
// In mảng đã sắp xếp
Writeln('Mang sau khi sap xep: ');
For i := 1 to N do
Write(A[i]:4);
end.
Trên đây là một số Bài Tập Mảng 1 Chiều Trong Pascal Có Lời Giải chi tiết. Hy vọng bài viết này sẽ giúp bạn nắm vững kiến thức về mảng một chiều trong Pascal.
Bạn Cần Hỗ Trợ?
Nếu bạn cần hỗ trợ thêm về bài tập mảng 1 chiều trong Pascal hoặc các vấn đề liên quan đến lập trình, đừng ngần ngại liên hệ với chúng tôi:
- Số Điện Thoại: 02033846993
- Email: [email protected]
- Địa chỉ: X2FW+GGM, Cái Lân, Bãi Cháy, Hạ Long, Quảng Ninh, Việt Nam.
Chúng tôi có đội ngũ chăm sóc khách hàng 24/7 sẵn sàng giải đáp mọi thắc mắc của bạn.