TÌM GIÁ TRỊ LỚN NHẤT VÀ NHỎ NHẤT CỦA DÃY SỐ. Bước 1.[r]
(1)(2)Bài 9
(3)BÀI 9: LÀM VIỆC VỚI DÃY SỐ 1 DÃY SỐ VÀ BIẾN MẢNG:
Ví dụ:
- Nhập lưu điểm cho học sinh
Write (‘Nhap diem= ‘); Readln(diem_1);
- Nhập lưu điểm cho học sinh
Khai báo biến sau:
Var diem_1: real;
Khai báo biến sau:
Var diem_1, diem_2: real;
- Nhập lưu điểm cho 50 học sinh sao?
Write (‘Diem hs 1= ‘); Readln(diem_1);
Write (‘Diem hs 2= ‘); Readln(diem_2);
(4)Những hạn chế:
Phải khai báo nhiều biến. Chương trình phải viết dài
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 50 = ‘); Readln(diem_50);
- Nhập lưu điểm cho 50 học sinh sao?
Khai báo n biến sau:
Var diem_1, diem_2, diem_3,
diem_4, , diem_50: real; Khắc phục hạn chế:
Lưu liệu liên quan biến nhất. Gán cho biến số.
Var
diem: array[1 50] of real;
……
For i:=1 to 50 Begin
write(‘diem hs’,i,’:’); readln(diem[i]);
End;
(5):
Dữ liệu kiểu mảng: Là tập hợp hữu hạn phần
tử có thứ tự, phần tử có kiểu
liệu.
Vậy biến mảng gì?
Biến mảng là biến khai báo kiểu liệu là kiểu mảng.
(6)2 VÍ DỤ VỀ BIẾN MẢNG:
Khi khai báo biến mảng cần rõ yếu tố
nào?
Khai báo mảng cần rõ: + Tên biến mảng.
+ Số lượng phần tử.
+ Kiểu liệu chung phần tử.
17 20 24 10 16 22 18
A
(7)17 20 24 10 16 22 18
A
Trong
Khi tham chiếu đến phần tử thứ i Ta viết A[i]
Tên mảng :
Số phần tử mảng:
22
Kiểu liệu phần tử:
A
7
Kiểu nguyên
A[6] =22
(8)Var <tên biến mảng>: array[<chỉ số đầu> <chỉ
số cuối>] of <kiểu liệu>;
Cú pháp khai báo mảng:
Trong đó:
- Array, of từ khóa chương trình.
- <Tên biến mảng> người dùng đặt.
- <Chỉ số đầu> <= <chỉ số cuối> (Số nguyên)
- Kiểu liệu số nguyên số
thực
(9)Sử dụng khai báo mảng để khai báo cân nặng và chiều cao bạn học sinh lớp em
Bài làm:
Số lượng học sinh lớp bao nhiêu?
Cân nặng chiều cao thuộc kiểu
liệu nào?
BÀI 9: LÀM VIỆC VỚI DÃY SỐ Ví dụ:
(10)Đúng Sai Sai Sai
Sai
Cách khai báo biến sau pascal hay sai? Giải thích?
a) Var X: Array[10, 13] of integer; b) Var X: Array[5 10.5] of real;
c) Var X: Array[3.4 4.8] of integer; d) Var X: Array[10 1] of integer;
(11)(12)(13)3 TÌM GIÁ TRỊ LỚN NHẤT VÀ NHỎ NHẤT CỦA DÃY SỐ
Bước MAX a[1]; i
Bước i i +
Bước Nếu i > n, chuyển đến bước
Bước Nếu a[i] > MAX, MAXa[i]; Trong trường hợp ngược lại (MAX <= a[i]), giữ nguyên MAX Quay lại bước
Bước Kết thúc thuật toán
INPUT: Dãy A số a[1], a[2], , a[n] (n 1)
(14)(15)3 TÌM GIÁ TRỊ LỚN NHẤT VÀ NHỎ NHẤT CỦA DÃY SỐ
Bước MIN a[1]; i
Bước i i +
Bước Nếu i > n, chuyển đến bước
Bước Nếu a[i] < MIN, MINa[i] Trong trường hợp ngược lại (MIN >= a[i]), giữ nguyên MIN Quay lại bước
Bước Kết thúc thuật toán
INPUT: Dãy A số a[1], a[2], , a[n] (n 1)
(16)DẶN DÒ
- Về học này.