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

Bài Giảng Làm Việc Với Dãy Số

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 (696.56 KB, 27 trang )


Bài 9: LÀM VIỆC VỚI DÃY SỐ

1. Dãy số và biến mảng

Ví dụ 1: Viết chương trình nhập điểm kiểm tra của các học
sinh trong một lớp và sau đó in ra màn hình điểm số cao nhất?

Giả sử lớp 81 có 40 học sinh.
Khi viết chương trình nhập điểm cho một lớp có 40 học
sinh, ta cần khai báo bao nhiêu biến, sử dụng bao nhiêu
lệnh Readln()?


Bài 9: LÀM VIỆC VỚI DÃY SỐ

1. Dãy số và biến mảng
Khi viết chương trình nhập điểm cho một lớp có 40 học
sinh, ta cần khai báo bao nhiêu biến, sử dụng bao nhiêu
lệnh Readln()?
Var Diem1, Diem2, Diem3, …, Diem40: Real;
Begin
Readln(Diem1);
Readln(Diem2);
….;
Readln(Diem40);
End.


Bài 9: LÀM VIỆC VỚI DÃY SỐ


1. Dãy số và biến mảng

Var

Diem1 , Diem2, Diem 3,

,

...

Diem 40 : Real;

Khi viết chương trình với bài toán
Cách khắc phục những
cần nhập với lượng dữ liệu lớn thì
hạn chế trên?
có những hạn chế gì?

DỮ LIỆU
KIỂU MẢNG

 Ghép
chung
40báo
biếnquá
trênnhiều
thành
một dãy.
 Phải
khai

biến.
 Đặt
1 tên
và tính
đặt cho
một
 chung
Chương
trình
toánmỗi
phảiphần
viết tử
khá
dàichỉ số.
diem
Chỉ số

8
1

9
2

7
3




10

40


Tiết 55. Bài 9: LÀM VIỆC VỚI DÃY SỐ
1. Dãy số và biến mảng
- Để giúp cho việc sắp xếp dữ liệu được thuận tiện và đơn giản, mọi
ngôn ngữ lập trình đều có một kiểu dữ liệu được gọi là kiểu mảng.
- Dữ liệu kiểu mảng: Là một tập hợp hữu hạn các phần tử có thứ tự,
mọi phần tử đều có cùng một kiểu dữ liệu gọi là kiểu của phần tử.


Var

Diem1 , Diem2, Diem 3,

diem

8

Chỉ số

1

9
2

,

...


7
3

Diem 40 : Real;




10
40


Tiết 55. Bài 9: LÀM VIỆC VỚI DÃY SỐ
1. Dãy số và biến mảng
- Để giúp cho việc sắp xếp dữ liệu được thuận tiện và đơn giản, mọi
ngôn ngữ lập trình đều có một kiểu dữ liệu được gọi là kiểu mảng.
- Dữ liệu kiểu mảng: Là một tập hợp hữu hạn các phần tử có thứ tự,
mọi phần tử đều có cùng một kiểu dữ liệu gọi là kiểu của phần tử.

- Biến mảng: Là khi khai báo một biến có kiểu dữ liệu là kiểu mảng,
biến đó được gọi là biến mảng
- Giá trị của biến mảng là một mảng, tức một dãy số có thứ tự,
mỗi số là giá trị của biến thành phần tương ứng.


Tiết 55. Bài 9: LÀM VIỆC VỚI DÃY SỐ
1. Dãy số và biến mảng
2. Ví dụ về biến mảng



THẢO LUẬN NHÓM
Câu hỏi 1: Tương tự như khai báo biến đơn, câu lệnh khai
báo mảng phải được thực hiện ở đâu?
Câu hỏi 2: Khi khai báo biến mảng trong mọi ngôn ngữ lập
trình cần chỉ rõ ít nhất yếu tố nào?

Thảo luận trong bàn. Thời gian 2 phút


THẢO LUẬN NHÓM
Câu hỏi 1: Tương tự như khai báo biến đơn, câu lệnh khai
báo mảng phải được thực hiện ở đâu?
- Khai báo biến mảng trong phần khai báo của chương trình
Câu hỏi 2: Khi khai báo biến mảng trong mọi ngôn ngữ
lập trình cần chỉ rõ ít nhất yếu tố nào?
- Khi khai báo biến mảng trong mọi ngôn ngữ lập trình
cần chỉ rõ:
+ Tên biến mảng
+ số lượng phần tử
+ kiểu dữ liệu chung của các phần tử


Ví dụ :
diem

ii

6

9


7

10

8

10
10

5

1

2

3

4

5

6

7

Các thành phần:
 Tên mảng :
 Số lượng phần tử của mảng: 7 phần tử
 Kiểu dữ liệu chung của các phần tử: Kiểu số thực

 Khi tham chiếu đến phần tử thứ i - ta viết: diem[ ]

diem[6] =10


Ví dụ 1:
Var chieucao : array[1..50] of real;

Ví dụ 2:
Var tuoi : array[21..80] of Integer;


Tiết 55. Bài 9: LÀM VIỆC VỚI DÃY SỐ
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
a) Cách khai báo
Var
Tênmảng: array[số đầu>..<chỉ số cuối>] of <kiểu dữ liệu>;
array
Trong đó:
+ array, of là từ khoá của chương trình
+ Tên mảng: Do người lập trình đặt tên
+ 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 hai chỉ số là dấu ..
+ Kiểu dữ liệu: kiểu của các phần tử mảng, integer hoặc
real.



Ví dụ :

diem

i

Var diem:array[1..7] of real;

6

9

7

10

8

10
10

5

1

2

3


4

5

6

7

Các thành phần:
 Tên mảng :
 Số lượng phần tử của mảng: 7 phần tử
 Kiểu dữ liệu chung của các phần tử: Kiểu số thực


