bài 20 sách KNTT

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Lê Thị Ngọc Hân
Ngày gửi: 15h:41' 30-09-2023
Dung lượng: 2.0 MB
Số lượt tải: 203
Nguồn:
Người gửi: Lê Thị Ngọc Hân
Ngày gửi: 15h:41' 30-09-2023
Dung lượng: 2.0 MB
Số lượt tải: 203
Số lượt thích:
0 người
BÀI 20
CÂU LỆNH LẶP FOR
Một số công việc lặp đi lặp lại nhiều lần.
1.
2.
Đếm xem có bao nhiêu số chẵn ở trong khoảng từ 1 đến 50.
3.
Tính tổng các số tự nhiên liên tiếp từ 0 9
Kiểm tra lần lượt các số từ 1 đến 50 và tính xem có bao nhiêu số chia hết cho 3
(chẳng hạn, 3, 6, 9,.......) rồi in ra các số đó.
Em có thể xác định được trong mỗi ví dụ trên công việc nào cần phải lặp và được
lặp lại bao nhiêu lần không?
Ngôn ngữ lập trình bậc cao có các câu lệnh cho phép viết một cách ngắn gọn các
bước cần thực hiện lặp đi lặp lại để tạo thành một cấu trúc lập trình được gọi là
cấu trúc lặp.
HOẠT ĐỘNG 1. Làm quen với lệnh lặp for
Thực hiện đoạn chương trình sau trong chế độ gõ
lệnh trực tiếp của Python để tính tổng 0+1+....+9.
Tổng này có giá trị bao nhiêu? Giải thích kết quả.
>>> S = 0
>>> for k in range(10):
S=S+k
>>> print(S)
45
NGÔNNGỮ LẬP TRÌNH
BÀI TOÁN: Tính tổng 10 số tự nhiênđầu tiên
Tong = Tong + 0 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9
Tong = Tong + 1 0 + 1
Tong = Tong + 2
Tong = Tong + 3
Tong = Tong + 4
Tong = Tong + 5
Tong = Tong + 6
Tong = Tong + 7
Tong = Tong + 8
Tong = Tong + 9
28
45
10
15
36
21
0613
1 + 2
3 + 3
6 +4
10 + 5
15 + 6
21 + 7
28 + 8
36 + 9
45
NGÔNNGỮ LẬP TRÌNH
(i = 0)
Tong = Tong + 0
(i = 1)
Tong = Tong + 1
(i = 2)
Tong = Tong + 2
(i = 3)
Tong = Tong + 3
(i = 4)
Tong = Tong + 4
(i = 5)
Tong = Tong + 5
(i = 6)
Tong = Tong + 6
(i = 7)
Tong = Tong + 7
(i = 8)
Tong = Tong + 8
(i = 9)
Tong = Tong + 9
(i = 10) End
BÀI TOÁN: Tính tổng 10 số tự nhiênđầu tiên
i=0
Lệnh lặp
Số lần lặp
biết trước
Tong=0
for i in range (10)
tong =
tong + i
Tong = tong
+i
i < 10 1
i= i +1
1. LỆNH FOR
- Cú pháp của lệnh lặp với số lần biết trước for trong Python như
sau:
for < i > in range(n):
- Khi thực hiện, ở mỗi vòng lặp biến i sẽ được gán lần lượt các giá
trị trong vùng giá trị của lệnh range() và thực hiện
- Lệnh range(n) trả lại vùng giá trị gồm n số từ 0 đến n – 1.
Ví dụ 1. Tính tổng các số tự nhiên chẵn nhỏ hơn n, với n cho trước (n
= 10).
n = 10
S=0
for k in range(n):
if k%2 == 0:
S=S+k
print(S)
# Điều kiện k là số chẵn là k%2 = 0
Ví dụ 2. Đếm các số nguyên nhỏ hơn n (n = 20) và là bội của 3.
n = 20
C=0
for k in range(n):
if k%3 == 0:
C=C+1
print(C)
# Điều kiện k là bội của 3 là k%3 = 0
Ghi nhớ: for là lệnh lặp với số lần biết trước. Số lần lặp
thường được xác định bởi vùng giá trị của lệnh range( ).
? Với giá trị n cho trước, so sánh giá trị S trong
đoạn chương trình sau với tổng 1+2+...+n.
S=0
for k in range(1, n+1):
S=S+k
HOẠT ĐỘNG 2. Tìm hiểu vùng giá trị xác định bởi vùng range()
Quan sát các lệnh for sau và so sánh kết quả in ra để biết vùng giá trị được xác
định bởi lệnh range(). Lưu ý, lệnh print() có thêm tham số để in bộ dữ liệu theo
hàng ngang.
>>> for k in range(3,10):
print(k, end = “ “)
3 4 5 6 7 8 9 # đây là vùng range(3,10)
>>> for k in range(0,15):
print(k, end = “ “)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # đây là vùng range(0,15)
2. LỆNH RANGE
- Lệnh tạo vùng giá trị range() có dạng như sau :
+ range(stop) trả lại vùng giá trị từ 0 đến stop – 1.
+ range(start, stop) trả lại vùng giá trị từ start đến stop – 1.
- Ví dụ:
+ range(n) cho vùng gồm các số 0, 1,..., n – 1.
+ range(1, n+1) cho vùng gồm các số 1, 2,..., n.
+ range(0, 99) cho vùng giá trị gồm các số 0, 1, 2,..., 98.
+ range(100,1) cho vùng rỗng.
Ghi nhớ:
- Lệnh tạo vùng giá trị có cú pháp range(start, stop) trả lại vùng
giá trị gồm các số nguyên liên tiếp từ start đến stop -1.
? Hãy biểu diễn các dãy sau đây bằng lệnh
range().
a) 1,2,3,..., 50
c) 0,1
d) 10
b) 5, 6, 7, 8, 9, 10
THỰC HÀNH
Lệnh lặp for và lệnh range ()
Nhiệm vụ 1. Nhập số tự nhiên n từ bàn phím và in ra màn hình dãy
các ước số của n theo chiều ngang màn hình. Ví dụ nếu n = 10 thì
chương trình sẽ in ra dãy số 1, 2, 5, 10.
Hướng dẫn. Các ước số của n là các số tự nhiên k thỏa mãn: n%k =
0. Muốn in các số trên một hàng ngang cần dùng thêm tham số end
= “ “ trong lệnh print ().
Chương trình có thể như sau:
n = int (input (“ Nhập số tự nhiên n: “ ))
for k in range (1, n+1):
if n%k == 0:
print (k, end = “ “)
Nhiệm vụ 2. Nhập số tự nhiên n từ bàn phím và đếm số các ước số thực
sự của n. Ước số thực sự của n là số tự nhiên k < n và là ước của n.
Hướng dẫn. Tương tự như chương trình ở nhiệm vụ 1, điểm khác là cần
đếm số các ước số này và không tính n. Tạo một biển có tên count để đếm
số các ước số thực sự của n.
n = int (input (“ Nhập số tự nhiên n: “ ))
count = 0
for k in range (1, n):
if n%k == 0:
count = count + 1
print (count)
LUYỆN TẬP
1. Đoạn chương trình sau in ra kết quả gì?
n = int ( input (“ Nhập số tự nhiên n: “ ))
S=0
for k in range (n+1):
S=S+k
print (S*S )
2. Viết đoạn chương trình tính tích 1 2 3 ... n với n được nhập vào từ
bàn phím.
3. Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả
S = 1+ +...+
4. Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả là
tổng sau:
S = + +... + .
BÀI TẬP
Bài 1: Em hãy dự đoán chương trình hình bên đưa ra màn hình những gì?
BÀI TẬP
Bài 2: Trong các chương trình trò chơi truyền hình, người dẫn chương trình
thường đếm ngược để bắt đầu trò chơi. Em hãy viết chương trình nhập vào
một số nguyên n, sau đó in ra các giá trị từ n về 1 để mô phỏng quá trình
đếm ngược (Hình 7)
Hình 7. Một kết quả chạy chương trình đếm ngược
CONTACT DETAILS
someone@example.com
BÀI TẬP
Bài 3: Mẹ em dự định gửi tiết kiệm một khoản tiền tại một ngân hàng có
lãi suất 5% một năm, nghĩa là sau mỗi năm tiền lãi nhận được là 5% số
tiền gửi. Hết một năm, nếu mẹ không rút tiền thì cả vốn lẫn lãi sẽ tự động
được gửi tính cho năm tiếp theo. Em hãy viết chương trình nhập vào số
tiền T (đơn vị triệu đồng) sau đó tính và đưa ra 10 dòng, mỗi dòng ghi số
tiền sau mỗi năm trong 10 năm gửi liên tiếp cả gốc lẫn lãi để mẹ tham
khảo
CÂU LỆNH LẶP FOR
Một số công việc lặp đi lặp lại nhiều lần.
1.
2.
Đếm xem có bao nhiêu số chẵn ở trong khoảng từ 1 đến 50.
3.
Tính tổng các số tự nhiên liên tiếp từ 0 9
Kiểm tra lần lượt các số từ 1 đến 50 và tính xem có bao nhiêu số chia hết cho 3
(chẳng hạn, 3, 6, 9,.......) rồi in ra các số đó.
Em có thể xác định được trong mỗi ví dụ trên công việc nào cần phải lặp và được
lặp lại bao nhiêu lần không?
Ngôn ngữ lập trình bậc cao có các câu lệnh cho phép viết một cách ngắn gọn các
bước cần thực hiện lặp đi lặp lại để tạo thành một cấu trúc lập trình được gọi là
cấu trúc lặp.
HOẠT ĐỘNG 1. Làm quen với lệnh lặp for
Thực hiện đoạn chương trình sau trong chế độ gõ
lệnh trực tiếp của Python để tính tổng 0+1+....+9.
Tổng này có giá trị bao nhiêu? Giải thích kết quả.
>>> S = 0
>>> for k in range(10):
S=S+k
>>> print(S)
45
NGÔNNGỮ LẬP TRÌNH
BÀI TOÁN: Tính tổng 10 số tự nhiênđầu tiên
Tong = Tong + 0 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9
Tong = Tong + 1 0 + 1
Tong = Tong + 2
Tong = Tong + 3
Tong = Tong + 4
Tong = Tong + 5
Tong = Tong + 6
Tong = Tong + 7
Tong = Tong + 8
Tong = Tong + 9
28
45
10
15
36
21
0613
1 + 2
3 + 3
6 +4
10 + 5
15 + 6
21 + 7
28 + 8
36 + 9
45
NGÔNNGỮ LẬP TRÌNH
(i = 0)
Tong = Tong + 0
(i = 1)
Tong = Tong + 1
(i = 2)
Tong = Tong + 2
(i = 3)
Tong = Tong + 3
(i = 4)
Tong = Tong + 4
(i = 5)
Tong = Tong + 5
(i = 6)
Tong = Tong + 6
(i = 7)
Tong = Tong + 7
(i = 8)
Tong = Tong + 8
(i = 9)
Tong = Tong + 9
(i = 10) End
BÀI TOÁN: Tính tổng 10 số tự nhiênđầu tiên
i=0
Lệnh lặp
Số lần lặp
biết trước
Tong=0
for i in range (10)
tong =
tong + i
Tong = tong
+i
i < 10 1
i= i +1
1. LỆNH FOR
- Cú pháp của lệnh lặp với số lần biết trước for trong Python như
sau:
for < i > in range(n):
- Khi thực hiện, ở mỗi vòng lặp biến i sẽ được gán lần lượt các giá
trị trong vùng giá trị của lệnh range() và thực hiện
- Lệnh range(n) trả lại vùng giá trị gồm n số từ 0 đến n – 1.
Ví dụ 1. Tính tổng các số tự nhiên chẵn nhỏ hơn n, với n cho trước (n
= 10).
n = 10
S=0
for k in range(n):
if k%2 == 0:
S=S+k
print(S)
# Điều kiện k là số chẵn là k%2 = 0
Ví dụ 2. Đếm các số nguyên nhỏ hơn n (n = 20) và là bội của 3.
n = 20
C=0
for k in range(n):
if k%3 == 0:
C=C+1
print(C)
# Điều kiện k là bội của 3 là k%3 = 0
Ghi nhớ: for là lệnh lặp với số lần biết trước. Số lần lặp
thường được xác định bởi vùng giá trị của lệnh range( ).
? Với giá trị n cho trước, so sánh giá trị S trong
đoạn chương trình sau với tổng 1+2+...+n.
S=0
for k in range(1, n+1):
S=S+k
HOẠT ĐỘNG 2. Tìm hiểu vùng giá trị xác định bởi vùng range()
Quan sát các lệnh for sau và so sánh kết quả in ra để biết vùng giá trị được xác
định bởi lệnh range(). Lưu ý, lệnh print() có thêm tham số để in bộ dữ liệu theo
hàng ngang.
>>> for k in range(3,10):
print(k, end = “ “)
3 4 5 6 7 8 9 # đây là vùng range(3,10)
>>> for k in range(0,15):
print(k, end = “ “)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # đây là vùng range(0,15)
2. LỆNH RANGE
- Lệnh tạo vùng giá trị range() có dạng như sau :
+ range(stop) trả lại vùng giá trị từ 0 đến stop – 1.
+ range(start, stop) trả lại vùng giá trị từ start đến stop – 1.
- Ví dụ:
+ range(n) cho vùng gồm các số 0, 1,..., n – 1.
+ range(1, n+1) cho vùng gồm các số 1, 2,..., n.
+ range(0, 99) cho vùng giá trị gồm các số 0, 1, 2,..., 98.
+ range(100,1) cho vùng rỗng.
Ghi nhớ:
- Lệnh tạo vùng giá trị có cú pháp range(start, stop) trả lại vùng
giá trị gồm các số nguyên liên tiếp từ start đến stop -1.
? Hãy biểu diễn các dãy sau đây bằng lệnh
range().
a) 1,2,3,..., 50
c) 0,1
d) 10
b) 5, 6, 7, 8, 9, 10
THỰC HÀNH
Lệnh lặp for và lệnh range ()
Nhiệm vụ 1. Nhập số tự nhiên n từ bàn phím và in ra màn hình dãy
các ước số của n theo chiều ngang màn hình. Ví dụ nếu n = 10 thì
chương trình sẽ in ra dãy số 1, 2, 5, 10.
Hướng dẫn. Các ước số của n là các số tự nhiên k thỏa mãn: n%k =
0. Muốn in các số trên một hàng ngang cần dùng thêm tham số end
= “ “ trong lệnh print ().
Chương trình có thể như sau:
n = int (input (“ Nhập số tự nhiên n: “ ))
for k in range (1, n+1):
if n%k == 0:
print (k, end = “ “)
Nhiệm vụ 2. Nhập số tự nhiên n từ bàn phím và đếm số các ước số thực
sự của n. Ước số thực sự của n là số tự nhiên k < n và là ước của n.
Hướng dẫn. Tương tự như chương trình ở nhiệm vụ 1, điểm khác là cần
đếm số các ước số này và không tính n. Tạo một biển có tên count để đếm
số các ước số thực sự của n.
n = int (input (“ Nhập số tự nhiên n: “ ))
count = 0
for k in range (1, n):
if n%k == 0:
count = count + 1
print (count)
LUYỆN TẬP
1. Đoạn chương trình sau in ra kết quả gì?
n = int ( input (“ Nhập số tự nhiên n: “ ))
S=0
for k in range (n+1):
S=S+k
print (S*S )
2. Viết đoạn chương trình tính tích 1 2 3 ... n với n được nhập vào từ
bàn phím.
3. Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả
S = 1+ +...+
4. Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả là
tổng sau:
S = + +... + .
BÀI TẬP
Bài 1: Em hãy dự đoán chương trình hình bên đưa ra màn hình những gì?
BÀI TẬP
Bài 2: Trong các chương trình trò chơi truyền hình, người dẫn chương trình
thường đếm ngược để bắt đầu trò chơi. Em hãy viết chương trình nhập vào
một số nguyên n, sau đó in ra các giá trị từ n về 1 để mô phỏng quá trình
đếm ngược (Hình 7)
Hình 7. Một kết quả chạy chương trình đếm ngược
CONTACT DETAILS
someone@example.com
BÀI TẬP
Bài 3: Mẹ em dự định gửi tiết kiệm một khoản tiền tại một ngân hàng có
lãi suất 5% một năm, nghĩa là sau mỗi năm tiền lãi nhận được là 5% số
tiền gửi. Hết một năm, nếu mẹ không rút tiền thì cả vốn lẫn lãi sẽ tự động
được gửi tính cho năm tiếp theo. Em hãy viết chương trình nhập vào số
tiền T (đơn vị triệu đồng) sau đó tính và đưa ra 10 dòng, mỗi dòng ghi số
tiền sau mỗi năm trong 10 năm gửi liên tiếp cả gốc lẫn lãi để mẹ tham
khảo
 







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