Chào mừng quý vị đến với website của phòng GD & ĐT Đam Rông
Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành
viên, vì vậy chưa thể tải được các tài liệu của
Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
MỖI NGÀY CHÚNG TA CẦN SUY NGẪM VÀ GHI NHỚ NHỮNG ĐIỀU NÀY
Bài 9. Làm việc với dãy số

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Trần Thị Loan
Ngày gửi: 21h:02' 18-06-2023
Dung lượng: 4.8 MB
Số lượt tải: 20
Nguồn:
Người gửi: Trần Thị Loan
Ngày gửi: 21h:02' 18-06-2023
Dung lượng: 4.8 MB
Số lượt tải: 20
Số lượt thích:
0 người
Hình 1
Hình 2
Em hãy quan sát 2 hình trên, cho biết cách tổ chức nào trật
tự, dễ quản lý, theo dõi hơn?
1
Hình 3
Hình 4
Sắp xếp theo
dãy thì dễ
dàng quản lý,
thao tác hơn.
Em hãy quan sát 2 hình trên, cho biết cách tổ chức nào trật
tự, dễ quản lý, theo dõi hơn?
2
TIN
HỌC
BÀI
9:8LÀM
VIỆC VỚI
DÃY SỐ
G
RE
EN
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1. DÃY SỐ VÀ BIẾN MẢNG
Vậy, để nhập điểm cho lớp gồm 34 học sinh thì sao?
Khai báo 34 biến như sau:
diem1,diem2, diem3,...,diem34;
Diem0=input(“Điểm của bạn thứ 1 là:” );
Diem1=input(“Điểm của bạn thứ 2 là:” );
Diem2=input(“Điểm của bạn thứ 3 là:” );
…….
Diem33=input(“Điểm của bạn thứ 34là:” );
Những hạn chế:
- Phải khai báo quá nhiều
biến.
.
- Chương trình phải viết
khá dài.
.
- Dễ nhầm lẫn giữa các
biến khi viết chương
trình.
.
4
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1. DÃY SỐ VÀ BIẾN MẢNG
Khắc phục hạn chế:
- Lưu các biến có liên quan thành một dãy và đặt một tên
chung
- Đánh số thứ tự (chỉ số) cho các biến đó
- Sử dụng câu lệnh lặp để xử lí dữ liệu
DỮ LIỆU KIỂU MẢNG
Diem
7
9
Chỉ số
0
1
5 …… 10
2
3
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1. DÃY SỐ VÀ BIẾN MẢNG
Diem
Chỉ số
10.0
9.5
6.0
0
1
2
Vậy, dữ liệu kiểu
4.5mảng…là gì?8.0
3
…
.
34
Dữ liệu kiểu mảng là dãy hữu hạn các phần tử có cùng
kiểu dữ liệu, được sắp xếp thứ tự bằng cách gán cho mỗi
phần tử một chỉ số.
.
6
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1. DÃY SỐ VÀ BIẾN MẢNG
Ví dụ:
A
17 20 24 10 16 22 18
0
1
2
3
4
5
6
Trong
đó:
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
Minh họa dữ liệu kiểu mảng
- Trong ví dụ trên, ta có:
+ Tên mảng: A
+ Chỉ số: i
+ Số phần tử mảng: 8
+ Kiểu dữ liệu của các phần tử: Kiểu số nguyên
+ Khi tham chiếu đến phần tử thứ i ta viết A[i]. Ví dụ A[2]=18
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1. DÃY SỐ VÀ BIẾN MẢNG
Biến mảng:
- Là biến có kiểu dữ liệu là kiểu mảng.
- Giá trị của biến mảng là một dãy số (số nguyên hoặc số thực).
-Trong Python: Phần tử đầu tiên của mảng được gắn chỉ số 0.
Giá trị của biến mảng
Biến mảng
Diem
10.0
Chỉ số 0
9.5
1
6.0
2
4.5
3
…
…
8.0
34
.
9
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
2. VÍ DỤ VỀ BIẾN MẢNG
a. Cách khai báo biến mảng trong Python:
tên biến mảng=[giá trị khởi tạo]*số lượng phần tử
Trong đó:
- Kiểu dữ liệu là kiểu của các phần tử, có thể là số nguyên
hay số thực.
10
Cách khởi tạo mảng: Sử dụng cặp dấu ngoặc[] đặt giá trị bên trong, các giá trị
cách nhau bởi dấu “,”
Cú pháp:
=[, , .., ,
]
Ví dụ:
lst =[1, 2, 9, 5, 8 , 6,11, 32, 15]
empty_list = [] # khởi tạo list rỗng
A=[8, 12, 5, 9, 17, 3]
11
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
2. VÍ DỤ VỀ BIẾN MẢNG
a. Cách khai báo biến mảng trong Python:
tên biến mảng =[giá trị khởi tạo]*số lượng phần tử
Ví dụ:
tuoi
Chỉ số
7
6
8
9
0
1
2
3
….
….
10
40
tuoi=[0]*41
tên biến mảng
Có 41 phần tử
Giá trị khởi tạo là số nguyên
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
2. VÍ DỤ VỀ BIẾN MẢNG
a. Cách khai báo biến mảng trong Python:
tên biến mảng=[giá trị khởi tạo]*số lượng phần tử
Ví dụ:
chieuca
Chỉosố
1.5 1.65
0
1
1.75
1.7
2
3
chieucao=[0.0]*21
….
….
1.8
20
Ví dụ 2:
Chieu_cao = [12.5, 9.8, 18.4, 17.7, 13.6, 51.5, 32.3, 11.8]
Trong ví dụ này:
Tên mảng: Chieu_cao
Kiểu dữ liệu: float
Số phần tử: 8
Chỉ số đầu: 0
Chỉ số cuối: 7
b. Cách truy cập đến từng phần tử
mảng
Cú pháp:
Tên mảng [Chỉ số]
A[i] : tham chiếu phần tử i trong mảng A
Ví dụ 1: chieucao[2] =1.75
chieucao[0] =1.5
Ví dụ Cho các câu lệnh sau:
2:
A[2]=7;
A[3]=2;
A[4]=5;
A[6]=A[3]+A[4];
A[7]=A[4]-A[2];
chieucao[20] =1.8
chieucao[25] Không xác định
A[6]=7
A[7]=-2
A[3]=2
Giá trị của các phần A[6], A[7], A[3] sẽ là bao nhiêu?
- Có thể gán giá trị, đọc giá trị và thực hiện tính toán
với các phần tử trong mảng
15
Chú ý: ta có thể lưu các phần tử khác kiểu trong mảng
Ví dụ:
3) Đưa danh sách ra màn hình
Cú pháp:
for in :
print()
Hoặc:
print()
Ví dụ:
ds=[1, 2, 6, 4, 8, 12, 9, 11, 8]
for i in ds
print(i)
Minh họa chương trình
Kết
quả
Hoặc:
ds=[1, 2, 6, 4, 8, 12, 9, 11, 8]
print(ds)
Minh họa chương trình
Xuất ra màn hình
Tham khảo mảng chứa nhiều kiểu dữ liệu khác nhau
II. Các thao tác trên mảng (List) trong Python
1) Các phép toán
Phép toán
Ý nghĩa
Ví dụ
+
Ghép nhiều danh sách thành [“Toán học”, “Tin học”]+[“Hóa học”]
một
=>[“Toán học”, “Tin học”, “Hóa học”]
*
Tạo ra một danh sách lặp đi lặp A=[0, 1]*3
lại xâu gốc với số lần nhân
print(A)=>[0, 1, 0, 1, 0, 1]
in
Cho biết một phần tử có xuất
hiện trong list hay không, nếu “Vật lý” in [“Toán học”, “Tin học”]
có nhận giá trị True, ngược lại Þ False
nhận giá trị False
Hàm len()
Trả về số phần tử trong danh ds = [“-1”, 0 , 1, 2, “…”]
Þ len(ds) = 5
sách
2) Đánh chỉ số và các thao tác với chỉ số trong List
a) Đánh chỉ số các phần tử trong list: bắt đầu từ 0 đến độ dài list 1
ds
Chỉ số
12
0
15
1
2
2
8
3
123
4
23
5
18
6
b) Tham chiếu tới phần tử của list bằng chỉ số đặt trong cặp
ngoặc [ và ]
Ví dụ:
ds =[12, 15, 2, 8, 123, 23, 18]
ds[2] = 2
Như
vậy:
Việc truy cập tới phần tử bất kì của mảng được
thực hiện thông qua chỉ số tương ứng của phần
tử đó trong mảng.
Việc truy cập ở đây bao gồm các hành động:
gán giá trị, đọc giá trị và thực hiện tính toán với
giá trị đó
Ví dụ:
Chieu_cao = [12.5, 9.8, 18.4, 17.7, 13.6,
51.5, 32.3, 11.8]
TB=(Chieu_cao[1]+Chieu_cao[2])/2
(sử dụng giá trị phần tử thứ 1 và thứ 2 trong
c) Sao chép danh sách: để tạo ra một mảng mới là đoạn con của
mảng gốc
Cú pháp: tên_list[vị trí bắt đầu:vị trí dừng]
* Lưu ý: vị trí dừng -1
Ví dụ:
ds = [1, 2, 3, 21, 13, 41, 52, 8]
ds[1:3] = [2, 3]
d) Thay đổi giá trị phần tử trong danh sách
Ví dụ:
ds = [3, 4, 2, 14, 21, 15, 18, 20]
ds[0] = 1
=> ds = [1, 4, 2, 14, 21, 15, 18, 20]
Thay
đổi
In ra
danh
sách
e) Chèn một phần tử vào trong danh sách
Cú pháp:
Hình 2
Em hãy quan sát 2 hình trên, cho biết cách tổ chức nào trật
tự, dễ quản lý, theo dõi hơn?
1
Hình 3
Hình 4
Sắp xếp theo
dãy thì dễ
dàng quản lý,
thao tác hơn.
Em hãy quan sát 2 hình trên, cho biết cách tổ chức nào trật
tự, dễ quản lý, theo dõi hơn?
2
TIN
HỌC
BÀI
9:8LÀM
VIỆC VỚI
DÃY SỐ
G
RE
EN
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1. DÃY SỐ VÀ BIẾN MẢNG
Vậy, để nhập điểm cho lớp gồm 34 học sinh thì sao?
Khai báo 34 biến như sau:
diem1,diem2, diem3,...,diem34;
Diem0=input(“Điểm của bạn thứ 1 là:” );
Diem1=input(“Điểm của bạn thứ 2 là:” );
Diem2=input(“Điểm của bạn thứ 3 là:” );
…….
Diem33=input(“Điểm của bạn thứ 34là:” );
Những hạn chế:
- Phải khai báo quá nhiều
biến.
.
- Chương trình phải viết
khá dài.
.
- Dễ nhầm lẫn giữa các
biến khi viết chương
trình.
.
4
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1. DÃY SỐ VÀ BIẾN MẢNG
Khắc phục hạn chế:
- Lưu các biến có liên quan thành một dãy và đặt một tên
chung
- Đánh số thứ tự (chỉ số) cho các biến đó
- Sử dụng câu lệnh lặp để xử lí dữ liệu
DỮ LIỆU KIỂU MẢNG
Diem
7
9
Chỉ số
0
1
5 …… 10
2
3
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1. DÃY SỐ VÀ BIẾN MẢNG
Diem
Chỉ số
10.0
9.5
6.0
0
1
2
Vậy, dữ liệu kiểu
4.5mảng…là gì?8.0
3
…
.
34
Dữ liệu kiểu mảng là dãy hữu hạn các phần tử có cùng
kiểu dữ liệu, được sắp xếp thứ tự bằng cách gán cho mỗi
phần tử một chỉ số.
.
6
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1. DÃY SỐ VÀ BIẾN MẢNG
Ví dụ:
A
17 20 24 10 16 22 18
0
1
2
3
4
5
6
Trong
đó:
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
Minh họa dữ liệu kiểu mảng
- Trong ví dụ trên, ta có:
+ Tên mảng: A
+ Chỉ số: i
+ Số phần tử mảng: 8
+ Kiểu dữ liệu của các phần tử: Kiểu số nguyên
+ Khi tham chiếu đến phần tử thứ i ta viết A[i]. Ví dụ A[2]=18
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
1. DÃY SỐ VÀ BIẾN MẢNG
Biến mảng:
- Là biến có kiểu dữ liệu là kiểu mảng.
- Giá trị của biến mảng là một dãy số (số nguyên hoặc số thực).
-Trong Python: Phần tử đầu tiên của mảng được gắn chỉ số 0.
Giá trị của biến mảng
Biến mảng
Diem
10.0
Chỉ số 0
9.5
1
6.0
2
4.5
3
…
…
8.0
34
.
9
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
2. VÍ DỤ VỀ BIẾN MẢNG
a. Cách khai báo biến mảng trong Python:
tên biến mảng=[giá trị khởi tạo]*số lượng phần tử
Trong đó:
- Kiểu dữ liệu là kiểu của các phần tử, có thể là số nguyên
hay số thực.
10
Cách khởi tạo mảng: Sử dụng cặp dấu ngoặc[] đặt giá trị bên trong, các giá trị
cách nhau bởi dấu “,”
Cú pháp:
Ví dụ:
lst =[1, 2, 9, 5, 8 , 6,11, 32, 15]
empty_list = [] # khởi tạo list rỗng
A=[8, 12, 5, 9, 17, 3]
11
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
2. VÍ DỤ VỀ BIẾN MẢNG
a. Cách khai báo biến mảng trong Python:
tên biến mảng =[giá trị khởi tạo]*số lượng phần tử
Ví dụ:
tuoi
Chỉ số
7
6
8
9
0
1
2
3
….
….
10
40
tuoi=[0]*41
tên biến mảng
Có 41 phần tử
Giá trị khởi tạo là số nguyên
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
2. VÍ DỤ VỀ BIẾN MẢNG
a. Cách khai báo biến mảng trong Python:
tên biến mảng=[giá trị khởi tạo]*số lượng phần tử
Ví dụ:
chieuca
Chỉosố
1.5 1.65
0
1
1.75
1.7
2
3
chieucao=[0.0]*21
….
….
1.8
20
Ví dụ 2:
Chieu_cao = [12.5, 9.8, 18.4, 17.7, 13.6, 51.5, 32.3, 11.8]
Trong ví dụ này:
Tên mảng: Chieu_cao
Kiểu dữ liệu: float
Số phần tử: 8
Chỉ số đầu: 0
Chỉ số cuối: 7
b. Cách truy cập đến từng phần tử
mảng
Cú pháp:
Tên mảng [Chỉ số]
A[i] : tham chiếu phần tử i trong mảng A
Ví dụ 1: chieucao[2] =1.75
chieucao[0] =1.5
Ví dụ Cho các câu lệnh sau:
2:
A[2]=7;
A[3]=2;
A[4]=5;
A[6]=A[3]+A[4];
A[7]=A[4]-A[2];
chieucao[20] =1.8
chieucao[25] Không xác định
A[6]=7
A[7]=-2
A[3]=2
Giá trị của các phần A[6], A[7], A[3] sẽ là bao nhiêu?
- Có thể gán giá trị, đọc giá trị và thực hiện tính toán
với các phần tử trong mảng
15
Chú ý: ta có thể lưu các phần tử khác kiểu trong mảng
Ví dụ:
3) Đưa danh sách ra màn hình
Cú pháp:
for
print(
Hoặc:
print(
Ví dụ:
ds=[1, 2, 6, 4, 8, 12, 9, 11, 8]
for i in ds
print(i)
Minh họa chương trình
Kết
quả
Hoặc:
ds=[1, 2, 6, 4, 8, 12, 9, 11, 8]
print(ds)
Minh họa chương trình
Xuất ra màn hình
Tham khảo mảng chứa nhiều kiểu dữ liệu khác nhau
II. Các thao tác trên mảng (List) trong Python
1) Các phép toán
Phép toán
Ý nghĩa
Ví dụ
+
Ghép nhiều danh sách thành [“Toán học”, “Tin học”]+[“Hóa học”]
một
=>[“Toán học”, “Tin học”, “Hóa học”]
*
Tạo ra một danh sách lặp đi lặp A=[0, 1]*3
lại xâu gốc với số lần nhân
print(A)=>[0, 1, 0, 1, 0, 1]
in
Cho biết một phần tử có xuất
hiện trong list hay không, nếu “Vật lý” in [“Toán học”, “Tin học”]
có nhận giá trị True, ngược lại Þ False
nhận giá trị False
Hàm len()
Trả về số phần tử trong danh ds = [“-1”, 0 , 1, 2, “…”]
Þ len(ds) = 5
sách
2) Đánh chỉ số và các thao tác với chỉ số trong List
a) Đánh chỉ số các phần tử trong list: bắt đầu từ 0 đến độ dài list 1
ds
Chỉ số
12
0
15
1
2
2
8
3
123
4
23
5
18
6
b) Tham chiếu tới phần tử của list bằng chỉ số đặt trong cặp
ngoặc [ và ]
Ví dụ:
ds =[12, 15, 2, 8, 123, 23, 18]
ds[2] = 2
Như
vậy:
Việc truy cập tới phần tử bất kì của mảng được
thực hiện thông qua chỉ số tương ứng của phần
tử đó trong mảng.
Việc truy cập ở đây bao gồm các hành động:
gán giá trị, đọc giá trị và thực hiện tính toán với
giá trị đó
Ví dụ:
Chieu_cao = [12.5, 9.8, 18.4, 17.7, 13.6,
51.5, 32.3, 11.8]
TB=(Chieu_cao[1]+Chieu_cao[2])/2
(sử dụng giá trị phần tử thứ 1 và thứ 2 trong
c) Sao chép danh sách: để tạo ra một mảng mới là đoạn con của
mảng gốc
Cú pháp: tên_list[vị trí bắt đầu:vị trí dừng]
* Lưu ý: vị trí dừng -1
Ví dụ:
ds = [1, 2, 3, 21, 13, 41, 52, 8]
ds[1:3] = [2, 3]
d) Thay đổi giá trị phần tử trong danh sách
Ví dụ:
ds = [3, 4, 2, 14, 21, 15, 18, 20]
ds[0] = 1
=> ds = [1, 4, 2, 14, 21, 15, 18, 20]
Thay
đổi
In ra
danh
sách
e) Chèn một phần tử vào trong danh sách
Cú pháp:
- .insert (i, x)
Ý nghĩa: Thêm phần tử x vào vị trí i trong danh sách
f) Sắp xếp danh sách
Cú pháp:
- .sort(key=None, reverse=False)
Ý nghĩa: Sắp xếp các phần tử bằng cách so sánh trực tiếp
Chú ý:
Từ khóa reverse chỉ có thể cho 2 giá trị, một là True, hai là
False. Nếu là False, các phần tử được sắp xếp từ bé đến lớn, còn
ngược lại là từ lớn đến bé
Các phần tử trong danh sách phải so sánh được với nhau
Ví dụ:
Ví dụ: sắp xếp danh sách dãy số theo chiều tăng dần
Chú ý:
Báo lỗi
do các
phần tử
không
so sánh
được
g) Thêm một phần tử vào cuối danh sách
Cú pháp:
- .append(x)
Ý nghĩa: Thêm phần tử x vào cuối danh sách
Ví dụ áp dụng
Ví dụ 1: Viết chương trình nhập mức thu nhập của 5 hộ gia
đình sử dụng biến mảng
Chương trình
Kết quả
Ví dụ 2: Viết chương trình nhập mức thu nhập của 5 hộ gia
đình sử dụng biến mảng sau đó in ra các hộ có mức thu nhập
trên trung bình.
Giải thích:
- Nhập vào thu nhập 5 hộ:
- Tính tổng thu nhập của 5 hộ
- Tính thu nhập trung bình của các hộ
- Lọc ra những hộ có thu nhập trên trung bình
- Trong chương trình in ra vị trí là x+1 do mảng được đánh số
từ 0 mà ta có 5 hộ (hộ số 1, hộ số 2, …, hộ số 5 nên phải in ra
là x+1)
Chương trình
Kết quả
III. Tìm giá trị lớn nhất và nhỏ nhất của dãy số
Ví dụ 3: Viết chương trình nhập N số nguyên từ bàn phím và
in ra màn hình số nhỏ nhất và số lớn nhất cùng độ lệch của
giá trị đó so với giá trung bình của N số đã nhập. N cũng
được nhập từ bàn phím.
Gợi ý:
Khai báo biến n để nhập các số nguyên sẽ được nhập vào.
Nhập vào 1 biến mảng A
Khai báo 1 biến i là biến đếm, và biến MX, MN là số lớn nhất
và nhỏ nhất của mảng.
Kích thước của mảng hay chỉ số cuối phải được khai báo rõ
ràng và phải là 1 số cụ thể.
Chương trình
Kết quả
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
LUYỆN TẬP
Câu 1: Em hãy chọn đáp án đúng trong các đáp án sau:
A) Dữ liệu kiểu mảng là tập hợp các phần tử không có thứ
tự và mọi phần tử có cùng một kiểu dữ liệu.
B) Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và
mỗi một phần tử trong mảng có thể có các kiểu dữ liệu khác
nhau.
C) Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và
mọi phần tử có cùng một kiểu dữ liệu.
42
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
LUYỆN TẬP
Câu 2: Cho biết số lượng phần tử tối đa trong
khai báo mảng sau:
a=[0]*100;
A) 1 phần tử
B) 99 phần tử
C) 100 phần tử
D) 101 phần tử
43
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
LUYỆN TẬP
Câu 3: Cho mảng sau:
cannang=[25, 34, 17, 46, 28, 56, 26, 34, 48]
Hãy chọn phương án đúng
A) cannang[2]=34
B) cannang[2]=28
C) cannang(2)=17
D) cannang[2]=17
44
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
LUYỆN TẬP
Câu 4: Cho mảng sau:
B=[2.5, 3.4, 1.7, 4.6, 2.8, 5.6, 2.6, 3.4, 4.8]
Xác định các giá trị B[1]; B[5]; B[7]; B[9];
45
 






Các ý kiến mới nhất