Ví dụ:
A
chỉ số(i)

Trong đó:

23

19

57

49

85


22

99

|1|
|2|
|3|
|5|
|4|
|6|
|7|
A[1] A[2] A[3] A[4] A[5] A[6] A[7]

 Tên mảng : A
 Số phần tử của mảng: 7
 Kiểu dữ liệu của các phần tử: Kiểu nguyên
 Khi tham chiếu đến phần tử thứ i - ta viết A[i].
Ví dụ: A[6] = 22.


Ví dụ 1: Viết chương trình nhập điểm kiểm tra của các học
sinh trong 1 lớp sau đó in ra màn hình điểm số cao nhất?
a. Từ ví dụ 1, thực hiện việc khai báo các biến diem1, diem2,
…,diem40 bằng biến mảng?

Var diem : array[1..40]
of real;
array



Tiết 55. Bài 9: LÀM VIỆC VỚI DÃY SỐ
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
a) Cách khai báo
Var Tênmảng: array[số đầu>..<chỉ số cuối>] of <kiểu dữ liệu>;
array


Bài tập
1. Giả sử lớp em có 50 bạn, em thử:
khai báo một biến mảng có tên là diemtoan
Var diemtoan:array[1..50] of real;

2. khai báo một biến mảng có tên là diemvan
Var diemvan:array[1..50] of real;

3. khai báo một biến mảng có tên là diemli
Var diemli:array[1..50] of real;
Hoặc: Var diemtoan, diemvan ,diemli:array[1..50] of real;


diemtoan 8

6

7

6




….

….

….

7

8

6

9



….

….

….

diemvan 9

7

8


7



….

….

….

2

3

4



….

….

50

diemli

Chỉ số

1


Sau khi khai báo một mảng có thể làm việc với các phần
tử của nó như một biến thông thường như gán giá trị, đọc giá
trị và thực hiện tính toán với giá trị đó thông qua chỉ số tương
ứng của phần tử đó.


Tiết 55. Bài 9: LÀM VIỆC VỚI DÃY SỐ
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
a) Cách khai báo
b) Cách truy cập mảng:
Tên mảng[chỉ số phần tử]

Cách khai báo và sử dụng biến
mảng như trên có lợi ích gì?
Thảo luận nhóm. Thời gian 4
phút

Ví dụ: A[1]; A[10]; diem[1]-Có thể thay rất nhiều câu lệnh nhập và in
dữ liệu ra màn hình bằng câu lệnh lặp.
-Có thể sử dụng biến mảng một cách hiệu
quả trong xử lí dữ liệu như:
+ So sánh điểm của một học sinh với một
giá trị nào đó
+ Xử lí đồng thời nhiều loại điểm ta khai
báo nhiều mảng. Từ đây có thể tính điểm
trung bình của học sinh, tìm điểm cao
nhất,…



Sử dụng biến mảng một cách hiệu quả trong xử lý dữ liệu
Chương trình nhập điểm cho 40 học sinh:
Chỉ sử dụng 1 câu lệnh lặp:

Var diem1, diem2, diem3, .. , diem40: real;

……

Begin
Readln(Diem1);
Readln(Diem2);
Readln(Diem3);
…;
Readln(Diem40);
End.

Var diem: array[1..40] of real;

For i:=1 to 40 do
Begin
write(‘diem hs’,i,’:’);
readln(diem[i]);
End;


Tiết 55. Bài 9: LÀM VIỆC VỚI DÃY SỐ
1. Dãy số và biến mảng

2. Ví dụ về biến mảng


a) Cách khai báo
b) Cách truy cập mảng:
c) Ích lợi của biến mảng
- Có thể thay thế nhiều câu lệnh
đọc và ghi dữ liệu ra màn hình
bằng một câu lệnh lặp:
Ví dụ:Nhập điểm cho các học
sinh trong lớp
For i:=1 to 40 do
Begin
write(‘diem hs’,i,’:’);
readln(diem[i]);
End;

Ví dụ: in điểm cho các học sinh
trong lớp

For i:=1 to 40 do
write( diem[i]);
- Sử dụng biến mảng một cách
hiệu quả trong xử lí dữ liệu: so
sánh điểm của học sinh với một
giá trị nào đó, tính điểm trung bình
của cả lớp, tìm điểm cao nhất,…
Ví dụ:
For i:=1 to 40 do
if diem[i]>=8.0 then Writeln(‘gioi’);
⇒ Tóm lại, sử dụng biến mảng
tiết kiệm được thời gian và công
sức.



Dữ liệu kiểu mảng là một tập
hợp hữu hạn các phần tử có thứ
tự, có cùng kiểu dữ liệu

BÀI 9
LÀM
VIỆC
VỚI
DÃY
SỐ

Khi khai báo 1 biến có kiểu dữ
liệu là kiểu mảng, biến đó được
gọi là biến mảng

Sử dụng biến mảng tiết kiệm
rất nhiều thời gian và công sức
viết chương trình


Tiết 55. Bài 9: LÀM VIỆC VỚI DÃY SỐ
Câu 1: Các khai báo biến mảng sau trong Pascal đúng hay sai?
Vì sao?

A. Var X : Array[10,13] of Integer;

sai


B. Var X : Array[5..10.5] of Real;

sai

C. Var X : Array[3.4..4.8] of Integer;

sai

D. Var X : Array[10..1] of Integer;

sai

E. Var X : Array[4..10] of real;
Đúng


Tiết 55. Bài 9: LÀM VIỆC VỚI DÃY SỐ
Câu 2: Câu lệnh khai báo biến mảng sau đây máy tính có
thực hiện được không?

Var N : integer;

Không xác định

A : array[1..N] of real;

KHÔNG



×