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

Bài 1 trang 117 Tin học 10: Cứu nạn

Em hãy mô tả thuật toán cho bài toán Cứu nạn sau đây bằng cách liệt kê các bước hoặc dùng sơ đồ khối.

Bài toán cứu nạn

Một tàu đánh cá có ngư dân bị tai nạn cần cấp cứu đã gọi điện về cơ sở y tế ở đảo gần nhất cách đó d (hải lí). Để người bị tai nạn được sơ cứu sớm hơn, tàu đánh cá đổi hướng, đi thẳng về phía đảo với vận tốc v1 (hải lí/giờ), đồng thời từ đảo người ta cũng cho một tàu cứu nạn có thiết bị y tế sơ cứu đi theo đường đó tới hướng tàu cá với vận tốc v2 (hải lí/giờ). Em hãy xác định sau bao lâu hai tàu gặp nhau, khi biết dữ liệu d, v1, v2.

Lời giải:

Vì mỗi giờ, khoảng cách giữa hai tàu giảm đi (v1 + v2) hải lí, vì vậy để hai tàu gặp nhau sẽ cần



d



v


1


+


v


2



giờ.

– Nhập dữ liệu cho v1, v2 và d

– Khoảng thời gian cần tính là



d



v


1


+


v


2



(giờ)

Bài 2 trang 117 Tin học 10: Dự trữ vacxin

Với bài toán Dự trữ vacxin sau đây, hãy thực hiện từng bước theo hướng dẫn để có chương trình giải quyết được bài toán này.

Bài toán Dự trữ vacxin

Để sẵn sàng triển khai tiêm vacxin cho địa phương có nguy cơ bùng dịch cao, người ta cần dự trữ không ít hơn n liều vacxin. Hiện nay trong kho đang có m liều vacxin. Trong nước có hai cơ sở A và B sản xuất vacxin. Nếu làm hết công suất cơ sở A mỗi ngày sản xuất được pa liều, còn cơ sở B sản xuất đc pb liều. Em hãy xác định sớm nhất sau bao nhiêu ngày sẽ có đủ n liều vacxin.

Dữ liệu: Đưa vào từ thiết bị vào chuẩn của hệ thống, dòng đầu tiên chứa 2 số nguyên n và m (0 ≤ n, m ), dòng thứ hai chứa 2 số nguyên pa và pb (0 ≤ pa, pb





10


5


).

Kết quả: Đưa ra từ thiết bị ra chuẩn của hệ thống một số nguyên là số ngày sớm nhất có đủ vacxin dự trữ theo kế hoạch

Ví dụ:

Lời giải:

Sau mỗi ngày thì số vacxin đã có tăng lên (pa + pb) liều, điều này lặp lại cho đến khi số liều vacxin đã có không nhỏ hơn n.

– Thuật toán:

+ Nhập dữ liệu n, m, pa, pb

+ Khởi tạo giá trị cho biến t = 0

+ Sử dụng vòng lặp while cho biến t chạy cho đến khi m + (pa + pb) * n >=n thì dừng

– Chương trình:

n = int(input(“Nhập số liều vacxin cần dự trữ “))

m = int(input(“Nhập số liều vacxin đang có trong kho “))

pa = int(input(“nhập số liều cơ sở A sản xuất được mỗi ngày “))

pb = int(input(“nhập số liều cơ sở B sản xuất được mỗi ngày “))

t = 0

while m + (pa + pb) * t < n:

t = t + 1

print(“Số ngày cần thiết là “, t)

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

Giáo viên dự định ghi một số đĩa CD làm phần thưởng cho học sinh. Đĩa CD mà giáo viên dùng chỉ có thể ghi tối đa W (đơn vị Kb). Vì tất cả các bức ảnh đều rất đẹp và thú vị nên giáo viên muốn lựa chọn các bức ảnh để ghi vào đĩa CD với tiêu chí càng nhiều bức ảnh được ghi vào đĩa CD càng tốt. Giáo viên băn khoăn và muốn biết số lượng tối đa các bức ảnh có thể ghi vào đĩa CD là bao nhiêu.

Em hãy chỉ ra kết quả từng bước thực hiện để có được chương trình nhận dữ liệu vào là các số nguyên W, d1, d2, …, dn và trả về số lượng tối đa các bức ảnh có thể ghi vào đĩa CD.

Lời giải:

W = int(input(“Nhập dung lượng tối đa đĩa có thể lưu trữ”))

print(“Nhập dung lượng của từng bức tranh”)

ds = [int(i) for i in input().split()]

ds.sort()

t = 0

s = 0

for i in range(0, len(ds)):

s = s + ds[i]

if s <= W:

t = t + 1

else:

break

print(“Số lượng tối đa các bức ảnh có thể ghi vào đĩa là: “, t)

 

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á: 1134

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