Giáo án điện tử tin học lớp 11MẢNG MỘT CHIỀU KIểU Dữ LIệU Có CấU TRúC ChươngưIV Bàiư11: KIểU Dữ LIệU Có CấU TRúC ChươngưIV KIểU Dữ LIệU Có CấU TRúC... Nhập vào nhiệt độ trung bình của
Trang 2Giáo án điện tử tin học lớp 11
MẢNG MỘT CHIỀU
KIểU Dữ LIệU Có CấU TRúC
ChươngưIV
Bàiư11:
KIểU Dữ LIệU Có CấU TRúC
ChươngưIV
KIểU Dữ LIệU Có CấU TRúC
Trang 3 Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần Tính và đ a ra màn hình nhiệt độ trung bình của tuần và số l ợng ngày có nhiệt độ cao hơn nhiệt trung bình trong tuần?
* Dữ liệu nhập vào (INPUT): t1,t2,t3,t4,t5,t6,t7
* Dữ liệu cần tính và in ra (OUTPUT): tb, dem
Hãyưxácưđịnhư
Inputưvàư
Outputưưcủaưbàiư
toánưtrênư?
Bài toán đặt vấn đề:
Trang 4Program vd1;
Uses crt;
Var
t1,t2,t3,t4,t5,t6,t7,tb : real;
dem : integer;
BEGIN
Clrscr;
write(‘ Nhap vao nhiet do 7 ngay : ‘);
readln(t1,t2,t3,t4,t5,t6,t7);
tb : = (t1+t2+t3+t4+t5+t6+t7)/7;
dem : = 0 ;
if (t1>tb) then dem := dem + 1;
if (t2>tb) then dem := dem + 1;
if (t3>tb) then dem := dem + 1;
if (t4>tb) then dem := dem + 1;
if (t5>tb) then dem := dem + 1;
if (t6>tb) then dem := dem + 1;
if (t7>tb) then dem : = dem + 1;
Writeln(‘ Nhiet do trung binh trong tuan = ‘,tb : 6 : 2); Writeln(‘ so ngay co nhiet do cao hon nhiet do tb ‘, dem); Readln;
END
Trang 5hãyưchoưbiếtưnếuư
muốnưtínhưnhiệtưđộư
trungưbìnhưcủaưNưngàyư
trongưnămư(VD:ư
N=365)ưthìưsẽưgặpưkhóư
khănưgìư?
Khaiưbáoưquáưưlớnư (t1,t2,t3, ,t365)ưvàư chươngưtrìnhưquáư dàiư(vớiư365ưlệnhư
IF)ư!!!!!
ưư Đểưkhắcưphụcưkhóư
khănưđóưtaưsửưdụngư kiểuư
dữưliệuưmảngưmộtưchiều.
Trang 6 Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu
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ửưcủaưmảng:
Víưdụ:
ưưKiểuưdữưliệuưcủaưcácưphầnư
tử:
1 Khái niệm mảng một chiều
19
A.
7
Kiểuưnguyên
Víưdụ:ưưưA[5]ư=
19
Trang 72 Khai báo mảng một chiều trong PASCAL
*ưCáchư1:ưKhaiưbáoưgiánưtiếpư
TYPE <tên kiểu mảng> = array [<chỉ số đầu> <chỉ số cuối>] of <kiểu phần
tử>;
Var <ds biến mảng> : <tên kiểu mảng>;
Ví dụ: TYPE nhietdo = array [1 365] of integer;
Var A: nhietdo;
Trongưđóư : Chỉưsốưđầu,ưchỉưsốưcuốiưthườngưlàưcácưhằngưhoặcưbiểuưthứcưnguyên;
ưưưưưưChỉưsốưđầuư ≤ ưchỉưsốưcuối;
ưưưưưưGiữaư2ưchỉưsốưưlàưdấuư ư
*ưCáchư2:ưKhaiưbáoưtrựcưtiếpư
Var <Ds biến mảng> : array [<chỉ số đầu> <chỉ số cuối>] of <kiểu phần tử>;
Var M,N : array [1 100] of real;
Ví dụ: Var A : array [1 365] of integer;
Trang 83 Các thao tác xử lí trong mảng một chiều
A
n
1 Nhậpưsốưphầnưtửưcủaưmảngư(n) Write(‘Nhap so phan tu mang:’);
Readln(n);
2.ưNhậpưvàoưgiáưtrịưcủaưcácưphầnưtửưư
trongưmảngư ( A [i]).
For i:=1 to n do Begin
write(‘phan tu thu’ ,i, ’ : ’);
readln(A[i]);
end;
pascal
a.ưNhậpưmảngưmộtưchiều
vớiưnư=ư7
19 17
19 21
18 20
17
Víưdụ: Nhậpưnhiệtưđộư n ưngày ư
Trang 9Writeln(‘ Mang vua nhap : ’); For i:=1 to n do Write(A[i]:5);
Mang vua nhap:
- Th«ngb¸o
- Ingi¸trÞcñac¸cphÇntö
17 20 18 21 19 17 19
KÕtqu¶inramµnh×nh:
VÝdô: Inm¶ngvõanhËp.
3 C¸c thao t¸c xö lÝ trong m¶ng mét chiÒu
Trang 10dem :=0;
For i :=1 to n do
IF A[i]>TB then dem:=dem+1;
ưưc.ưĐếmưcácưphầnưtửưtrongưmảngưthỏaưmãnưđiềuưkiệnư
choưtrướcư
Víưdụ : Đếmưsốưngàyưcó ư nhiệtưđộư
caoưhơnưnhiệtưđộưTB ư củaư
tuần ư
TB = 18.7
Dem=0
7 6
5 4
3 2
1 i
19 17
19 21
18 20
17
A[i]
3 Các thao tác xử lí trong mảng một chiều
Trang 11Program vd1;
Uses crt;
Var
A: Array[1 366] of integer;
i,n,dem: integer;
S,TB : real ;
BEGIN
Clrscr;
write(‘ Nhap vao so ngay : ’) ; readln(n) ;
S := 0 ; For i := 1 to n do
Begin
write(‘ Nhap nhiet do ngay thu ‘,i,’ : ‘) ; readln(A[i]) ;
S:=S+A[i] ;
End;
TB := S/n ; dem := 0 ;
For i := 1 to n do
If A[i]>TB Then dem := dem+1;
Writeln(‘ Nhiet do trung binh ’ ,n,’ ngay = ‘,TB : 6 : 2) ; Writeln(‘ So ngay co nhiet do cao hon nhiet do TB la: ‘, dem) ; Readln ;
END.
Khai b ¸om¶ng1chiÒu
NhËpm¶ng1chiÒu TÝnhtæng
§ÕmsèphÇntötho¶ m·n®iÒukiÖn
Trang 12Nhap vao so ngay : 7
Nhap nhiet do ngay thu 1 : 17
Nhap nhiet do ngay thu 2 : 20
Nhap nhiet do ngay thu 3 : 18
Nhap nhiet do ngay thu 4 : 21
Nhap nhiet do ngay thu 5 : 19
Nhap nhiet do ngay thu 6 : 17
Nhap nhiet do ngay thu 7 : 19
Nhiet do trung binh 7 ngay = 18.70
So ngay co nhiet do cao hon nhiet do TB la: 4
Ch ¬ng tr×nh ch¹y vµ cho kÕt qu¶ nh sau:
Trang 131 M¶ng mét chiÒu:
2 Khai b¸o m¶ng mét chiÒu:
lµ mét d·y h÷u h¹n c¸c phÇn tö cïng kiÓu
Cã hai c¸ch
C¸ch 1:
TYPE <tªn kiÓu m¶ng> = array [<chØ sè ®Çu> <chØ sè
cuèi>] of <kiÓu phÇn tö>;
Var <ds biÕn m¶ng> : <tªn kiÓu m¶ng>;
C¸ch 2:
Var <Ds biÕn m¶ng> : array [<chØ sè ®Çu> <chØ sè
cuèi>] of <kiÓu phÇn tö>;