Chủ đề F: Giải quyết vấn đề với sự trợ giúp của máy tính

Xem toàn bộ tài liệu Lớp 10 – Cánh Diều: tại đây

Khởi động trang 86 Tin học 10:

Lời giải:

Bình luận: Khi lập trình để giải quyết một bài toán có thể chia bài toán đó thành các bài toán con, viết đoạn chương trình giải quyết từng bài toán con và đặt tên cho các đoạn chương trình con đó. Việc làm này sẽ giúp giải bài toán nhanh, gọn, dễ dàng hơn.

Hoạt động 1 trang 86 Tin học 10:

Bài toán: Cho ba tam giác có độ dài ba cạnh lần lượt là a, b và c; u, v và w; p, q và r. Độ dài các cạnh đều là số thực cùng đơn vị đo. Em hãy tính diện tích của mỗi tam giác đó và đưa ra diện tích lớn nhất trong các diện tích tính được. Công thức Heron tính diện tích tam giác theo độ dài ba cạnh:

Lời giải:

Chia bài toán trên thành hai bài toán con:

– Bài toán 1: Tính diện tích tam giác dựa vào công thức Heron

– Bài toán 2: Tìm ra giá trị lớn nhất trong 3 số.

Hoạt động 2 trang 88 Tin học 10:

1) Em hãy soạn thảo chương trình ở Hình 2 đặt tên là “VD_ptb1.py”, sau đó chạy chương trình với các dữ liệu đầu vào như ở Hình 3 và đối chiếu kết quả.

2) Em hãy sửa lại chương trình “VD_ptb1.py” theo các bước trong Bảng 1, đặt tên là “Try_ptb1.py”, chạy thử và trả lời hai câu hỏi sau:

a) Chương trình “Try_ptb1.py” đã truyền trực tiếp hệ số a = 5, b = 4 vào lời gọi hàm ptb1(5, 4) kết quả khi chạy có khác gì với kết quả chạy chương trình ở Hình 2 không?

b) Vì sao trong chương trình “Try_ptb1.py”, thân của hàm không cần những câu lệnh nhập giá trị cho các hệ số a, b?

Bảng 1. Các bước sửa chương trình “VD_ptb1.py”

1) Bổ sung tham số a, b vào trong cặp ngoặc () ở dòng khai báo hàm, để được ptb1(a, b).

2) Xoá trong thân hàm hai lênh nhập hệ số a, b từ bàn phím.

3) Thay lời gọi ptb1() bằng ptb1(5, 4) để hàm thực hiện với a = 5, b = 4.

4) Thêm các lời gọi thực hiện hàm ptb1(a, b) tương ứng với cặp hệ số a = 0, b = 0 và a= 0, b = 4

Lời giải:

1) 

def ptb1(): #Giải phương trình bậc nhất

a = int(input(“a = “))

b = int(input(“b = “))

if a!= 0:

print(“Phương trình có nghiệm duy nhất: “, -b/a)

elif b == 0:

print(“Phương trình có vô số nghiệm”)

else:

print(“Phương trình vô nghiệm”)

ptb1()

2) 

def ptb1(a, b): #Giải phương trình bậc nhất

if a!= 0:

print(“Phương trình có nghiệm duy nhất: “, -b/a)

elif b == 0:

print(“Phương trình có vô số nghiệm”)

else:

print(“Phương trình vô nghiệm”)

ptb1(5, 4)

ptb1(0, 0)

ptb1(0, 4)

a) Kết quả khi chạy giống với kết quả chạy chương trình của Hình 2.

b) Do ta đã truyền trực tiếp giá trị của a và b vào hàm ptb1 nên không cần những câu lệnh nhập giá trị cho các hệ số a, b trong thân hàm.

Luyện tập 1 trang 90 Tin học 10:

Lời giải:

– Chương trình bị sai ở dòng lệnh: c = a + b + BSCNN()

Lời gọi hàm sai do không truyền vào hai giá trị x, y cho hàm BSCNN()

– Dòng lệnh đúng: print(“Bội chung nhỏ nhất: “, BSCNN(a, b)) do đã truyền vào hai giá trị a, b trong lời gọi hàm BSCNN(x, y)

Luyện tập 2 trang 91 Tin học 10:

Lời giải:

def dientichtg(a, b, c):

p = (a + b + c)/2

s = p * (p – a) * (p – b) * (p – c)

return s**0.5

print(“Diện tích tam giác: “, dientichtg(3, 4, 5))

Vận dụng trang 91 Tin học 10:

Lời giải:

Chương trình: 

def dientichtg(a, b, c):

p = (a + b + c)/2

s = p * (p – a) * (p – b) * (p – c)

return s**0.5

def timMax(s1, s2, s3):

max = s1

if max < s2: max = s2

if max < s3: max = s3

return max

a, b, c = 3, 4, 5

u, v, w = 4,6, 7

p, q, r = 3.5, 4.5, 6

s1 = dientichtg(a, b, c)

s2 = dientichtg(u, v, w)

s3 = dientichtg(p, q, r)

max = timMax(s1, s2, s3)

print(“Diện tích tam giác lớn nhất là: “, max)

Câu hỏi trang 91 Tin học 10:

1) Sử dụng chương trình con sẽ làm chương trình dễ hiểu, dễ tìm lỗi hơn.

2) Hàm chỉ được gọi một lần duy nhất ở chương trình chính.

3) Hàm luôn trả một giá trị qua tên hàm.

4) Python chỉ cho phép chương trình gọi một hàm xây dựng sẵn trong các thư viện của Python.

5) Khai báo hàm trong Python luôn có danh sách tham số.

Lời giải:

Những câu đúng: 1

1) Sử dụng chương trình con sẽ làm chương trình dễ hiểu, dễ tìm lỗi hơn.

2) Hàm có thể được gọi nhiều lần duy nhất ở chương trình chính.

3) Hàm có thể không trả về giá trị nào qua tên hàm.

4) Python cho phép chương trình gọi một hàm do người dùng xây dựng ngoài các hàm sẵn trong các thư viện của Python.

5) Khai báo hàm trong Python có thể không có tham số.

 

Bài giải này có hữu ích với bạn không?

Bấm vào một ngôi sao để đánh giá!

Đánh giá trung bình 4 / 5. Số lượt đánh giá: 1004

Chưa có ai đánh giá! Hãy là người đầu tiên đánh giá bài này.

--Chọn Bài--

Tài liệu trên trang là MIỄN PHÍ, các bạn vui lòng KHÔNG trả phí dưới BẤT KỲ hình thức nào!

Tải xuống