logo

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

Hướng dẫn Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện trang 92, 93 SGK Tin học 10 ngắn gọn, đầy đủ bám sát nội dung bộ sách mới Cánh diều.

Bài 11: Thực hành lập trình với hàm và thư viện trang 92, 93 SGK Tin học 10 Cánh diều


Khởi động


1. Giải phương trình

Trả lời câu hỏi trang 92 SGK Tin học 10: Chương trình cho trong Hình 1 nhằm tạo một bảng chọn việc, để người chạy chương trình chọn cho máy tính giúp giải phương trình bậc nhất hay giải phương trình bậc hai. Em hãy đưa khai báo của các hàm thực hiện hai việc nói trên và các lời gọi chúng vào đúng chỗ trong chương trình. Sau đó hãy chạy thử chương trình với một số dữ liệu đầu vào khác nhau để kiểm thử chương trình.

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

Lời giải:

import math

def gptb1():

a = float(input("Nhập hệ số a: "))

b = float(input("Nhập hệ số b: "))

if a == 0:

if b == 0:

print("Vô số nghiệm")

else:

print("Vô nghiệm")

else:

print("Phương trình có nghiệm x =", -b / a)

def gptb2():

# Nhập các hệ số

a = float(input("Nhập hệ số bậc 2, a = "));

b = float(input("Nhập hệ số bậc 1, b = "));

c = float(input("Nhập hằng số tự do, c = "));

# kiểm tra các hệ số

if (a == 0):

if (b == 0):

print ("Phương trình vô nghiệm!");

else:

print ("Phương trình có một nghiệm: x = ", + (-c / b));

return;

# tính delta

delta = b * b - 4 * a * c;

# tính nghiệm

if (delta > 0):

x1 = (float)((-b + math.sqrt(delta)) / (2 * a));

x2 = (float)((-b - math.sqrt(delta)) / (2 * a));

print ("Phương trình có 2 nghiệm là: x1 = ", x1, " và x2 = ", x2);

elif (delta == 0):

x1 = (-b / (2 * a));

print("Phương trình có nghiệm kép: x1 = x2 = ", x1);

else:

print("Phương trình vô nghiệm!");

#Khai báo hàm Giải pt bậc nhất GPTBN1

#Khai báo hàm Giải pt bậc hai GPTB2

#Tạo bảng chọn việc

while True:

print("*********************************************")

print("BẢNG CHỌN VIỆC")

print("1. Giải phương trình bậc nhất ")

print("2. Giải phương trình bậc hai ")

print("3. Thoát khỏi công việc")

print("*********************************************")

chon = input("Hãy chọn (1 hay 2 hay 3): ")

if chon == '1':

print("Giải phương trình bậc nhất ")

gptb1()

elif chon == '2':

print("Giải phương trình bậc hai")

gptb2()

else:

print("Tạm biệt")

break

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

2. Thời gian gặp nhau

Trả lời câu hỏi trang 92 SGK Tin học 10: Hiện tại, anh trai Khánh Nam đang ở thành phố A còn em gái Sương Mai đang ở thành phố B. Khoảng cách giữa hai thành phố đó là d km. Hai anh em đi ô tô xuất phát cùng một thời điểm từ hai thành phố, ô tô khởi hành từ A đi về B với tốc độ không đổi v1 km/h, ô tô khởi hành từ B đến A với tốc độ không đổi v2 km/h; trong đó d, v1, v2 là các số thực. Chương trình ở Hình 2 khai báo hàm time với các tham số d, v1, v2 để xác định thời gian hai ô tô gặp nhau tính từ lúc xuất phát. Em hãy:

a) Hoàn thiện chương trình ở Hình 2 bằng cách bổ sung cho chương trình lời gọi hàm time với dữ liệu nhập từ bàn phím.

b) Chạy chương trình và chạy thử chương trình với ít nhất hai bộ dữ liệu vào khác nhau.

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

Lời giải:

a) 

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

 

b) Kết quả với 2 bộ dữ liệu khác nhau

d = 350, v1 = 60, v2=50

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

d = 100, v1 = 40, v2=35

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

3. Thời gian thực hiện chương trình

Trả lời câu hỏi trang 93 SGK Tin học 10: Hàm time (với lời gọi time()) trong thư viện time cho biết thời gian tại thời điểm hiện tại (tính theo giây). Để biết thời gian thực hiện chương trình, người ta ghi nhận thời điểm lúc bắt đầu thực hiện chương trình, thời điểm lúc kết thúc chương trình và đưa ra hiện các thời điểm đã xác định. Em hãy gắn hàm time từ thư viện time vào một số chương trình đã có của em và đưa ra thời gian thực hiện chương trình.

Lời giải:

import time

tb = time.time()

n = 0

s = 0

x = int(input())

while x > 0:

n = n + 1

s = s + x

x = int(input())

if n > 0 : print("Trung bình cộng: ", s/n)

print("\nTime: %.4f sec"%(time.time()-tb))

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

4. Vận dụng

Trả lời câu hỏi trang 93 SGK Tin học 10: Viết chương trình vẽ bằng một hình chữ nhật bằng dấu # với một cạnh có độ dài bằng 10, một cạnh có độ dài bằng a. Ví dụ với a = 4, hình chữ nhật cần vẽ như hình bên:

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

Yêu cầu xây dựng một hàm Drawbox với tham số (a), hàm này đưa ra màn hình các dòng, mỗi dòng chứa 10 dấu # liên tiếp và tham số a quyết định số dòng sẽ được đưa ra. Chương trình gọi hàm Drawbox(a) với a nhập vào từ bàn phím.

Lời giải:

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

Kết quả:

Soạn Tin 10 Bài 11 Cánh diều: Thực hành lập trình với hàm và thư viện

>>> Xem trọn bộ: Soạn Tin 10 Cánh diều

-----------------------------

Trên đây Top lời giải đã cùng các bạn Soạn Tin 10 Bài 11:  Thực hành lập trình với hàm và thư viện trong bộ SGK Cánh diều theo chương trình sách mới. Chúng tôi hi vọng các bạn đã có kiến thức hữu ích khi đọc bài viết này. Top lời giải đã có đầy đủ các bài soạn cho các môn học trong các bộ sách mới Cánh Diều, Chân trời sáng tạo, Kết nối tri thức. Mời các bạn hãy click ngay vào trang chủ Top lời giải để tham khảo và chuẩn bị bài cho năm học mới nhé. Chúc các bạn học tốt!  

icon-date
Xuất bản : 23/09/2022 - Cập nhật : 23/09/2022