Tổng Riemann trái và phải là xấp xỉ với các tích phân xác định . Tất nhiên, trong toán học, chúng ta cần phải rất chính xác, vì vậy chúng tôi đặt mục tiêu tính toán chúng với một số phân ngành tiếp cận vô hạn, nhưng điều đó không cần thiết cho mục đích của thử thách này. Thay vào đó, bạn nên cố gắng viết chương trình ngắn nhất, lấy đầu vào và cung cấp đầu ra thông qua bất kỳ phương thức mặc định nào , bằng bất kỳ ngôn ngữ lập trình nào , thực hiện như sau:
Bài tập
Cho hai số hữu tỉ và (các giới hạn của tích phân xác định), một số nguyên dương , một boolean đại diện cho trái / phải và một chức năng hộp đen , tính toán Riemann tổng sang trái hoặc phải (tùy thuộc vào ) của , sử dụng phân chia bằng nhau .
Thông số I / O
và có thể là số hữu tỷ / dấu phẩy động hoặc phân số.
có thể được biểu thị bằng bất kỳ hai giá trị riêng biệt và nhất quán nào, nhưng xin lưu ý rằngbạn không được phépthực hiện các chức năng hoàn chỉnh hoặc một phần làm đầu vào.
là hàm hộp đen. Trích dẫn câu trả lời meta được liên kết ở trên,nội dung (tức là mã) của các hàm hộp đen có thể không được truy cập, bạn chỉ có thể gọi chúng (truyền đối số nếu có) và quan sát đầu ra của chúng. Nếu cần, vui lòng bao gồm các thông tin cần thiết về cú pháp ngôn ngữ của bạn sử dụng để chúng tôi có thể kiểm tra trình của bạn.
Là đầu ra, bạn phải cung cấp một tỷ lệ hợp lý / dấu phẩy động / phân số đại diện cho tổng Riemann mà bạn được yêu cầu. Như đã thảo luận trong quá khứ , sự thiếu chính xác của dấu phẩy động có thể bị bỏ qua, miễn là đầu ra của bạn chính xác đến ít nhất ba vị trí thập phân khi được làm tròn đến bội số gần nhất của 1/1000 (ví dụ: 1.4529999
tốt thay vì 1.453
).
Thông số toán học
được đảm bảo liên tục giữa và (không nhảy, không lỗ, không tiệm cận đứng).
Có ba trường hợp có thể bạn phải xử lý: (Kết quả phải là hoặc tương đương của nó), hoặc .
Nếu , tích phân thay đổi dấu của nó. Ngoài ra, ý nghĩa đúng của tích phân trong trường hợp này là hướng tới .
Các khu vực dưới biểu đồ là âm và những khu vực trên biểu đồ là tích cực.
Ví dụ / Trường hợp kiểm tra
Độ phân giải không tối ưu, vì tôi phải thu nhỏ chúng xuống một chút, nhưng chúng vẫn có thể đọc được.
, k = phải:
Kết quả sẽ được , vì chiều rộng của mỗi hình chữ nhật là và chiều cao tương ứng là .
, k = trái:
Đầu ra phải là .
, k = phải:
Giá trị đầu ra dự kiến là , vì tích phân thay đổi dấu hiệu khi lật ranh giới ( ) .
, k = trái:
Tính tổng Riemann của chúng tôi, chúng tôi nhận được .
, k = phải - Đầu ra: .
, k = trái - Đầu ra: .
, k = phải - Đầu ra: . Lưu ý rằng sin sử dụng radian ở đây, nhưng thay vào đó hãy sử dụng độ.
f(x) = x * sin(1 / x); a = 0; b = 1; n = 50; k = right — Output: 0.385723952885505. Note that sine uses radians here, but feel free to use degrees instead.
Bây giờ f (x) là một hộp đen tại sao nó lại quan trọng?