Tham chiếu đến phần tử mảng một chiều: Được xác định bởi tên biến mảng một chiều cùng với chỉ số, chỉ số được đặt trong cặp dấu ngoặc [ ].. Một số ví dụ:[r]
Trang 1§11 KIỂU MẢNG MỘT CHIỀU
1 Khái niệm kiểu Mảng một chiều:
Là dãy hữu hạn các phần tử cùng kiểu Mảng được đặt tên và các phần tử của nó có một chỉ số
* Qui tắc và cách thức cho phép xác định:
Tên kiểu mảng một chiều
Số lượng phần tử
Kiểu DL của phần tử
Cách khai báo biến mảng
Cách tham chiếu đến phần tử
Ví dụ:
Program Nhietdo_Tuan ;
Var t1,t2,t3,t4,t5,t6,t7,tb : real ;
Dem : integer ;
Begin
Write(‘ Nhap vao nhiet do cua 7 ngay: ‘);
Readln(t1,t2,t3,t4,t5,t6,t7);
Dem := 0 ; tb:= (t1+t2+t3+t4+t5+t6+t7) / 7 ;
If t1 > tb then dem:= dem + 1;
If t2 > tb then dem:= dem + 1;
If t3 > tb then dem:= dem + 1;
If t4 > tb then dem:= dem + 1;
If t5 > tb then dem:= dem + 1;
If t6 > tb then dem:= dem + 1;
If t7 > tb then dem:= dem + 1;
Writeln(‘ Nhiet do trung binh la: ‘ , TB) ;
Writeln(‘ So ngay nhiet do cao hơn TB: ‘ , Dem);
Readln ;
End
2 Khai báo:
VAR <Tên_kiểu_mảng> : ARRAY[Kiểu chỉ số] OF <Kiểu phần tử > ;
VD:
VAR B : Array[1 10] of integer ;
Tham chiếu đến phần tử mảng một chiều: Được xác định bởi tên biến mảng một chiều cùng với chỉ số, chỉ số được đặt trong cặp dấu ngoặc [ ]
Để tham chiếu (truy xuất) đến phần tử thứ i trong mảng ta dùng cú pháp:
Tên_biến_mảng[i];
VD1: Nhietdo[2]:=25; Nhietdo[5]:=26; {Gán giá trị cho biến mảng}
Readln(a[i]); {Nhập giá trị từ bàn phím }
3 Nhập và xuất dữ liệu mảng một chiều:
* Giả sử mảng A có N phần tử đã được khai báo trước đó Câu lệnh nhập dữ liệu cho mảng A như sau:
For i:=1 To N Do
Readln(A[i]);
Hoặc
Trang 2For i:=1 To N Do
begin
write(‘nhap gia tri A[’,i,’]: ‘);
Readln(A[i]);
End;
* Xuất dữ liệu mảng một chiều ra màn hình: For i:=1 To N Do
Writeln(A[i]);
4 Một số ví dụ:
VD: Tìm phần tử lớn nhất của dãy số nguyên
program Tim_max ;
Uses CRT;
Var i, n, Max : integer;
A : array[1 100] of Integer ;
Begin
clrscr ;
write(‘Cho biết số phần tử của dãy: ’); readln(n); for i:=1 to n do
begin
write(‘Phần tử thứ ‘,i ,‘: ’);
readln(a[i]);
end;
max:= a[1] ; csmax := 1 ; {Tìm giá trị lớn nhất }
for i := 2 to n do
if max < a[i] then
max := a[i];
writeln(‘Gia tri lon nhat la: ’,max);
readln;
End