Giải Tin học 10 Bài 5: Thực hành viết chương trình đơn giản
Bài 1. Giải phương trình bậc nhất
Bài 1 trang 69 Tin học 10: Chương trình ở Hình 1a được viết để giải phương trình bậc nhất ax + b = 0, với a, b là hai số thực nhập từ bàn phím (a ≠ 0) và nghiệm thu được thông báo ra màn hình.
Tuy nhiên, chương trình đó còn viết thiếu ở những vị trí “…”. Em hãy hoàn thiện chương trình và kiểm thử xem với dữ liệu vào a = 1 và b = 2, chương trình em vừa hoàn thiện có cho kết quả giống như Hình 1b không?
Chương trình sẽ đưa ra màn hình thông tin gì nếu nhập vào giá trị a = 0?
Trả lời:
- Hoàn thiện chương trình:
a = float(input("a = "))
b = float (input("b = "))
print("Nghiệm của phương trình là ", -b/a)
- Chạy thử với a = 1, b = 2:
- Chương trình hoàn thiện cho kết quả giống
- Nếu nhập a = 0 thì chương trình sẽ đưa ra thông báo lỗi:
ZeroDivisionError: float division by zero
Bài 2. An ninh lương thực
Bài 2 trang 69 Tin học 10: Trung bình mỗi người dân cần có a kg gạo để ăn, chế biến và phục vụ chăn nuôi trong một năm. Để đảm bảo an ninh lương thực, tổng số gạo dự trữ trong các kho của nhà nước chia cho đầu người phải lớn hơn hoặc bằng a kg.
Một nước có số dân là b thì cần phải dự trữ tối thiểu bao nhiêu kg gạo? Soạn thảo chương trình nhập từ bàn phím hai số a, b và đưa ra màn hình khối lượng gao tối thiểu cần dữ trữ.
Yêu cầu: Cần đưa ra màn hình hướng dẫn nhập dữ liệu và thông báo kết quả bằng Tiếng Việt.
Trả lời:
Chương trình:
a = float(input("Nhập số kg gạo cần thiết "))
b = int (input("Nhập số người dân của một nước "))
print("Số gạo cần dự trữ là ", b*a)
Bài 3. Tìm ước chung lớn nhất
Bài 3 trang 70 Tin học 10: Em hãy viết chương trình nhập vào từ bàn phím hai số nguyên a và b, tính và đưa ra màn hình ước chung lớn nhất của hai số đó.
Trả lời:
import math
a = int(input("Nhập a "))
b = int(input("Nhập b "))
print("Ước chung lớn nhất là ", math.gcd(a, b))
Bài 4. Làm quen với ghi chú thích trong chương trình
Bài 4 trang 71 Tin học 10: Em hãy soạn thảo rồi chạy thử chương trình ở Hình 3 sau đây trong hai trường hợp là có chú thích và không có chú thích. Em có nhận xét gì khi so sánh kết quả thực hiện chương trình trong hai trường hợp nêu trên.
Trả lời:
Chương trình có chú thích:
#Giải phương trình bậc hai
import math
a = 1
b = -5
c = 6
x1 = (-b - math.sqrt(b * b - 4 * a * c) / (2 * a))
x2 = -b / a - x1 #Định lí Viet
print(x1)
print(x2)
Chương trình không có chú thích:
import math
a = 1
b = -5
c = 6
x1 = (-b - math.sqrt(b * b - 4 * a * c) / (2 * a))
x2 = -b / a - x1
print(x1)
print(x2)
- Nhận xét: Kết quả của chúng giống nhau.
- Chương trình khi sử dụng chú thích dễ hiểu hơn, giúp cho người đọc theo dõi và hiểu được ý định của người viết.
Vận dụng (trang 71)
Vận dụng trang 71 Tin học 10: Viết chương trình tính và đưa ra màn hình vận tốc (m/s) khi chạm đất của một vật rơi tự do từ độ cao h, biết rằng v = , trong đó g là gia tốc trọng trường (g ≈ 9.8 m/s2). Độ cao h tính theo mét được nhập từ bàn phím.
Trả lời:
import math
#Nhập chiều cao h
h = float(input("Nhập chiều cao h "))
#tính v
v = math.sqrt(2 * 9.8 * h)
#Hiển thị v ra màn hình
print("Vận tốc ",v)
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 3: Thực hành làm quen và khám phá Python
Bài 4: Các kiểu dữ liệu số và câu lệnh vào ra đơn giản
Bài 6: Câu lệnh rẽ nhánh
Bài 7: Thực hành câu lệnh rẽ nhánh
Bài 8: Câu lệnh lặp
Câu hỏi liên quan
- Hoàn thiện chương trình:
a = float(input("a = "))
b = float (input("b = "))
print("Nghiệm của phương trình là ", -b/a)
- Chạy thử với a = 1, b = 2:
- Chương trình hoàn thiện cho kết quả giống
- Nếu nhập a = 0 thì chương trình sẽ đưa ra thông báo lỗi:
ZeroDivisionError: float division by zero
Xem thêm
Hình 1. Chương trình in bảng cửu chương
Hình 2. Kết quả chạy chương trình
Xem thêm
import math
a = int(input("Nhập a "))
b = int(input("Nhập b "))
print("Ước chung lớn nhất là ", math.gcd(a, b))
Xem thêm
import math
#Nhập chiều cao h
h = float(input("Nhập chiều cao h "))
#tính v
v = math.sqrt(2 * 9.8 * h)
#Hiển thị v ra màn hình
print("Vận tốc ",v)
Xem thêm
Chương trình:
a = float(input("Nhập số kg gạo cần thiết "))
b = int (input("Nhập số người dân của một nước "))
print("Số gạo cần dự trữ là ", b*a)
Xem thêm
def UCLN(a,b):
if b>0:u=UCLN(b,a%b)
else:u=a
return u
a=int(input("Nhập số a:"))
b=int(input("Nhập số b:"))
print("UCLN của a và b là:",UCLN(a,b))
Xem thêm
def KTNN(n):
if n%400==0:return 1
if n%4==0 and n%100!=0:return 1
return 0
def DemNN(y1,y2):
d=0
for i in range(y1,y2+1):
if KTNN(i)==1:d=d+1
return d
y1=int(input("Nhập năm y1:"))
y2=int(input("Nhập năm y2:"))
print("Số năm nhuận:",DemNN(y1,y2))
print("Số năm nhuận của thế kỉ XXI là:",DemNN(2001,2100))
Xem thêm
a=float(input("Nhập số thực dương:"))
while a<=0:
print("Nhập sai, số a phải lớn hơn 0. Hãy nhập lại!")
a=float(input("Nhập số thực dương:"))
Xem thêm
Chương trình có chú thích:
#Giải phương trình bậc hai
import math
a = 1
b = -5
c = 6
x1 = (-b - math.sqrt(b * b - 4 * a * c) / (2 * a))
x2 = -b / a - x1 #Định lí Viet
print(x1)
print(x2)
Chương trình không có chú thích:
import math
a = 1
b = -5
c = 6
x1 = (-b - math.sqrt(b * b - 4 * a * c) / (2 * a))
x2 = -b / a - x1
print(x1)
print(x2)
- Nhận xét: Kết quả của chúng giống nhau.
- Chương trình khi sử dụng chú thích dễ hiểu hơn, giúp cho người đọc theo dõi và hiểu được ý định của người viết.
Xem thêm
Xem tất cả hỏi đáp với chuyên mục: Thực hành viết chương trình đơn giản
Được cập nhật 12/09/2023
873 lượt xem