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

1900.edu.vn xin giới thiệu giải bài tập Tin học lớp 10 Bài 11: Thực hành lập trình với hàm và thư viện Cánh diều hay nhất, chi tiết giúp học sinh dễ dàng làm bài tập Tin học 10 Bài 11. Mời các bạn đón xem:

Giải Tin học 10 Bài 11: Thực hành lập trình với hàm và thư viện

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

Bài 1 trang 92 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.

Tin học 10 Bài 11: Thực hành lập trình với hàm và thư viện | Cánh diều (ảnh 1)

Trả lời:

import math

def gptb1(a,b):   

    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(a,b,c):

    # 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

Tin học 10 Bài 11: Thực hành lập trình với hàm và thư viện | Cánh diều (ảnh 3)

Bài 2. Thời gian gặp nhau

Bài 2 trang 92 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 đi đế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 mtime 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 mtime với dữ liệu nhập từ bàn phím.

Tin học 10 Bài 11: Thực hành lập trình với hàm và thư viện | Cánh diều (ảnh 4)

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.

Trả lời:

a)

def mtime(d, v1, v2):

t = v1 + v2

return d/t

d = float(input("d = "))

v1 = float(input("v1 = "))

v2 = float(input("v2 = "))

print("Hai xe gặp nhau sau", mtime(d, v1, v2), "giờ.")

Tin học 10 Bài 11: Thực hành lập trình với hàm và thư viện | Cánh diều (ảnh 7)

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

d = 350, v1 = 60, v2=50

Tin học 10 Bài 11: Thực hành lập trình với hàm và thư viện | Cánh diều (ảnh 5)

d = 100, v1 = 40, v2=35

Tin học 10 Bài 11: Thực hành lập trình với hàm và thư viện | Cánh diều (ảnh 6)

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

Bài 3 trang 93 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.

Tin học 10 Bài 11: Thực hành lập trình với hàm và thư viện | Cánh diều (ảnh 8)

Trả lờ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))

Tin học 10 Bài 11: Thực hành lập trình với hàm và thư viện | Cánh diều (ảnh 9)

Vận dụng (trang 93)

Vận dụng trang 93 Tin học 10: Viết chương trình vẽ một hình chữ nhật bằng các 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.

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

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.

Trả lời:

def Drawbox(a):

for i in range(a + 1):

for j in range(10):

print("#", end = "")

print()       

a = int(input("Nhập a "))

Drawbox(a)

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

Xem thêm các bài giải SGK Tin học lớp 10 Cánh diều hay, chi tiết khác:

Bài 9: Thực hành câu lệnh lặp

Bài 10: Chương trình con và thư viện các chương trình con có sẵn

Bài 12: Kiểu dữ liệu Xâu ký tự - xử lý xâu ký tự

Bài 13: Thực hành dữ liệu kiểu xâu

Bài 14: Kiểu dữ liệu danh sách - Xử lí danh sách

Câu hỏi liên quan

import math def gptb1(a,b):        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(a,b,c):     # 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
Xem thêm
s1 = input("Nhập xâu 1: ") s2 = input("Nhập xâu 2: ") s3 = s1 + " "+ s2 t = 1 for ch in s3: if ch == " ": t = t + 1 print("Số từ: ", t)
Xem thêm
def Drawbox(a): for i in range(a + 1): for j in range(10): print("#", end = "") print()        a = int(input("Nhập a ")) Drawbox(a)
Xem thêm
s = input("Nhập ngày tháng năm") s1 = s[0:2] s2 = s[3:5] s3 = s[6:10] s4 = "Ngày "+s1+" tháng "+s2+" năm "+s3 print(s4)
Xem thêm
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))
Xem thêm
Những câu đúng: 1, 2 1) Có thể ghép các xâu để được xâu mới bằng phép nối. 2) Có thể tìm vị trí một xâu con trong một xâu bằng câu lệnh find(). 3) Có thể xoá một xâu con trong một xâu. 4) Có thể thay đổi một xâu con trong một xâu.
Xem thêm
- Dự đoán kết quả: Hà Nội là thủ đô của nước Việt Nam.Nam Khánh sinh ra ở Hà Nội. (Nối hai xau1 và xau2) 3 (Đếm xem từ kí tự có chỉ mục 6 có bao nhiêu kí tự “N”) 39 (tìm ra chỉ mục đầu tiên của xâu “Khánh”) ội là (in ra xâu từ chỉ mục thứ 4 đến chỉ mục thứ 8) Hà Nội là thủ đô của nước Việt Nam.Nam An sinh ra ở Hà Nội. (Thay thế xâu “Khánh” thành xâu “An”)
Xem thêm
Biến so_hop kiểu số nguyên int Biến khoi_luong_hop kiểu số thực float Biến don_vi_kl kiểu dữ liệu xâu kí tự
Xem thêm
- Ngoài kiểu dữ liệu số cần có các kiểu dữ liệu không phải số cho các bài toán xử lý văn bản. - Những phép xử lý nên có trên kiểu dữ liệu kiểu đó sẽ bảo gồm: đếm số ký tự, cắt chuỗi, nối chuỗi, thay thế ký tự trong chuỗi, tìm kiếm ký tự trong chuỗi, viết hoa,…
Xem thêm
- Chương trình 1: Kết quả: Trúc xinh trúc mọc bờ ao ⇒ Thay thế xâu x1 bằng xâu x2 trong xâu y - Chương trình 2: Kết quả: Trúc xinh trúc mọc bờ ao Em xinh em đứng một mình cũng xinh   Trúc xinh trúc mọc sân đình Em xinh em đứng một mình cũng xinh ⇒ Thay thế xâu “bờ ao” trong xâu a thành “sân đình” Do trong xâu b không có “nơi nào” nên xâu b giữ nguyên.
Xem thêm
Xem tất cả hỏi đáp với chuyên mục: Thực hành lập trình với hàm và thư viện
Chủ đề:
Bình luận (0)

Đăng nhập để có thể bình luận

Chưa có bình luận nào. Bạn hãy là người đầu tiên cho tôi biết ý kiến!