Tải bản đầy đủ (.ppt) (23 trang)

Bai 11 Kieu mang

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.54 MB, 23 trang )






* D÷
* D÷

BÀI TOÁN ĐẶT VẤN ĐỀ:
Xét bài toán nhập vào nhiệt độ (trung bình) ban
ngày của 7 ngày liên tiếp (từ thứ 4 đến thứ 3 tuần
sau). Từ 9/12/2015 – 15/12/2015) ở Tp.Buôn Mê
Thuột , tính và đưa ra màn hình nhiệt độ trung
bình của tuần và số lượng ngày trong tuần có
nhiệt độ cao hơn nhiệt độ trung bình của tuần.

Hãy xác định Input
và Outputt1,t2,t3,t4,t5,t6,t7.
của bài
liƯu nhËp vµo (INPUT):
toaựn, vaứ vieỏt chửụng
trỡnh Pascal tb, dem.
cần tính và in ra (OUTPUT):


Dự báo nhiệt độ trong 7 ngày (từ 9/12/2015 – 15/12/2015)

Lưu ý: Chỉ xét nhiệt độ ban ngày không xét nhiệt độ ban đêm

Dự kiến:


+ Nhiệt độ trung bình: 32,29 oC
+ Số ngày có nhiệt độ cao hơn nhiệt độ trung bình: 4


1

Khai báo biến của bài này như
thế nào? ýù nghóa của các biến?

3

Cú pháp thực hiện việc nhập nhiệt độ của 7 ngày?
Công thức tính nhiệt độ trung
Cú pháp xuấbình?
t kết quả nhiệt độ trung bình của 7
ngày?
Cú pháp thực hiện công việc
đếm số lượng ngày trong 7
ngày có nhiệt độ cao hơn nhiệt
độ trung bình ?

2

4

5

Cú pháp xuất kết quả đếm số ngày to lớn hơn to trung bình của 7
ngày?


6


Khai báo biến t1,t2,t3,…,t365
quá dài dòng

3

Nếu nhập và tính trung
bình, đếm số lượng ngày
của 30 ngày (1 tháng) hay
1
365 ngày (1 năm) thì xảy
ra những vấn đề gì ?

Cú pháp thực hiện việc nhập nhiệt độ của 365 ngày quá dài
Công thức tính nhiệt độ trung bình quá
dài
Mất 365 câu cú pháp If – then
để thực hiện công việc đếm số
lượng ngày trong 365 ngày có
to cao hơn to trung bình

2

5

Dùng KIỂU MẢNG
có thể khắc phục
được những khó

khăn này!


Nghiên cứu SGK, em hãy
cho biết MẢNG MỘT
CHIỀU là gì?

+
kiểu.

Mảng một chiều là dãy hữu hạn các phần từ cùng

Ví dụ: Mảng nhiệt độ của 7 ngày

A

17

20

18

25

19
19

1

2


3

4

5

12

19

6

7


Nghiên cứu SGK, em hãy
cho biết đặc điểm của
MẢNG MỘT CHIỀU ?

Mảng một chiều được đặt tên và mỗi phần tử của
nó có một chỉ số. Để mô tả mảng một chiều cần xác định
kiểu của các phần tử và cách đánh số các phần tử của nó.

+

A

17


20

18

25

19

1

2

3

4

5

12

19

6

7


Nghiên cứu SGK, em hãy
cho biết cách thức cho
phép xác định MẢNG

MỘT CHIỀU ?

Cách thức cho phép xác định:
•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ử;


Ví dụ:

B 17 35 20 18
1

2

3

4

25

19

12

19

5


6

7

8

Trong đó :
Tên mảng : B.
Số phần tử của mảng: 8.
Kiểu dữ liệu của các phần tử: Kiểu nguyên.


Nghiên cứu SGK, em hãy
cho biết cách khai báo
biến MẢNG MỘT CHIỀU
?

+ Có 2 cách khai báo trực tiếp và gián tiếp


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ểuphần tử>;
Var <ds biến mảng> : <tên kiểu mảng>;
Trong đó : Chỉ số đầu, chỉ số cuối 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 ..
VÝ dô:


TYPE nhietdo = array[1..366] of real;
Var A: nhietdo;

* 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ểuphần tử>;
Ví dụ:

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


Cách tham chiếu
tới phần tử của
mảng một chiều?
Xác định bởi tên mảng cùng với chỉ số, được
viết trong cặp dấu ngoặc [ và ].

+


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

Nhập mảng một chiều
Ví dụ: Nhập nhiệt độ n ngày.

Nhietdo

17


Các thao tác

20

18

.......
21

với nn= 7

1. Nhập số phần tử của mảng (n).

19

17

19

Thể hiện bằng pascal

Write('Nhap vao so ngay:');
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('nhiet do ngay thu ',i,' la: ');

readln(Nhietdo[i]);
end;


Các thao tác xử lí khác
* Đếm các phần tử trong mảng thoả mÃn điều kiện cho bất kỳ

Ví dụ: Đếm số ngày có nhiệt độ cao

dem :=0;

hơn nhiệt độ TB cđa tn.

For i :=1 to n do
IF Nhietdo[i]>TB then
dem:=dem+1;

i
Nhietdo[
i]
Dem=
0

1

2

3

4


5

6

7

17

20

18

21

19

17

19

0

1
+
1

1

3


2
+
1

+
1

3

4
+
1

TB = 18.7


Khai báo biến t1,t2,t3,…,t365
quá dài dòng

3

Vậy qua quá trình tìm
hiểu về lý thuyết và thao
tác của Kiểu mảng ta
1
khắc phục khó khăn của
ví dụ trước đó!

Cú pháp thực hiện việc nhập nhiệt độ của 365 ngày quá dài

Công thức tính nhiệt độ trung bình quá
dài
Mất 365 câu cú pháp If – then
để thực hiện công việc đếm số
lượng ngày trong 365 ngày có
to cao hơn to trung bình

5

2


Khai báo biến quá dài dòng!

1
2

Cú pháp thực hiện việc xuất ra thông báo nhập và nhập nhiệt độ từ
bàn phím của nhiều ngày quá dài!
3

Công thức tính nhiệt độ trung bình quá
dài
Quá nhiều câu lệnh If – then để thực hiện việc
đếm!

5


Củng cố kiến thức bài học

Câu hỏi 1: Khai báo trực tiếp biến mảng một chiều?
A. Var <tên biến mảng>:Array[kiểu phần tử] of <kiểu chỉ số>;
B. Var <tên biến mảng>=Array[kiểu chỉ số] of <kiểu phần tử>;
C. Var <tên biến mảng>:Array[kiểu chỉ số] of <kiểu phần tử>;
D. Var <tên kiểu mảng>:Array[kiểu chỉ số] of <kiểu phần tử>;

Tiếc
Bạn
chọn
sai
Hoanq
hơ …!
. Bạn
chọn
đúng
rồi
rồi !!

Làm lại Đáp án


Củng cố kiến thức bài học
Câu hỏi 2: Cách khai báo biến mảng một chiều hợp lệ:
A. Var nhietdo:Array[1…3] of integer;
B. Var A:Array[1..7] of integer;
C. Var chieucao=Array[1..80] of real;
D. Var B:Array[30] of integer;

Tiếc
Bạn

chọn
sai
Hoanquá
hô …!
. Bạn
chọn
đúng
rồi
rồi !!

Làm lại Đáp án



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×