TÌM GIÁ TRỊ LỚN NHẤT VÀ NHỎ NHẤT CỦA DÃY SỐ. Bước 1.[r]
Trang 2Bài 9
LÀM VIỆC VỚI DÃY SỐ
Trang 3BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1 DÃY SỐ VÀ BIẾN MẢNG:
Ví dụ:
- Nhập và lưu điểm
cho một học sinh
Write (‘Nhap diem= ‘);
Readln(diem_1);
- Nhập và lưu điểm
cho 2 học sinh
Khai báo 1 biến như sau:
Var diem_1: real;
Khai báo 2 biến như sau:
Var diem_1, diem_2: real;
- Nhập và lưu điểm cho 50 học sinh thì sao?
Write (‘Diem hs 1= ‘);
Readln(diem_1);
Write (‘Diem hs 2= ‘);
Readln(diem_2);
Viết chương trình nhập điểm kiểm tra của các học sinh trong lớp.
Trang 4Nhữ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
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 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;
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
Gán cho mỗi biến một chỉ số
Var diem: array[1 50] of real;
……
For i:=1 to 50 do Begin
write(‘diem hs’,i,’:’);
readln(diem[i]);
End;
DỮ LIỆU KIỂU MẢNG
Trang 5Dữ 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 một kiểu dữ liệu.
Vậy biến mảng là gì?
Biến mảng là biến được khai báo kiểu dữ liệu
là kiểu mảng.
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1 DÃY SỐ VÀ BIẾN MẢNG:
Trang 62 VÍ DỤ VỀ BIẾN MẢNG:
Khi khai báo biến mảng cần chỉ rõ những yếu tố
nào?
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ử.
17 20 24 10 16 22 18
A
1 2 3 4 5 6 7 BÀI 9: LÀM VIỆC VỚI DÃY SỐ
Trang 717 20 24 10 16 22 18
A
1 2 3 4 5 6 7
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:
22
Kiểu dữ liệu của các phần tử:
A
7
Kiểu nguyên
A[6] =22
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
Ví dụ:
Trang 8Var <tên biến mảng>: array[<chỉ số đầu> <chỉ
số cuối>] of <kiểu dữ liệu>;
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> <= <chỉ số cuối> (Số nguyên)
- Kiểu dữ liệu có thể là số nguyên hoặc số thực.
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
2 VÍ DỤ VỀ BIẾN MẢNG:
Trang 9Sử dụng khai báo mảng để khai báo cân nặng
và chiều cao của các bạn học sinh trong lớp em.
Bài làm:
Số lượng học sinh trong
lớp là bao nhiêu?
Cân nặng và chiều cao thuộc những kiểu dữ
liệu nào?
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
Ví dụ:
Var Cannang: array [1 50] of real;
chieucao: array [1 50] of real;
Trang 10Đúng Sai Sai Sai Sai
Cách khai báo biến nào sau đây trong pascal đúng 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;
e) Var X: Array[4 10] of real;
Trang 133 TÌM GIÁ TRỊ LỚN NHẤT VÀ NHỎ NHẤT CỦA DÃY SỐ
Bước 1 MAX a[1]; i 1
Bước 2 i i + 1
Bước 3 Nếu i > n, chuyển đến bước 5
trường hợp ngược lại (MAX <= a[i]), giữ nguyên MAX Quay lại bước 2
Bước 5 Kết thúc thuật toán
INPUT: Dãy A các số a[1] , a[2] , , a[n] ( n 1).
OUTPUT: Giá trị MAX = max{ a[1] , a[2] , , a[n] }.
Trang 153 TÌM GIÁ TRỊ LỚN NHẤT VÀ NHỎ NHẤT CỦA DÃY SỐ
Bước 1 MIN a[1]; i 1
Bước 2 i i + 1
Bước 3 Nếu i > n, chuyển đến bước 5
trường hợp ngược lại (MIN >= a[i]), giữ nguyên MIN Quay lại bước 2
Bước 5 Kết thúc thuật toán
INPUT: Dãy A các số a[1] , a[2] , , a[n] ( n 1).
OUTPUT: Giá trị MAX = max{ a[1] , a[2] , , a[n] }.
Trang 16DẶN DÒ
- Về học bài này
- Trả lời các câu hỏi và bài tập trang 79 SGK