1. Trang chủ
  2. » Lịch sử

TIN HỌC 11 BÀI 11 MẢNG MỘT CHIỀU

18 24 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 18
Dung lượng 3,31 MB

Nội dung

MẢNG MỘT CHIỀU... MẢNG MỘT CHIỀU..[r]

(1)

C

ov

y

kh

ôn

g

g

ì

Bµi 11

MNG MT CHIU Tit 1

Giáo án điện tử tin häc líp 11

Giáo viên: Phan Đình Trung

(2)

Nhập vào nhiệt độ (trung bình) ngày tuần Tính đ ưa màn hình nhiệt độ trung bình tuần số lượng ngày có nhiệt độ TB cao hơn nhit 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

bài tốn?

Bài toán đặt vấn đề:

(3)

Progran Nhietdo;

Uses Crt;

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

Begin

Clrscr;

Writeln(‘Nhap vao nhiet cac tuan:’); 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 trung binh tuan:’, tb:6:2);

Writeln(‘So nhiet lon nhiet tb tuan’, dem:6); Readln;

(4)

Quan sát ch ơng trình, hÃy cho biÕt nÕu muèn tÝnh nhiÖt

độ trung bình N ngày năm (VD: N=365) thỡ s gp khú

khăn ?

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

IF) !!!!!

(5)

M¶ng mét chiỊu dÃy hữu hạn phần tử kiểu

23 20 24 27 19 22 19

A

4 5 6 7

Trong :

 Khi tham chiếu đến phần tử thứ i ta viết A[i].

Ví dụ: A[5] = 18

Tên mảng : A.

Số phần tử mảng: 7.

Ví dụ:

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

18

1 Khái niệm

(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;

VÝ dô: Var nhietdo : array[1 365] of integer;

(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 22 18 27 24 20 23

Ví dụ: Nhập nhiệt độ n ngày.

Đề mô

(8)

b In m¶ng mét chiỊu

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

Mang vua nhap:

- Thông báo

- In giá trị phần tử

23 20 24 27 18 22 19

Kết in hình:

Ví dụ: In m¶ng võa nhËp.

Đề mơ

(9)

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, 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;

(10)

THANKS

(11)(12)

C

ov

y

kh

ôn

g

g

ì

Bµi 11

MẢNG MỘT CHIỀU Tiết 2

Giáo án điện tử tin học lớp 11

Giỏo viên: Phan Đình Trung

(13)

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 = 21.86

Dem=0 7 6 5 4 3 2 1 i 19 22 18 27 24 20 23 A[i]

1 2 3 4

23 27

+1 +1 +1

* Đếm phần tử thỏa mãn điều kiện cho trước

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

22 24

(14)

Program Nhietdo;

Uses crt;

Var

A: Array[1 365] 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

Đếm số phần tử thoả mÃn điều kiện

(15)

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

S = 45

* Tính tổng phần tử mảng thỏa mãn điều kiện cho trước

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

(16)

Program Chia3;

Uses crt;

Var

A: Array[1 100] of integer; i,n,s: integer;

BEGIN

Clrscr;

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

For i := to n Begin

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

End; s:=0;

For i := to n

If A[i] mod 3=0 Then s:=s+a[i[;

Writeln(‘Tong can tim la: ‘,s : 6) ; Readln ;

END.

Khai báo mảng chiều

Nhập m¶ng chiỊu

Tính tổng phần tử chia hết cho 3

Đề mô

(17)

Max :=a[1]; Csmax:=1; For i :=2 to n IF A[i]>Max then

Begin

Max:= A[i]; Csmax:=i; End; 19 12 18 25 16 20 15 Max:=15

Ví dụ tốn:Tìm phần tử lớn dãy số nguyên

Input: Số nguyên dương N (N<=250) dãy N số nguyên dương A1, A2, …An, mỗi số không 500.

Output: Chỉ số giá trị phần tử lớn dãy số cho (nếu có nhiều phần tử lớn cần đưa số chúng

1 2 3 4 5 6 7

(18)

THANKS

Ngày đăng: 02/02/2021, 06:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN