• Tính tuổi trung bình của mỗi học sinh trong dãy 5 học sinh đã cho và cho biết có bao nhiêu học sinh có tuổi lớn hơn độ tuổi trung bình... Phần khai báo Nhập tuổi Tính và xuất TB Kiểm t
Trang 1Bài 11:
Chương IV:
KIỂU MẢNG
VÀ BIẾN CÓ
Mảng
Trang 2Thứ tự: 1 2 3 4 5
Tên : An Bình Cường Dũng Emanuel
Một số qui định
Trang 3Thứ tự: 1 2 3 4 5
Tên : An Bình Cường Dũng Emanuel
NHẬN XÉT: Hình trên cho thấy :
- Một dãy gồm 5 phần tử
- Thứ tự mỗi phần tử
- Tên của mỗi phần tử
Trang 4MẢNG MỘT CHIỀU CŨNG CÓ MỘT SỐ YẾU TỐ TƯƠNG TỰ :
• - Tên kiểu mảng một chiều
• - Số lượng phần tử
• - Kiểu dữ liệu của phần tử
• - Cách khai báo biến mảng
• - Cách tham chiếu đến phần tử
Trang 5• Tính tuổi trung bình của mỗi học sinh trong dãy 5 học sinh đã cho và cho biết có bao nhiêu học sinh có tuổi lớn hơn độ tuổi trung bình Biết mỗi học sinh có một độ tuổi riêng ?
Bài toán:
Tuổi : 25 27 24 38 19
Trang 6HÃY LẬP TRÌNH BÀI TOÁN BẰNG KIẾN THỨC ĐÃ HỌC ?
• Var a,b,c,d,e,dem : integer ;
• Tuoi_tb : real;
• Begin
• Readln(a,b,c,d,e);
• Tuoi_tb := (a+b+c+d+e)/5;
• Write(tuoi_tb);
• If a>tuoi_tb then dem := dem+1;
• If b>tuoi_tb then dem := dem+1;
• If c>tuoi_tb then dem := dem+1;
• If d>tuoi_tb then dem := dem+1;
• If e>tuoi_tb then dem := dem+1;
• Writeln(dem);
• End
Phần khai báo
Nhập tuổi Tính và xuất TB
Kiểm tra và xuất số lượng người có
tuổi>TB
Trang 7Nếu giải bài toán tương tự như trên với
100 hay 1000 người thì sao
nhỉ?
Phức tạp lắm đây nếu làm theo cách cũ!
Có cách nào khác hay hơn
không ?
Trang 8• Program VD;
• Const N=10;
• Type Tuoi = ARRAY[1 N] OF Byte;
• Var T : Tuoi ; i, dem : byte; Tong, tb : real;
• Begin
• Tong := 0 ; dem := 0 ;
• For i:=1 to N do Begin
• tb := Tong/N ;
• For i:=1 to N do If T[i] > tb Then dem := dem+1;
• Write(‘so HS co tuoi > tb la : ‘,dem);
• End
Trang 9GHI
NHỚ
Khai báo mảng một chiều
VAR <tên biến mảng> : ARRAY[Kiểu chỉ số]
OF <Kiểu phần tử> ;
Cách 1:
Cách 2:
TYPE <tên kiểu mảng> = ARRAY[Kiểu chỉ số]
OF <Kiểu phần tử> ; VAR <tên biến mảng> : <tên kiểu mảng>:
Trang 10TRONG ĐÓ:
TYPE : từ khóa khai báo tên kiểu
mảng
VAR : từ khóa khai báo tên biến kiểu
mảng
ARRAY : từ khóa khai báo mảng
Kiểu chỉ số : đoạn số nguyên liên tục có n1 n2
Kiểu thành phần: kiểu dữ liệu của
phần tử mảng.
Trang 11* Cách 1: Type Tuoi = ARRAY[1 N] OF Byte;
nhiet_do = ARRAY[1 200] Of real ;
Var T : Tuoi , ND : nhhiet_do ;
* Cách 2: Var T : ARRAY[1 N] OF Byte;
ND : ARRAY[1 200] Of real ;
Ví dụ:
Trang 12Truy xuất phần tử mảng
Để truy xuất phần tử của mảng, ta viết :
Tên biến mảng>[chỉ số]
<
Ví dụ:
Tuoi[2] cho biết giá trị của phần tử tại vị trí thứ hai là Tuoi[2] 27
Tuoi[5] cho biết giá trị của phần tử tại vị trí thứ hai là Tuoi[5] 19