BÀI18.VÍDỤCÁCHVIẾTVÀSỬDỤNGCHƯƠNGTRÌNHCON
(Phần2:Luyệntậpviếtthủtục)
Thời gian thực hiện: 1 tiết
I. MỤCTIÊU
1.Kiếnt hức:
- Hs tự xây dựng một số thật toán về thủ tục.
- Khắc sâu thêm phần kiến thức về lý thuyết lệnh nhập và xuất dữ liệu, vòng lặp
for.
2.N
ănglực
- Năng lực giải quyết vấn đề, sáng tạo.
- Năng lực tự học, đọc hiểu.
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả.
- Năng lực tính tốn, Năng lực thực hành .
3.Phẩmchất
-Phẩmchất:Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: y
êu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II.THIẾTBỊDẠYHỌCV
ÀHỌCLIỆU
Giáoviên:Sách giáo khoa, máy tính điện tử và ĐTDĐ có cài đặt Python, Phần
mềm Zoom.
Họcsinh:đồ dùng học tập, SGK, vở ghi, máy tính hoặc ĐTDĐ có cài đặt Python,
Phần mềm Zoom.
III.TIẾNTRÌNHDẠYHỌC
A.HOẠTĐỘNGK
HỞIĐỘNG(MỞĐẦU)
a)Mụct iêu:Tạo tình huống khơi gợi tinh thần cho học sinh
b)Nộidung:Hs dựa vào hiểu biết để trả lời câu hỏi.
c)S
ảnp
hẩm:Từ yêu cầuHS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d)Tổchứcthựch
iện:GV giới thiệu và dẫn dắt vào bài:
B.HÌNHTHÀNHK
IẾNTHỨCMỚI
Hoạtđộng1:Tìmhiểub
ài1
a)Mụct iêu:Nắm được
b)Nộidung:HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của G
V.
c)S
ảnp
hẩm:HS hồn thành tìm hiểu kiến thức
d)Tổchứcthựch
iện:
Hoạtđ
ộngcủaGVvàHS
Sảnphẩmdựk
iến
*Bước1:Chuyểngiaonhiệmvụ:
Bài 1: Viết chương trình vẽ hình chữ
Gv:Đưa nội dung bài tập lên máy chiếu: nhật có hình dạng nhữ sau:
*******
Gợi ý:
- hình CN có kích thước 7x3 .
*******
-Có thể vẽ hcn với 3 câu lệnh:
*******
print(‘* * * * * * *’)
Chương trình
print(‘*
*’)
print(‘* * * * * * *’)
def VD_thutuc1():
print(‘* * * * * * *’)
Gv: Quan sát Hs gõ chương trình và đưa
ra câu hỏi thảo luận như sau:
-Với 3 câu lệnh cơ bản trên thì thủ tục
vẽ hcn có cấu trúc như thế nào?
print(‘*
*’)
print(‘* * * * * * *’)
VD_thutuc1()
-Câu lệnh gọi thủ tục ntn?
*Bước2:Thựch
iệnnhiệmvụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời c
âu hỏi
+ GV: quan sát và trợ giúp các cặp.
*Bước3:B
áocáo,thảoluận:
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại cấu trúc thủ tục và câu lệnh gọi
thủ tục.
+ Các nhóm nhận xét, bổ sung cho nhau
.
*Bước4:Kếtluận,nhậnđịnh:GV ch
ính xác hóa và gọi 1 học sinh nhắc lại
kiến thức
Hoạtđộng2:Tìmhiểub
ài2
a)Mụct iêu:Nắm đượcbài 1
b)Nộidung:HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của G
V.
c)S
ảnp
hẩm:HS hoàn thành tìm hiểu kiến thức
d)Tổchứcthựch
iện:
HoạtđộngcủaGVvàHS
Sảnphẩmdựk
iến
*B
ước1:Chuyểngiaonhiệmvụ: Bài 2: Nhập vào 2 số nguyên dương a và b từ
Gv: Hãy sửa lại chương trình trên để bàn phím, viết chương trình con để vẽ hình
chữ nhật có kích thước a x b
vẽ được hình chữ nhật kích thước
a x b bất kỳ (với a,b là các số nguyên a=int(input(‘chiều dài a = ’)
dương)?
b=int(input(‘chiều rộng b = ’)
-Quan sát rồi đưa chương trình hồn c def Vecanhday(a):
hỉnh lên máy chiếu để Hs so sánh hai
for x in range (0,a):
đoạn code 2 chương trình con, yêu
print(“*”,end=’ ’)
cầu HS nhận xét các tham số và vòng
lặp và lệnh in
print()
*B
ước2:Thựchiệnnhiệmvụ:
def Vecanhgiưa(a):
+ HS: Suy nghĩ, tham khảo sgk trả lời
câu hỏi
+ GV: quan sát và trợ giúp các cặp.
*B
ước3:Báocáo,thảoluận:
print(“*”,end=’’)
for x in range (1,a-1):
print(“ ”,end=’’)
print(“*”)
+ HS: Lắng nghe, ghi chú, một HS nh
Vecanhday(a)
ận xét sự có mặt của các tham số.
For x in range (1,b-1):
+ Các nhóm nhận xét, bổ sung cho nh
Vecanhgiưa(a)
au.
*B
ước4:Kếtluận,nhậnđ
ịnh:GV Vecanhday(a)
chính xác hóa và gọi 1 học sinh nhắc l
ại kiến thức
C.HOẠTĐỘNGLUYỆNTẬP
a.Mụct iêu:Củng cố, luyện tập kiến thức vừa học.
b.N
ộid
ung:HS đọc SGK làm các bài tập.
c.Sảnp
hẩm:Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d.Tổchứcthựchiện:
-Nhận xét buổi thực hành=>đưa ra một số lổi thường gặp khi thực hành.
- Cần nắm cách khai báo thủ tục xử lý xâu,...
-Cần nắm thuật tốn lặp có số lần biết trước (for)
D.HOẠTĐỘNGV
ẬNDỤNG
a.Mụct iêu:Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn
.
b.N
ộid
ung:HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c.Sảnp
hẩm:HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d.Tổchứcthựchiện:
-GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi
và bài tập vận dụng: Bài 3 (SGK/73)
*HƯỚNGDẪNV
ỀNHÀ:
- Ôn lại bài học hôm nay;
- Chuẩn bị trước cho tiết sau KT giữa HKII
*RÚTKINHNGHIỆM
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
KIỂMTRAGIỮAHKII
(1tiết)
1. Mụcđích,yêucầu
- Kiểm tra các kiến thức về nhập, xuất, xử lý dữ liệu kiểu xâu, kiểu số, các
thao tác làm việc với tệp.
- Kiểm tra kỹ năng viết chương trình xử lý dữ liệu khi làm việc với tệp.
2. Matrậnđề
Nội dung
Mức độ
Nhận biết
1. Vai trị kiểu tệp
Thơng hiểu
Tổng
điểm
Vận dụng
1đ
1đ
1
2. Cú pháp thao tác với
tệp
1.5đ
1.5đ
1
3a. Viết câu lệnh mở
tệp, nhập dữ liệu từ tệp.
2.5đ
3b. Viết câu lệnh xử lý
dữ liệu
2đ
2đ
1
3c. Viết câu lệnh ghi dữ
liệu ra tệp, đóng tệp
Tổng số câu hỏi
2.5đ
1
3đ
3đ
1
2
2
1
3. Nộidung
ĐỂ1
Câu1.
Nêu vai trò của kiểu dữ liệu tệp trong NNLT.
Câu2.
Trình bày cú pháp và ý nghĩa câu lệnh mở tệp trong NNLT Python.
Câu3.
Sử dụng NNLT Python để thực hiện yêu cầu sau:
10đ
5
a) Nhập 3 dòng dữ liệu từ tệp KT.inp, gồm họ tên học sinh và 2 số nguyên.
b) Tìm số nhỏ hơn, sau đó tính hiệu của 2 số.
c) In ra tệp KT.out 3 dòng dữ liệu, dòng 1 ghi Họ tên học sinh nhập được từ
tệp KT.inp, dòng 2 ghi 2 số nguyên trong tệp KT.inp, dòng 3 ghi số nhỏ và
hiệu.
ĐỂ2
Câu1.
Nêu lý do tồn tại kiểu dữ liệu tệp trong NNLT.
Câu2.
Trình bày cú pháp và ý nghĩa câu lệnh đóng tệp trong NNLT Python.
Câu3.
Sử dụng NNLT Python để thực hiện yêu cầu sau:
b) Nhập 3 dòng dữ liệu từ tệp KT.inp, gồm họ tên học sinh và 2 số thực.
b) Tìm số lớn hơn, sau đó tính trung bình cộng của 2 số.
c) In ra tệp KT.out 3 dòng dữ liệu, dòng 1 ghi Họ tên học sinh nhập được từ
tệp KT.inp, dòng 2 ghi số lớn và giá trị trung bình cộng, dịng 3 ghi 2 số thực
trong tệp KT.inp.
4. Rútkinhnghiệm
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
B
ÀI18.VÍDỤCÁCHVIẾTVÀSỬDỤNGCHƯƠNGTRÌNHCON
(Phần3:Luyệntậpviếthàm)
Thời gian thực hiện: 1 tiết
I. MỤCTIÊU
1.Kiếnt hức:
- Hs tự xây dựng một số thật toán về hàm.
- Khắc sâu thêm phần kiến thức về lý thuyết lệnh rẽ nhánh, vòng lặp.
2.N
ănglực
- Năng lực giải quyết vấn đề, sáng tạo.
- Năng lực tự học, đọc hiểu.
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả.
- Năng lực tính tốn, Năng lực thực hành .
3.Phẩmchất
-Phẩmchất:Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: y
êu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II.THIẾTBỊDẠYHỌCV
ÀHỌCLIỆU
Giáoviên:Sách giáo khoa, máy tính điện tử và ĐTDĐ có cài đặt Python, Phần
mềm Zoom.
Họcsinh:đồ dùng học tập, SGK, vở ghi, máy tính hoặc ĐTDĐ có cài đặt Python,
Phần mềm Zoom.
III.TIẾNTRÌNHDẠYHỌC
A.HOẠTĐỘNGK
HỞIĐỘNG(MỞĐẦU)
a)Mụct iêu:Tạo tình huống khơi gợi tinh thần cho học sinh
b)Nộidung:Hs dựa vào hiểu biết để trả lời câu hỏi.
c)S
ảnp
hẩm:Từ yêu cầuHS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d)Tổchứcthựch
iện:GV giới thiệu và dẫn dắt vào bài:
B.HÌNHTHÀNHK
IẾNTHỨCMỚI
Hoạtđộng1:Tìmhiểub
ài1
a)Mụct iêu:Nắm được
b)Nộidung:HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của G
V.
c)S
ảnp
hẩm:HS hoàn thành tìm hiểu kiến thức
d)Tổchứcthựch
iện:
Hoạtđ
ộngcủaGVvàHS
Sảnphẩmdựk
iến
*Bước1:Chuyểngiaonhiệmvụ:
Bài 1: Viết chương trình nhập vào số
Gv:Đưa nội dung bài tập lên máy chiếu: nguyên dương n và n số nguyên dương
(n <= 1000). Tìm ước chung lớn nhất
của n số trên có sử dụng hàm tìm ước
Gv: Quan sát Hs gõ chương trình và đư chung lớn nhất của hai số nguyên dương
a ra câu hỏi thảo luận như sau:
Chương trình
Với hai bộ test trên thì kết quả xuất ra
def ucln(a,b):
màn hình như thế nào?
r=a%b
*Bước2:Thựch
iệnnhiệmvụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời c
âu hỏi
while r!=0:
a=b
+ GV: quan sát và trợ giúp các cặp.
b=r
*Bước3:B
áocáo,thảoluận:
r=a%b
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại các tính chất.
return b
n=int(input("Nhập n = "))
+ Các nhóm nhận xét, bổ sung cho nhau m=[]
.
for x in range(1,n+1):
*Bước4:Kếtluận,nhậnđịnh:GVc hín
d=int(input("Nhập vào số x= "))
hxáchóavàgọi1họcsinhnhắclạikiếnthức
Input Output
4
2
for x in range(0,n-1):
uc=ucln(m[x],m[x+1])
print("ước chung lớn nhất=",uc)
2468
4
m.append(d)
1
124
5
Hoạtđộng2:Tìmhiểub
ài2
a)Mụct iêu:Nắm đượcbài 1
b)Nộidung:HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của G
V.
c)S
ảnp
hẩm:HS hoàn thành tìm hiểu kiến thức
d)Tổchứcthựch
iện:
HoạtđộngcủaGVvàHS
Sảnphẩmdựk
iến
*B
ước1:Chuyểngiaonhiệmvụ: Bài 2: Nhập vào tử và mẫu số của 1 phân số,
Gv: Hãy sửa lại chương trình trên mà sau đó rút gọn phân số thành phân số tối giản
không sử dụng biến P?
-Thuật tốn:
-Quan sát rồi đưa chương trình hồn c B1. Tìm UCLN của tử và mẫu
hỉnh lên máy chiếu để Hs so sánh
B2. Chia cả tử và mẫu cho UCLN
*B
ước2:Thựchiệnnhiệmvụ:
B3. Lập phân số mới
+ HS: Suy nghĩ, tham khảo sgk trả lời -Chương trình:phát triển CT ở BT1
câu hỏi
def ucln(a,b):
+ GV: quan sát và trợ giúp các cặp.
r=a%b
*B
ước3:Báocáo,thảoluận:
while r!=0:
+ HS: Lắng nghe, ghi chú, một HS ph
a=b
át biểu lại các tính chất.
b=r
+ Các nhóm nhận xét, bổ sung cho nh
au.
r=a%b
*B
ước4:Kếtluận,nhậnđ
ịnh:GV
return b
chính xác hóa và gọi 1 học sinh nhắc l
n=int(input("Nhập tử số: "))
ại kiến thức
m=int(input(“Nhập mẫu số: ”)
uc=ucln(m,n)
n=a//uc
m=m//uc
print(“Phân số mới: ”,n,”/”,m)
C.HOẠTĐỘNGLUYỆNTẬP
a.Mụct iêu:Củng cố, luyện tập kiến thức vừa học.
b.N
ộid
ung:HS đọc SGK làm các bài tập.
c.Sảnp
hẩm:Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d.Tổchứcthựchiện:
-Nhận xét buổi thực hành=>đưa ra một số lổi thường gặp khi thực hành.
- Cần nắm cách khai báo và sử dụng hàm
-Cần nắm vững thuật tốn tìm UCLN của 2 số nguyên.
D.HOẠTĐỘNGV
ẬNDỤNG
a.Mụct iêu:Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn
.
b.N
ộid
ung:HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c.Sảnp
hẩm:HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d.Tổchứcthựchiện:
-GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi
và bài tập vận dụng: Bài 2 (SGK/73)
*HƯỚNGDẪNV
ỀNHÀ:
- Ơn lại bài học hơm nay;
- Chuẩn bị trước cho tiết sau TH
*RÚTKINHNGHIỆM
.....................................................................................................................................
....................................................................................................................................
.....................................................................................................................................
....................................................................................................................................
.....................................................................................................................................
....................................................................................................................................
.....................................................................................................................................
....................................................................................................................................
BÀITẬPTHỰCHÀNH6
Thời gian thực hiện: 2 tiết
I. MỤCTIÊU
1.Kiếnt hức:
- Hs tự xây dựng một số thật toán về xử lý xâu.
- Khắc sâu thêm phần kiến thức về lý thuyết thao tác xử lý xâu và làm việc với tệp
- Rèn luyện kỹ năng viết và sử dụng chương trình con
2.N
ănglực
- Năng lực giải quyết vấn đề, sáng tạo.
- Năng lực tự học, đọc hiểu.
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả.
- Năng lực tính tốn, Năng lực thực hành .
3.Phẩmchất
-Phẩmchất:Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: y
êu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II.THIẾTBỊDẠYHỌCV
ÀHỌCLIỆU
Giáoviên:Sách giáo khoa, máy tính điện tử và ĐTDĐ có cài đặt Python, Phần
mềm Zoom.
Họcsinh:đồ dùng học tập, SGK, vở ghi, máy tính hoặc ĐTDĐ có cài đặt Python,
Phần mềm Zoom.
III.TIẾNTRÌNHDẠYHỌC
A.HOẠTĐỘNGK
HỞIĐỘNG(MỞĐẦU)
a)Mụct iêu:Tạo tình huống khơi gợi tinh thần cho học sinh
b)Nộidung:Hs dựa vào hiểu biết để trả lời câu hỏi.
c)S
ảnp
hẩm:Từ yêu cầuHS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d)Tổchứcthựch
iện:GV giới thiệu và dẫn dắt vào bài:
B.HÌNHTHÀNHK
IẾNTHỨCMỚI
Hoạtđộng1:Tìmhiểub
ài1
a)Mụct iêu:Nắm được
b)Nộidung:HS quan sát SGK để tìm hiểu nội dung kiến thức theo u cầu của G
V.
c)S
ảnp
hẩm:HS hồn thành tìm hiểu kiến thức
d)Tổchứcthựch
iện:
Hoạtđ
ộngcủaGVvàHS
Sảnphẩmdựkiến
*Bước1:Chuyểngiaonhiệmvụ:
Bài 1: Viết chương trình con để đọc vào
Gv:Đưa nội dung bài tập lên máy chiếu: 1 xâu ký tự S, đưa ra xâu đảo ngược của
xâu S.
Gv: Quan sát Hs gõ chương trình và đư
a ra câu hỏi thảo luận như sau:
-Chương trình:
S=input(“Nhập xâu: ”)
-Đưa chương trình hoàn chỉnh lên máy s1=””
chiếu để HS nhận xét biến tồn cục,
def daonguocxau(s):
tham số hình thức/thực sự, cách sử dụng
global s1
biến toàn cục trong CTCon
s1=s1+s[::-1]
-Yêu cầu HS NX
với hai bộ test dưới thì kết quả xuất ra
daonguocxau(S)
màn hình như thế nào?
print(“Xâu đảo ngược:”,s1)
*Bước2:Thựch
iệnnhiệmvụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời c
âu hỏi
+ GV: quan sát và trợ giúp các cặp.
*Bước3:B
áocáo,thảoluận:
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại các tính chất.
+ Các nhóm nhận xét, bổ sung cho nhau
.+ Test tiếp với 2 bộ input. Chỉnh sửa lỗi
cú pháp(nếu có)
Input
Output
t
t
tin
nit
Tin hoc coh niT
ab 12 ba ab 21 ba
*Bước4:Kếtluận,nhậnđịnh:GV ch
ính xác hóa kiến thức.
Hoạtđộng2:Tìmhiểub
ài2
a)Mụct iêu:Nắm đượcbài 1
b)Nộidung:HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của G
V.
c)S
ảnp
hẩm:HS hoàn thành tìm hiểu kiến thức
d)Tổchứcthựch
iện:
HoạtđộngcủaGVvàHS
Sảnphẩmdựk
iến
*B
ước1:Chuyểngiaonhiệmvụ: Bài 2: Kiểm tra tính đối xứng của một xâu.
Gv: Hãy sửa lại chương trình trên mà Đưa ra kết quả Yes/No. (Xâu đối xứng là xâu
có kết quả đọc từ trái sang phải giống như đọc
không sử dụng biến P?
từ phải qua trái)
-Yêu cầu HS đưa ra cúpháp cấu trúc
-Thuật toán:
rẽ nhánh đủ và phép toán so sánh
bằng.
B1. Nhập xâu S, tìm xâu đối xứng S1
*B
ước2:Thựchiệnnhiệmvụ:
B2. So sánh S và S1, nếu S=S1 in Yes, ngược
+ HS: Suy nghĩ, tham khảo sgk trả lời lại in No
câu hỏi
-Chương trình: phát triển CT ở BT1
+ GV: quan sát và trợ giúp các cặp.
S=input(“Nhập xâu: ”)
*B
ước3:Báocáo,thảoluận:
s1=””
+ HS: Lắng nghe, ghi chú, một HS ph def daonguocxau(s):
át biểu lại các tính chất.
global s1
+ Các nhóm nhận xét, bổ sung cho nh
s1=s1+s[::-1]
au.
daonguocxau(S)
*B
ước4:Kếtluận,nhậnđ
ịnh:GV
chính xác hóa và gọi 1 học sinh nhắc l if S==s1:
ại kiến thức
print(“Yes”)
else:
print(“No”)
C.HOẠTĐỘNGLUYỆNTẬP
a.Mụct iêu:Củng cố, luyện tập kiến thức vừa học.
b.N
ộid
ung:HS đọc SGK làm các bài tập.
c.Sảnp
hẩm:Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d.Tổchứcthựchiện:
-Nhận xét buổi thực hành=>đưa ra một số lổi thường gặp khi thực hành.
- Cần nắm cách khai báo và sử dụng thủ tục và các câu lệnh sao chép xâu (đặc biệt
là sao chép ngược)
-Cần nắm vững thuật đảo ngược xâu.
D.HOẠTĐỘNGV
ẬNDỤNG
a.Mụct iêu:Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn
.
b.N
ộid
ung:HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c.Sảnp
hẩm:HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d.Tổchứcthựchiện:
-GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi
và bài tập vận dụng: Làm lại bài tập 2 với dữ liệu nhập/xuất làm việc với kiểu tệp.
HoạtđộngcủaGVvàHS
Sảnphẩmdựk
iến
*B
ước1:Chuyểngiaonhiệmvụ: Bài 3: Kiểm tra tính đối xứng của một xâu
Gv: Hãy sửa lại chương trình trên để nhập từ tệp DL.inp. Đưa ra tệp DL.out kết quả
Yes/No.
nhập xuất bằng tệp?
-Yêu cầu HS đưa ra cú pháp thao tác -Thuật toán:
làm việc với tệp.
B1. Mở tệp, nhập xâu S từ tệp DL.inp, tìm xâu
đối xứng s1 của S
*B
ước2:Thựchiệnnhiệmvụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời B2. So sánh S và S1, nếu S=S1 in ra tệp
DL.out Yes, ngược lại in No
câu hỏi
B3. Đóng các tệp.
+ GV: quan sát và trợ giúp các
nhóm.
-Chương trình: phát triển CT ở BT2
*B
ước3:Báocáo,thảoluận:
f1=open(“DL.inp”,’r’)
+ HS: Lắng nghe, ghi chú, một HS ph f2=open(“DL.out”,’w’)
át biểu lại các cú pháp cần sử dụng. S=f1.readline()
+ Các nhóm nhận xét, bổ sung cho nh s1=””
au.
def daonguocxau(S):
*B
ước4:Kếtluận,nhậnđ
ịnh:GV
global s1
chính xác hóa và nhắc lại kiến thức
s1=s1+S[::-1]
daonguocxau(S)
if S==s1:
f2.write(“Yes”)
else:
f2.write(“No”)
f1.close()
f2.close()
*HƯỚNGDẪNV
ỀNHÀ:
- Ơn lại bài học hơm nay;
- Chuẩn bị trước cho tiết sau tiếp tục thực hành với chương trình con
*RÚTKINHNGHIỆM
.....................................................................................................................................
....................................................................................................................................
.....................................................................................................................................
....................................................................................................................................
.....................................................................................................................................
....................................................................................................................................
.....................................................................................................................................
....................................................................................................................................
BÀITẬPTHỰCHÀNH7
Thời gian thực hiện: 2 tiết
I. MỤCTIÊU
1.Kiếnt hức:
- Hs tự xây dựng một số thật toán về xử lý dữ liệu kiểu số, kiểu danh sách là tập
hợp.
- Khắc sâu thêm phần kiến thức về lý thuyết thao tác làm việc với tệp
- Rèn luyện kỹ năng viết và sử dụng chương trình con
2.N
ănglực
- Năng lực giải quyết vấn đề, sáng tạo.
- Năng lực tự học, đọc hiểu.
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả.
- Năng lực tính tốn, Năng lực thực hành .
3.Phẩmchất
-Phẩmchất:Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: y
êu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II.THIẾTBỊDẠYHỌCV
ÀHỌCLIỆU
Giáoviên:Sách giáo khoa, máy tính điện tử và ĐTDĐ có cài đặt Python, Phần
mềm Zoom.
Họcsinh:đồ dùng học tập, SGK, vở ghi, máy tính hoặc ĐTDĐ có cài đặt Python,
Phần mềm Zoom.
III.TIẾNTRÌNHDẠYHỌC
A.HOẠTĐỘNGK
HỞIĐỘNG(MỞĐẦU)
a)Mụct iêu:Tạo tình huống khơi gợi tinh thần cho học sinh
b)Nộidung:Hs dựa vào hiểu biết để trả lời câu hỏi.
c)S
ảnp
hẩm:Từ yêu cầuHS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d)Tổchứcthựch
iện:GV giới thiệu và dẫn dắt vào bài:
B.HÌNHTHÀNHK
IẾNTHỨCMỚI
Hoạtđộng1:Tìmhiểub
ài1
a)Mụct iêu:Nắm được
b)Nộidung:HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của G
V.
c)S
ảnp
hẩm:HS hồn thành tìm hiểu kiến thức
d)Tổchứcthựch
iện:
Hoạtđ
ộngcủaGVvàHS
Sảnphẩmdựk
iến
*Bước1:Chuyểngiaonhiệmvụ:
Gv:Đưa nội dung bài tập lên máy chiếu
: Gv: đưa ra câu hỏi thảo luận như sau:
Bài 1: Cho 2 điểm A và B có tọa độ
tương ứng là 2 cặp số thực (3;4), (-2;5).
Viết hàm để tính độ dài đoạn thẳng AB
-CT tính độ dài đoạn thẳng AB ?
-Chương trình:
-Chuyển cơng thức tốn học thành biểu
thức Python?
def KC(a,b,c,d):
-Yêu cầu HS viết code hàm tính
khoảng cách.
a,b,c,d=3,4,-2,5
return (((a-c)**2+(b-d)**2)**0.5)
print(round(KC(a,b,c,d)),2)
*Bước2:Thựch
iệnnhiệmvụ:
+ HS: Suy nghĩ, tham khảo tài liệu
và trả lời câu hỏi
Input Output
+ GV: quan sát và trợ giúp HS.
34
*Bước3:B
áocáo,thảoluận:
-2 5
5.10
+ HS: Lắng nghe, ghi chú, một HS phát
biểu ý tưởng.
+ Các nhóm nhận xét, bổ sung cho nha
u.
+ Test tiếp với 2 bộ input. Chỉnh sửa lỗi
cú pháp(nếu có)
*Bước4:Kếtluận,nhậnđịnh:GV c
hính xác hóa kiến thức.
Hoạtđộng2:Tìmhiểub
ài2
a)Mụct iêu:Nắm đượcbài 1
b)Nộidung:HS quan sát SGK để tìm hiểu nội dung kiến thức theo u cầu của G
V.
c)S
ảnp
hẩm:HS hồn thành tìm hiểu kiến thức
d)Tổchứcthựch
iện:
HoạtđộngcủaGVvàHS
Sảnphẩmdựk
iến
*B
ước1:Chuyểngiaonhiệmvụ: Bài 2: Cho 3 điểm A, B, C có tọa độ tương ứng
Gv: Yêu cầu HS đưa ra cách KT tính là 3 cặp số thực (3;4), (-2;5), (2;-1). Viết
chương trình chứng minh 3 điểm ABC là 3
thẳng hàng của 3 điểm, sau đo viết
chương trình con thực hiện việc KT.. đỉnh của một tam giác.
*B
ước2:Thựchiệnnhiệmvụ:
+ HS: Suy nghĩ, tham khảo tài liệu
và trả lời câu hỏi
Thuật tốn: Kiểm tra tính thẳng hàng của 3
điểm ABC bằng BT:
(3+2)/(4-5)=(-2-2)/(5+1)
+ GV: quan sát và trợ giúp các
nhóm.
Nếu KQ sai thì 3 điểm khơng thẳng hàng,
ABC là 3 đỉnh của một tam giác.
*B
ước3:Báocáo,thảoluận:
-Chương trình:
+ HS: Lắng nghe, ghi chú, một HS ph def tamgiac(a,b,c,d,e,f):
át biểu CT và ý tưởng viết code
if ((a-c)/(b-d))!=((e-c)/(f-d)):
+ Các nhóm nhận xét, bổ sung cho nh
au.
*B
ước4:Kếtluận,nhậnđ
ịnh:GV
chính xác hóa nhắc lại kiến thức
return(true)
else:
return (false)
a,b,c,d,e,f=3,4,-2,5,2,-1
print(tamgiac(a,b,c,d,e,f))
Input Output
34
True
-2 5
2 -1
C.HOẠTĐỘNGLUYỆNTẬP
a.Mụct iêu:Củng cố, luyện tập kiến thức vừa học.
b.N
ộid
ung:HS đọc SGK làm các bài tập.
c.Sảnp
hẩm:Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d.Tổchứcthựchiện:
-Nhận xét buổi thực hành=>đưa ra một số lổi thường gặp khi thực hành.
- Yêu cầu HS Cần nắm cách Tính độ dài đoạn thẳng, nắm vững thuật tốn Kt tính
thẳng hàng của 3 điểm trên mặt phẳng tọa độ Oxy.
HoạtđộngcủaGVvàHS
Sảnphẩmdựk
iến
*B
ước1:Chuyểngiaonhiệmvụ:
Bài 3: Cho 3 điểm A, B, C có tọa độ tương
ứng là 3 cặp số thực (3;4), (-2;5), (2;-1). Viết
Gv: Yêu cầu HS đưa ra ý tưởng sử
dụng 2 chương trình con đã tạo được ở chương trình chứng minh 3 điểm ABC là 3
Bài 1, Bài 2, sau đó viết chương trình đỉnh của một tam giác đồng thời tính chu vi
của tam giác (nếu có)
thực hiện việctính Chu vi..
*B
ước2:Thựchiệnnhiệmvụ:
Thuật tốn:
+ HS: Suy nghĩ, tham khảo tài liệu
và trả lời câu hỏi
B1. Kiểm tra tính thẳng hàng của 3 điểm ABC
bằng chương trình con ở bài 2
+ GV: quan sát và trợ giúp các nhóm. B2.Nếu KQ B1 là True thì lần lượt tính độ dài
3 cạnh AB, AC, BC bằng chương trình con ở
*B
ước3:Báocáo,thảoluận:
Bài 1.
+ HS: Lắng nghe, ghi chú, một HS phá B3. Tính Chu vi tam giác bằng cơng thức:
t biểu CT và ý tưởng viết code
P=AB+BC+AC
+ Các nhóm nhận xét, bổ sung cho nha
-Chương trình:
u.
*B
ước4:Kếtluận,nhậnđ
ịnh:GV c a,b,c,d,e,f=3,4,-2,5,2,-1
hính xác hóa nhắc lại kiến thức
def tamgiac(a,b,c,d,e,f):
if ((a-c)/(b-d))!=((e-c)/(f-d)):
Input Output
34
return(true)
else:
return (false)
17.41
-2 5
if tamgiac(a,b,c,d,e,f):
2 -1
AB=KC(a,b,c,d)
AC=KC(a,b,e,f)
13
26
3 điểm không phải đỉnh 1 tam
giác
-2 -6
BC=KC(c,d,e,f)
P=AB+BC+AC
print (“Chu vi = ”, round(p,2))
else:
print(“ 3 điểm không phải đỉnh 1 tam
giác”)
D.HOẠTĐỘNGV
ẬNDỤNG
a.Mụct iêu:Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn
.
b.N
ộid
ung:HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c.Sảnp
hẩm:HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d.Tổchứcthựchiện:
-GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi
và bài tập vận dụng: Làm lại bài tập 3vớidữliệunhập/xuấtlàmviệcvớikiểutệp.
HoạtđộngcủaGVvàHS
Sảnphẩmdựk
iến
*B
ước1:Chuyểngiaonhiệmvụ:
Bài 4: Cho 3 điểm A, B, C có tọa độ tương
ứng là 3 cặp số thực (3;4), (-2;5), (2;-1). Viết
chương trình chứng minh 3 điểm ABC là 3
đỉnh của một tam giác đồng thời tính chu vi
của tam giác (nếu có). Biết dữ liệu nhập từ
tệp DL.inp gồm 3 dòng, mỗi dòng gồm 2 tọa
độ củ 1 điểm. Kết quả in ra tệp DL.out .
Gv: Hãy sửa lại chương trình trên để
nhập xuất bằng tệp?
-Yêu cầu HS đưa ra cú pháp thao tác
làm việc với tệp.
*B
ước2:Thựchiệnnhiệmvụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời -Thuật toán:
câu hỏi
B1. Mở tệp, nhập 3 bộ tọa độ từ tệp DL.inp
+ GV: quan sát và trợ giúp các nhóm. B2. KTtính thẳng hàng, Tính chu vi (nếu có)
*B
ước3:Báocáo,thảoluận:
B3. In KQ ra tệp DL.out
+ HS: Lắng nghe, ghi chú, một HS phá B4. Đóng các tệp.
t biểu lại các cú pháp cần sử dụng.
-Chương trình: phát triển CT ở BT3
+ Các nhóm nhận xét, bổ sung cho nha
f1=open(“DL.inp”,’r’)
u.
*B
ước4:Kếtluận,nhậnđ
ịnh:GV c f2=open(“DL.out”,’w’)
hính xác hóa và nhắc lại kiến thức
a,b=map(float,f1.readline().split)
c,d=map(float,f1.readline().split)
DL.inp DL.out
34
17.41
e,f=map(float,f1.readline().split)
def tamgiac(a,b,c,d,e,f):
if ((a-c)/(b-d))!=((e-c)/(f-d)):
return(true)
-2 5
else:
2 -1
return (false)
13
26
-2 -6
3 điểm không phải đỉnh 1
tam giác
if tamgiac(a,b,c,d,e,f):
AB=KC(a,b,c,d)
AC=KC(a,b,e,f)
BC=KC(c,d,e,f)
P=AB+BC+AC
f2.write (“Chu vi = ”, round(p,2))
else:
f2.write (“ 3 điểm không phải đỉnh 1 tam
giác”)
f1.close()
f2.close()
*HƯỚNGDẪNV
ỀNHÀ:
- Ơn lại bài học hơm nay;
- Chuẩn bị trước cho tiết sau Ôn tập HKII
*RÚTKINHNGHIỆM
.....................................................................................................................................
....................................................................................................................................
.....................................................................................................................................
....................................................................................................................................
.....................................................................................................................................
....................................................................................................................................
.....................................................................................................................................
....................................................................................................................................
ĐỀCƯƠNGÔNTẬPHỌCKỲII
--------------I.CÁCKIẾNTHỨC,KỸNĂNGCẦNNẮMVỮNG
A. Về kiến thức: Học sinh cần nêu được:
1. Khái niệm và lợi ích của kiểu dữ liệu tệp.
2. Cú pháp các thao tác làm việc với tệp.
3. Khái niệm chuong trình con, khái niệm hàm và thủ tục..
4. Cú pháp khai báo và gọi chương trình con.
5. Khái niệm biến cục bộ và biến toàn cục.
B. Về kỹ năng:
1. Phân biệt được hàm và thủ tục. Biết cách khai báo và gọi 1 chương trình con.
Phân biệt được biến cục bộ với biến tồn cục.
2. Viết được lệnh mở/đóng tệp.
3. Viết được các lệnh nhập dữ liệu vào từ tệp (Nhập xâu, nhập số nguyên, nhập số
thực)
4. Viết được lệnh in dữ liệu ra tệp .
5. Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể hiện
được thuật toán của một số bài toán đơn giản.
6. Viết đúng các lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần định trước.
7. Viết được chương trình đơn giản bằng NNLT Python, sử dụng cấu trúc rẽ nhánh,
lặp, dữ liệu mảng, xâu.
II.BÀITẬPÔNTẬP
I. Lý thuyết
Câu 1: Nêu khái niệm chương trình con? Nêu lợi ích của việc sử dụng chương
trình con?
Câu 2: Phân loại và nêu cấu trúc chương trình con?
Câu 3: Nêu sự khác nhau giữa tham số hình thức, tham số thực sự, biến cục bộ,
biến tồn cục trong chương trình con?
Câu 4: Trình bày các thao các làm việc với tệp.
Câu 5: So sánh cấu trúc hàm và cấu trúc thủ tục.
II. Bài tập và thực hành
Bài 1: Viết chương trình có sử dụng chương trình con để vẽ 5 hình chữ nhật có
kích thước giống nhau. Kích thước hình chữ nhật nhập từ tệp DL.inp
Bài 2: Viết chương trình có sử dụng chương trình con để tính tổng:
S = am+ bn+ cp
Trong đó a,b,c là các số thực; m, n, p là số nguyên nhập từ tệp DL.inp
Bài 3: Viết chương trình tìm giá trị nhỏ nhất trong 3 số ngun nhập vào từ bàn
phím, trong đó có sử dụng hàm Tìm số nhỏ nhất từ hai số.
Yêu cầu: Các bài tập 1,2,3 đều xuất dữ liệu ra tệp DL.out
ÔNTẬP
I. MỤCTIÊU
1.Kiếnt hức:
- Hs củng cố lại những kiến thức đã học về NNLT Python
- Khắc sâu thêm phần kiến thức về lý thuyết thao tác làm việc với tệp
- Rèn luyện kỹ năng viết và sử dụng chương trình con
- Biết vận dụng những kiến thức kỹ năng đã học để giải các bài tập thực tế.
2.N
ănglực
-Năng lực giải quyết vấn đề, sáng tạo.
- Năng lực tự học, đọc hiểu.
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả.
- Năng lực tính tốn, Năng lực thực hành .
3.Phẩmchất
-Phẩmchất:Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: y
êu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm,bồi dưỡng sự yêu thích đối
với lĩnh vực lập trình.
II.THIẾTBỊDẠYHỌCV
ÀHỌCLIỆU
Giáoviên:Sách giáo khoa, máy tính điện tử và ĐTDĐ có cài đặt Python, Phần
mềm Zoom., đề cương ôn tập
Họcsinh:đồ dùng học tập, SGK, vở ghi, máy tính hoặc ĐTDĐ có cài đặt Python,
Phần mềm Zoom.,đề cương ơn tập.
III.TIẾNTRÌNHDẠYHỌC
AHOẠTĐỘNGKHỞIĐỘNG(MỞĐẦU)
a)Mụct iêu:Kiểm tra việc chuẩn bị các nội dung câu hỏi lý thuyết của HS
b)Nộidung:Hs dựa vào hiểu biết để trả lời câu hỏi các câu hỏi Lý thuyết trong
Đề cương ôn tập.
c)S
ảnp
hẩm:HS vận dụng kiến thức để trả lời câu hỏi 1->5 phần lý thuyết.
d)Tổchứcthựch
iện:GV KT xác xuất 5 HS:
B.HÌNHTHÀNHK
IẾNTHỨCMỚI
Hoạtđộng1:TìmhiểuB
àitậpthựchành1
a)Mụct iêu:Nắm đượccác kỹ năng và kiến thức trọng tâm
b)Nộidung:HS tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c)S
ảnp
hẩm:HS hồn thành tìm hiểu kiến thức
d)Tổchứcthựch
iện:
Hoạtđ
ộngcủaGVvàHS
Sảnphẩmdựkiến
*Bước1:Chuyểngiaonhiệmvụ:
Bài 1: Viết chương trình có sử dụng
Gv:Đưa nội dung bài tập lên máy chiếu chương trình con để vẽ 5 hình chữ nhật
có kích thước giống nhau. Kích thước
:
hình chữ nhật nhập từ tệp DL.inp
Gv: đưa ra câu hỏi thảo luận như sau:
-Gợi ý: Sử dụng bài tập vẽ hình chữ nhật,
Bài tập này có thể sử dụng chương
tổ chức thành 1 thủ tục Vehcn(a,b). Lặp
trình đã có sẵn nào?
thủ tục 5 lần
-Lặp Chương trình con vẽ hình chữ
-Chương trình:
nhật bao nhiêu lần
f1=open(“DL.inp”,’r’)
-Yêu cầu HS viết code chương trình
f2=open(“DL.out”,’w’)
*Bước2:Thựch
iệnnhiệmvụ:
a,b=map(int,f1.readline().split)
+ HS: Suy nghĩ, tham khảo tài liệu
def Vecanhday(a):
và trả lời câu hỏi
for x in range (0,a):
+ GV: quan sát và trợ giúp HS.
f2.write(“*”)
*Bước3:B
áocáo,thảoluận:
f2.write(“\n”)
+ HS: Lắng nghe, ghi chú, một HS phát
biểu ý tưởng.
def Vecanhgiưa(a):
+ Các nhóm nhận xét, bổ sung cho nha
u.
+ Test tiếp với 2 bộ input. Chỉnh sửa lỗi
cú pháp(nếu có)
*Bước4:Kếtluận,nhậnđịnh:GV c
hính xác hóa kiến thức.
f2.write (“*”)
for x in range (1,a-1):
f2.write (“ ”)
f2.write (“*”+”\n”)
def vehcn(a,b):
Vecanhday(a)
for x in range (1,b-1):
Vecanhgiưa(a)
Vecanhday(a)
for x in range(0,5):
vehcn(a,b)
f1.close()
f2.close()