Trang chủ Tin Học Lớp 10 PYTHON 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...
Câu hỏi :

PYTHON 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. Để 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 việc 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 vị 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 108), dòng thứ hai chứa 2 số nguyên pa và pb (0 pa, pb 105). 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. CODE: 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) P/S: cho mk hỏi 4 dòng cuối sao lại như vậy ạ. Sao lại cho t=0 và dùng lệnh while, phía dưới lại t=t+1???

Lời giải 1 :

`*` $\texttt{Tóm tắt:}$

      `*` Liều vacxin cần dự trữ: ≥ n

      `*` Trong kho có: m liều

      `*` Cơ sở A sản xuất: pa liều

      `*` Cơ sở B sản xuất: pb liều

      `*` Số ngày t ít nhất để có đủ n liều vacxin?

`" "`

`*` Ngày thứ `1` số liều vacxin: m + pa × 1 + pb × 1 = m + (pa + pb) × 1

`*` Ngày thứ `2` số liều vacxin: m + pa × 2 + pb × 2 = m + (pa + pb) × 2

`*` Ngày thứ `3` số liều vacxin: m + pa × 3 + pb × 3 = m + (pa + pb) × 3

`*` ...

`*` Ngày thứ `t` số liều vacxin: m + (pa + pb) × t ≥ n thì ngừng sản xuất

`" "`

`*` $\texttt{Đoạn chương trình:}$

   t = 0

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

         t = t + 1

   `*` Hoạt động: Trong khi số liều có ở ngày thứ t còn nhỏ hơn n thì tiếp tục sản xuất và biến t cũng tăng lên 1 đơn vị. Tóm lại, biến t là số ngày, số ngày sẽ tăng lên 1 khi số liều vacxin chưa đủ.

`" "`

   `*` t = 0 không phải t = 1 hay t = 2 vì trong trường hợp số vacxin trong kho có thể lớn hơn hoặc bằng liều cần dữ trữ, lúc đó không cần thời gian để sản xuất thêm vacxin nên "Số ngày cần thiết sẽ là 0", nếu ban đầu t = 5 mà số liều trong kho đã lớn hơn số liều cần dự trự thì kết quả "Số ngày cần thiết là 5" không chính xác.

`" "`

   `*` Dùng lệnh lặp while trong trường hợp chưa xác định cụ thể được số vòng cần lặp, vì chúng ta chưa xác định cụ thể là ngày nào có đủ vacxin dự trữ nên sử dụng vòng lặp while, số ngày sẽ bắt đầu từ 0 đến x nào đó mà điều kiện m + (pa + pb) × x < n trả về giá trị False. Điều kiện m + (pa + pb) × x < n trả về giá trị False khi m + (pa + pb) × x ≥ n, lúc này số liều vacxin ≥ n

 `" "`

   `*` t = t + 1: Tăng giá trị biến t lên 1 đơn vị và gán lại cho t. Tại sao không là t = t + 2, với t = t + 2 thì các giá trị mà t có thể nhận được là = {0, 2, 4, 6, ...} có nghĩa số ngày cần thiết có thể là {0, 2, 4, 6, ...}, kết quả sẽ không chính xác nếu số ngày thực sự cần có thể là các con số {1, 3, 5, 7, ...}. Với t = t + 1 thì các giá trị mà t có thể nhận là {0, 1, 2, 3, 4, 5, ...}, khi m + (pa + pb) * t ≥ n ngay lập tức vòng lặp while kết thúc và số ngày cần thiết sẽ được in ra.

Bạn có biết?

Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 10

Lớp 10 - Năm đầu tiên ở cấp trung học phổ thông, chúng ta sẽ có nhiều bạn bè mới đến từ những nơi khác nhau. Ngôi trường mới, xa nhà hơn, mở ra một thế giới mới với nhiều điều thú vị. Hãy mở lòng đón nhận và tận hưởng những trải nghiệm mới!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK