1. Trang chủ
  2. » Địa lí lớp 10

Bài 11. Kiểu mảng

13 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 887 KB

Nội dung

NhËp vµo nhiÖt ®é (trung b×nh) cña mçi ngµy trong tuÇn.[r]

(1)

Bµi 12

(2)

Nhập vào nhiệt độ (trung bình) ngày tuần Tính đ a hình nhiệt độ trung bình tuần số l ợng ngày có nhiệt độ TB cao nhiệt trung bình tun?

* Dữ liệu nhập vào (INPUT): t1,t2,t3,t4,t5,t6,t7.

* Dữ cần tính in (OUTPUT): tb, dem.

Hãy xác định Input, Output

viết ch ơng trình giải toán ?

(3)

Program vd1;

Uses crt;

Var

t1,t2,t3,t4,t5,t6,t7,tb : real; dem : integer;

BEGIN

Clrscr;

write( Nhap vao nhiet : );‘ ’ readln(t1,t2,t3,t4,t5,t6,t7);

tb : = (t1+t2+t3+t4+t5+t6+t7)/7;

dem : = ;

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 trung binh tuan = ,tb : : 2);‘ ‘ Writeln( so co nhiet cao hon nhiet tb , dem);‘ ‘ Readln;

(4)

Quan sát ch ơng trình, hãy cho biết muốn tính nhiệt độ trung bình N ngày

trong năm (VD: N=365) gặp khó

khăn ?

Khai báo lớn (t1,t2,t3, ,t365) ch ơng trình dµi (víi 365 lƯnh

IF) !!!!!

Để khắc phục khó

(5)

Mảng chiều dÃy hữu hạn phần tư cïng kiĨu

17 20 18 25 19 12 19

A

1 2 3 4 5 6 7

Trong :

Khi tham chiếu đến phần tử thứ i ta viết A[i]. Ví dụ: A[5] = 19

Tên mảng : A.

Số phần tư cđa m¶ng: 7.

VÝ dơ:

KiĨu liệu phần tử: Kiểu nguyên.

19

(6)

2 Khai báo mảng chiều PASCAL

* C¸ch 1: Khai b¸o gi¸n tiÕp

TYPE <tên kiểu mảng> = array[<chỉ số đầu> <chØ sè ci>] of <kiĨuphÇ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, số cuối th ờng biểu thc nguyờn;

Chỉ số đầu số cuối; Giữa số dÊu

* C¸ch 2: Khai b¸o trùc tiÕp

Var <Ds biÕn m¶ng> : array[<chØ sè ®Çu> <chØ sè ci>] of <kiĨuphÇn tư>;

Var A,B : array[1 100] of real;

(7)

3 Các thao tác xử lí mảng mét chiÒu

A

n

1 NhËp số phần tử mảng (n). Write( Nhap vao so ngay:);

Readln(n);

2 Nhập vào giá trị phần tử trong mảng (A[i]).

For i:=1 to n Begin

write(‘nhiet thu’ ,i, ’ : ’); readln(A[i]);

end;

C¸c b íc ThĨ hiƯn b»ng pascal

a NhËp m¶ng mét chiỊu

víi n = 7

19 17 19 21 18 20 17

(8)

b In m¶ng mét chiỊu

Writeln(‘ Mang vua nhap : ’); For i:=1 to n Write(A[i]:5);

Mang vua nhap:

- Thông báo

- In giá trị phần tử

17 20 18 21 19 17 19

KÕt qu¶ in hình:

(9)

* Đếm phần tử mảng thoả mÃn điều kiện cho tr íc

dem :=0;

For i :=1 to n

IF A[i]>TB then dem:=dem+1;

c C¸c thao t¸c xư lÝ kh¸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]

0 1 1 2 3 3 4

20 21 19 19

(10)

Program vd1;

Uses crt;

Var

A: Array[1 366] of integer; i,n,dem: integer;

S,TB : real ;

BEGIN

Clrscr;

write(‘ Nhap vao so : ’) ; readln(n) ;

S := ;

For i := to n Begin

write(‘ Nhap nhiet thu ‘,i,’ : ‘) ; readln(A[i]) ;

S:=S+A[i] ;

End;

TB := S/n ; dem := ;

For i := to n

If A[i]>TB Then dem := dem+1;

Writeln(‘ Nhiet trung binh ’ ,n,’ = ‘,TB : : 2) ;

Writeln(‘ So co nhiet cao hon nhiet TB la: ‘, dem) ; Readln ;

END.

Khai báo mảng chiều

NhËp m¶ng chiỊu TÝnh tỉng

(11)

Nhap vao so : 7

Nhap nhiet thu : 17

Nhap nhiet thu : 20

Nhap nhiet thu : 18

Nhap nhiet thu : 21

Nhap nhiet thu : 19

Nhap nhiet thu : 17

Nhap nhiet thu : 19

Nhiet trung binh = 18.70

So co nhiet cao hon nhiet TB la: 4

(12)

Thông th ờng, thao tác xử lí mảng chiều dùng câu lệnh FOR DO.

* Tính tổng các phần tử mảng thoả mÃn điều kiện cho tr ớc

Ví dụ: Tính tổng các phần tử trong mảng chia hÕt cho 3.

S :=0;

For i :=1 to n

IF A[i] mod = 0 then S:=S+A[i];

19 12

18 25

16 20

15

(13)

HÃy nhớ!

Mảng chiều dÃy hữu hạn phần tử kiểu

Khai báo: tên mảng, số đầu, chỉ sè ci, kiĨu phÇn tư

 Tham chiÕu phần tử mảng:

Tên biến mảng[chỉ số phần tử]

Nhiều thao tác xử lí mảng dïng cÊu tróc lỈp FOR TO DO.

15 20 19 25 18 12 16

Var A:ARRAY[1 100] OF integer;

Ngày đăng: 05/03/2021, 20:42

w