Việc sắp thứ tự thực hiện bằng cách gán cho mỗi phần tử một chỉ số.. (số nguyên).[r]
Trang 1LOGO
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Trang 2Làm việc với dãy số
Ví dụ về biến mảng
2
Dãy số và biến mảng
31
Tìm giá trị lớn nhất và nhỏ nhất
33
Trang 3Làm việc với dãy số
Ví dụ 1:
Viết chương trình nhập
điểm kiểm tra của 50 học
sinh trong lớp
- Nhập và lưu điểm
cho một học sinh
Write (‘Nhap diem= ‘); Readln(diem_1);
Khai báo 1 biến như sau:
Var diem_1: real;
- Nhập và lưu điểm cho 2
học sinh
Khai báo 2 biến như sau:
Var diem_1, diem_2: real;
Write (‘Diem hs 1= ‘); Readln(diem_1); Write (‘Diem hs 2= ‘); Readln(diem_2);
Dãy số và biến mảng
31
Trang 4Ví dụ 2:
Viết chương trình nhập
điểm kiểm tra của các học
sinh trong lớp
- Nhập và lưu điểm
cho một học sinh
- Nhập và lưu điểm cho 2
học sinh
Nhập và lưu điểm cho
50 học sinh thì sao?
?
Khai báo n biến như sau:
Var diem_1, diem_2, diem_3, diem_4, , diem_50: real;
Write (‘Diem hs 1= ‘); Readln(diem_1);
Write (‘Diem hs 2= ‘); Readln(diem_2);
Write (‘Diem hs 3= ‘); Readln(diem_3);
Write (‘Diem hs 4= ‘); Readln(diem_4);
……
……
Write (‘Diem hs n= ‘); Readln(diem_50);
Những hạn chế:
Phải khai báo quá nhiều biến
Chương trình phải viết khá dài
Làm việc với dãy số
Dãy số và biến mảng
31
Trang 5Làm việc với dãy số
Em hiểu 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ử đều có cùng kiểu dữ
liệu (số nguyên hoặc số thực) Việc sắp thứ tự thực
hiện bằng cách gán cho mỗi phần tử một chỉ số (số nguyên)
Vậy em hiểu biến
mảng là gì?
? Biến mảng: khi khai báo một biến có kiểu dữ liệu là
kiểu mảng, biến đó được gọi là biến mảng
Giá trị của biến mảng là một mảng, tức một dãy số (số nguyên, hoặc số thực)
Vậy:
Khắc phục những hạn chế:
Lưu các dữ liệu liên quan bằng một biến duy nhất Đặt chung 1 tên và đặt cho mỗi phần tử một chỉ số
Dãy số và biến mảng
31
Trang 6Làm việc với dãy số
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
Tương tự, mảng B cũng giống như dãy nhà B một tầng có 4 phòng được đánh số thứ tự là các chữ a, b,
c, d :
Dãy số và biến mảng
31
Mảng thứ nhất tên là A,
gồm 11 phần tử cùng kiểu
Real, ứng với các chỉ số
0, 1, 2, , 10, đó là:
Mảng thứ hai tên là
HTen gồm 5 phần tử cùng
kiểu dữ liệu là String[18]
ứng với các chỉ số từ 1 đến
5:
Mảng thứ ba tên là B,
gồm 4 phần tử cùng kiểu
Integer ứng với các chỉ
số ‘a’, ‘b’, ‘c’, ‘d’:
A[0], A[1], A[2], , A[10]
Hten[1], Hten[2], Hten[3], Hten[4], Hten[5]
B[‘a’], B[‘b’], B[‘c’], B[‘d’]
Ví dụ 3:
Ðể có một hình ảnh về mảng, đối với mảng A, ta hình dung có một dãy nhà một tầng, tên gọi là dãy A, gồm 11 phòng liên tiếp giống hệt nhau được đánh số thứ tự từ 0,1, 2, , đến 10 :
Trang 7Làm việc với dãy số
Ví dụ về biến mảng
2
A
1 2 3 4 5 6 7
? Khi khai báo biến mảng cần chỉ rõ
điều gì?
Khai báo mảng cần chỉ rõ:
+ 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ử
Trong đó:
+ Khi tham chiếu đến phần tử thứ i Ta viết A[i]
+ Tên mảng :
+ Số phần tử của mảng:
+ Kiểu dữ liệu của các phần tử:
A
7
Kiểu nguyên
A[6] = 22
22
Trang 8Làm việc với dãy số
Ví dụ về biến mảng
2
Var <tên biến mảng>: array[<chỉ số đầu> <chỉ số cuối>]
of <kiểu dữ liệu>;
Var <tên biến mảng>: array[<chỉ số đầu> <chỉ số cuối>]
of <kiểu dữ liệu>;
Cấu trúc, cú pháp khai
báo mảng:
Trong đó:
Array, of là từ khóa của chương trình
Tên biến mảng do người dùng đặt
Chỉ số đầu phải <= chỉ số cuối (Số nguyên)
Kiểu dữ liệu có thể là số nguyên hoặc số thực
Trang 9Làm việc với dãy số
Ví dụ về biến mảng
2
Chiều cao và tuổi thuộc
những kiểu dữ liệu nào?
Var Chieucao: array[1 50]of real;
Var Tuoi: array[1 50]of integer;
Var diem: array[1 50] of real;
……
For i:=1 to 50 do Begin
write(‘diem hs’,i,’:’);
readln(diem[i]);
End;
Chương trình nhập điểm
kiểm tra của các học sinh
trong lớp
Trang 10
Làm việc với dãy số
Ví dụ về biến mảng
2
Program vidu;
Var diemtin: array [1 10] of real;
i:integer;
Begin Diemtin[1]:=5;
Diemtin[10]:=5;
for i:=2 to 9 do begin
write('diemtin =');
readln(diemtin[i]); end;
For i:=1 to 10 do writeln(diemtin[i]:6:2); Readln
End
Ví dụ 4:
Em hãy khai báo mảng diemtin gồm
10 phần tử Nhập dữ liệu cho diemtin
biết phần tử đầu tiên và cuối cùng
luôn mang giá trị bằng 5 Các phần
tử còn lại có giá trị bất kì được nhập
từ bàn phím.
Sử dụng lệnh gán để gán giá trị 5 cho phần tử đầu và cuối.
Sử dụng lệnh lặp for to do để nhập dữ liệu cho các phần tử còn
lại (2=>9).
Xuất nội dung của mảng ra màn
hình sau khi nhập dữ liệu.
Trang 12Làm việc với dãy số
Tìm giá trị lớn nhất
và nhỏ nhất của
dãy số
3
Em hãy nêu thuật toán
để tìm số nhỏ nhất và
số lớn nhất trong dãy
số?
Ai>Max S S Đ S S Đ S Kết
thúc
?
?
Trang 13Làm việc với dãy số
Var i,n,max,min:Integer;
A : Array [1 100] of Integer;
BEGIN
Write(‘ Hay nhap do dai cua day so, N= ‘);Readln(n); Writeln(‘Hay nhap cac phan tu cua day so ‘);
For i:=1 to n do Begin Write(‘a[ ‘,i,’] =‘);readln(a[i]); End;
Max := a[1] ; Min := a[1];
For i:=2 to n do Begin
If max < a[i] then Max:=a[i];
If Min >a[i] then Min:=a[i];
End;
Writeln (‘So lon nhat la Max =‘,max);
Writeln(‘So nho nhat la Min =‘,min);
Readln;
END.
Phần khai báo
{Phần thân chương trình}
Trang 14Var X: Array[3.4 4.8] of Integer;
Var X: Array[10 1] of Integer;
Var X: Array[4 10] of Real;
Var X: Array[10 , 13] of Real;
A
B
C
D
BT1: Em hãy chọn khai báo biến mảng đúng
trong các khai báo sau:
30 98 76543210
Bài tập 1
Trang 15HƯỚNG DẪN VỀ NHÀ
1 Xem lại cách khai báo mảng, sử dụng khai báo trong những trường hợp nào
2 Làm các bài tập: 1; 3 trang 79 SGK,9.1->9.4 SBT
3 Xem nội dung còn lại trong SGK chuẩn bị tiết sau.