Bài 11. Kiểu mảng
Chia sẻ bởi Nguyễn Hiền |
Ngày 10/05/2019 |
106
Chia sẻ tài liệu: Bài 11. Kiểu mảng thuộc Tin học 11
Nội dung tài liệu:
Bài 11:
Chương IV:
KIỂU MẢNG VÀ BIẾN CÓ CHỈ SỐ
Kiểu
Mảng
Thứ tự:
1
2
3
4
5
Tên :
An
Bình
Cường
Dũng
Emanuel
Một số
qui định
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ử
MẢ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ử
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
HÃ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);
dem := 0;
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.
Nế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 ?
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
readln(T[i]);
Tong := Tong + T[i]
End;
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.
GHI
NHỚ
Khai báo mảng một chiều
VAR : ARRAY[Kiểu chỉ số]
OF ;
Cách 1:
Cách 2:
TYPE = ARRAY[Kiểu chỉ số]
OF ;
VAR : :
?
TRONG ĐÓ:
TYPE : töø khoùa khai baùo teân kieåu maûng
VAR : töø khoùa khai baùo teân bieán kieåu maûng
ARRAY : töø khoùa khai baùo maûng
Kieåu chæ soá : ñoaïn soá nguyeân lieân tuïc coù n1..n2
Kieåu thaønh phaàn: kieåu döõ lieäu cuûa phaàn töû maûng.
* Caùch 1: Type Tuoi = ARRAY[1..N] OF Byte;
nhiet_do = ARRAY[1..200] Of real ;
Var T : Tuoi , ND : nhhiet_do ;
* Caùch 2: Var T : ARRAY[1..N] OF Byte;
ND : ARRAY[1..200] Of real ;
Ví dụ:
Truy xuất phần tử mảng
?
Để truy xuất phần tử của mảng, ta viết :
Ví dụ:
Tuoi
25
27
24
38
19
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
Chương IV:
KIỂU MẢNG VÀ BIẾN CÓ CHỈ SỐ
Kiểu
Mảng
Thứ tự:
1
2
3
4
5
Tên :
An
Bình
Cường
Dũng
Emanuel
Một số
qui định
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ử
MẢ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ử
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
HÃ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);
dem := 0;
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.
Nế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 ?
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
readln(T[i]);
Tong := Tong + T[i]
End;
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.
GHI
NHỚ
Khai báo mảng một chiều
VAR
OF
Cách 1:
Cách 2:
TYPE
OF
VAR
?
TRONG ĐÓ:
TYPE : töø khoùa khai baùo teân kieåu maûng
VAR : töø khoùa khai baùo teân bieán kieåu maûng
ARRAY : töø khoùa khai baùo maûng
Kieåu chæ soá : ñoaïn soá nguyeân lieân tuïc coù n1..n2
Kieåu thaønh phaàn: kieåu döõ lieäu cuûa phaàn töû maûng.
* Caùch 1: Type Tuoi = ARRAY[1..N] OF Byte;
nhiet_do = ARRAY[1..200] Of real ;
Var T : Tuoi , ND : nhhiet_do ;
* Caùch 2: Var T : ARRAY[1..N] OF Byte;
ND : ARRAY[1..200] Of real ;
Ví dụ:
Truy xuất phần tử mảng
?
Để truy xuất phần tử của mảng, ta viết :
Ví dụ:
Tuoi
25
27
24
38
19
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
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Hiền
Dung lượng: |
Lượt tài: 12
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)