Bài tập  /  Bài đang cần trả lời

Bài toán mô tả đường bay của hòn đá khi được ném lên. Viết chương trình mô tả bài toán chuyển động của hòn đá khi được ném lên từ một vị trí ban đầu. Yêu cầu tính toán là hòn đá di chuyển trong điều kiện lí tưởng không có lực cản không khí và ma sát. Bài toán có thể lấy mô hình hòn đá, hoặc quả lựu đạn, hoặc quả tên lửa được bắn ra, ... Các thông tin ban đầu cần nhập từ bàn phím: - Góc ném hòn đá: α (tính theo độ, yêu cầu 0 ≤ α < 90). - Vị trí (độ cao) khi ném hòn đá: h (tính theo mét, yêu cầu ...

Bài toán mô tả đường bay của hòn đá khi được ném lên.

Viết chương trình mô tả bài toán chuyển động của hòn đá khi được ném lên từ một vị trí ban đầu. Yêu cầu tính toán là hòn đá di chuyển trong điều kiện lí tưởng không có lực cản không khí và ma sát. Bài toán có thể lấy mô hình hòn đá, hoặc quả lựu đạn, hoặc quả tên lửa được bắn ra, ...

Các thông tin ban đầu cần nhập từ bàn phím:

- Góc ném hòn đá: α (tính theo độ, yêu cầu 0 ≤ α < 90).

- Vị trí (độ cao) khi ném hòn đá: h (tính theo mét, yêu cầu h > 0).

- Độ lớn của lực (vận tốc) ném: v (tính theo m/s, yêu cầu v > 0).

Các thông tin cần tính toán để đưa kết quả ra:

- Khoảng cách ném xa của hòn đá (tính từ vị trí ném).

- Độ cao cực đại của hòn đá.

- Thời gian di chuyển của hòn đá tính từ khi bắt đầu ném cho đến khi chạm đất.

1 trả lời
Hỏi chi tiết
10
0
0
Phạm Văn Phú
11/09 10:26:39

Hướng dẫn:

Bài toán này nằm trong Chương trình môn Vật lí 10, phần chuyển động ném xiên của vật thể.

Quan sát hình sau:

Hòn đá được ném lên từ vị trí A có độ cao h với góc ném α và vận tốc góc v. Quỹ đạo chuyển động của hòn đá sẽ có dạng parabol như trong Hình 32.1. Hòn đá sẽ lên đỉnh cao nhất tại C và sau đó chạm đất tại vị trí B. Em cần tính ba thông số H, T, L như sau:

H: độ cao khi hòn đá lên đỉnh. Ta có H = h + IC. 

T: thời gian để hòn đá xuất phát từ A đến vị trí B. 

L: khoảng cách OB.

Sơ lược cách tính các tham số H, T, L.

Lực ném v sẽ phân tích thành 2 lực: lực thẳng đứng vy, và lực ngang vx. Ta có công thức: vx=v.cos(α),  vy=v.sin(α)        (1)

Phương trình tham số theo thời gian t của quỹ đạo hòn đá chuyển động như sau:

x(t)=vxty(t)=h+vyt−gt22               (2)

Thời gian t trong công thức (2) tính từ 0, tức là từ điểm A. g = 9.8 là trọng lực Trái Đất.

Để tính thời gian T chúng ta giải phương trình y(t) = 0 trong công thức (2). Đây là phương trình bậc hai với t. T chính là nghiệm dương của phương trình này.

Khoảng cách L dễ dàng tính được theo công thức L=vxT.

Để tính độ cao H thì khó hơn.

Thời gian để hòn đá bay đến điểm A' được tính như sau: y(t) = h, tức là vyt−gt22=0, từ đó suy ra t=2vyg. Thời gian đi đến đỉnh C bằng một nửa thời gian đến A’, vậy suy ra thời gian đạt đỉnh cao nhất là: t=vyg=v.sin(α)g           (3)

Từ công thức (3) dễ dàng tính được độ cao IC, từ đó tính được H.

Từ các phân tích trên chúng ta sẽ tính được các công thức sau cho I, H và L.

T=v.sin(α)+v2sin2(α)+2hgg                                      (4)H=h+v2sin2(α)2g                                                                          (5)L=v2sin(2α)2g+v.cos(α)v2sin2(α)+2hgg           (6)

Để tính theo các công thức (4), (5), (6) em cần sử dụng các hàm số toán học như sin, cosin, hàm tính căn bậc hai. Các hàm toán học không có sẵn trong Python mà có trong một module độc lập bên ngoài, module math. Muốn sử dụng các hàm số này chúng ta cần đưa lệnh sau vào chương trình (ở dòng lệnh đầu tiên).

from math import

Muốn dùng tất cả các hàm có trong module math (hay bất kì module nào khác) chúng ta dùng lệnh:

from math import *

Các hàm lượng giác sin(α), cos(α) trong Python quy định tham số góc đầu vào không tính theo độ, mà theo độ đo radian. Do vậy chúng ta cần thêm một hàm số nữa là hàm radians() dùng để chuyển số đo từ độ sang radian.

Vậy chương trình sẽ cần các hàm toán học sau.

from math import sqrt, radians, sin, cos

Chương trình cần được tạo Với tên flyingrocket.py và phần nội dung chính mô tả ba hàm số Timing(), Height() và Length(). Các hàm này có tham số đầu vào là v, alpha, h và có giá trị trả lại chính là T, H, L mà chúng ta cần tìm.

Chương trình tham khảo như sau:

flyingrocket.py

from math import sqrt, radians, sin, cos

G = 9.8        # trọng lực Trái Đất

def Timing (v, alpha, h):

alpha = radians (alpha)

return (v* sin(alpha) + sqrt(v*v*sin(alpha)*sin(alpha) + 2*h*G))/G

def Height (v, alpha, h):

alpha = radians (alpha)

return h + v*v* sin(alpha)*sin(alpha)/(2*G)

def Length(v, alpha, h):

alpha = radians(alpha)

return v*v*sin(2*alpha)/(2*G) + v* cos(alpha)*sqrt(v*v* sin(alpha) *sin(alpha) + 2*h*G)/G

v = float(input("Nhập vận tốc ném (m/s) ban đầu: "))

alpha = int(input("Nhập góc ném ban đầu (nguyên > 0 và < 90): "))

h = float(input("Nhập chiều cao vị trí ném (số thực >= 0): "))

H = round(Height(v, alpha, h),1)

T = round (Timing (v, alpha, h))

L = round(Length(v, alpha, h),1)

print("Kết quả ném hòn đá như sau:")

print("Độ cao lớn nhất là:",H, "mét.")

print("Khoảng cách hòn đá bay được:", L,"mét.")

print("Thời gian ném hòn đá là:",T,"giây.")

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập liên quan
Bài tập Tin học Lớp 10 mới nhất
Trắc nghiệm Tin học Lớp 10 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500K