Jumlah Riemann kiri dan kanan adalah perkiraan untuk integral tertentu . Tentu saja, dalam matematika kita harus sangat akurat, jadi kita bertujuan untuk menghitungnya dengan sejumlah subdivisi yang mendekati tak terhingga, tetapi itu tidak diperlukan untuk keperluan tantangan ini. Anda sebaiknya mencoba menulis program terpendek, mengambil input dan memberikan output melalui salah satu metode default , dalam bahasa pemrograman apa pun , yang melakukan hal berikut:
Tugas
Diberikan dua bilangan rasional dan (batas integral integral), bilangan bulat positif , boolean mewakili fungsi kiri / kanan dan kotak hitam , menghitung jumlah Riemann kiri atau kanan (tergantung pada ) dari , menggunakan subdivisi yang sama .
I / O Spesifikasi
dan dapat berupa angka atau pecahan rasional / floating-point.
dapat diwakili oleh dua nilai berbeda dan konsisten, tetapi harap diingat bahwa Anda tidak diizinkan untuk mengambil fungsi lengkap atau parsial sebagai input.
adalah fungsi kotak hitam. Mengutip jawaban meta yang ditautkan di atas, konten (yaitu kode) dari fungsi kotak-hitam mungkin tidak dapat diakses, Anda hanya dapat memanggil mereka (melewati argumen jika ada) dan mengamati hasilnya . Jika perlu, harap sertakan informasi yang diperlukan tentang sintaksis yang digunakan bahasa Anda sehingga kami dapat menguji kiriman Anda.
Sebagai output, Anda harus memberikan fraksi / floating-point / rasional yang mewakili jumlah Riemann yang Anda minta. Seperti dibahas di masa lalu , ketidaktepatan floating-point dapat diabaikan, selama output Anda akurat untuk setidaknya tiga tempat desimal ketika dibulatkan ke kelipatan terdekat 1/1000 (mis. Baik 1.4529999
-baik saja alih-alih 1.453
).
Spesifikasi Matematika
dijamin kontinu antara dan (tidak ada lompatan, tidak ada lubang, tidak ada asimtot vertikal).
Ada tiga kemungkinan kasus yang harus Anda tangani: (Hasilnya harus atau yang setara), atau .
Jika , integral mengubah tandanya. Juga, pengertian yang tepat dari integral dalam hal ini adalah menuju .
Area di bawah grafik negatif dan yang di atas grafik positif.
Contoh / Kasus Uji
Resolusi tidak optimal, karena saya harus menyusutkannya sedikit, tetapi masih dapat dibaca.
, k = benar:
Hasilnya harus , karena lebar setiap persegi adalah dan ketinggian yang sesuai adalah .
, k = kiri:
Outputnya harus .
, k = benar:
Nilai output yang diharapkan adalah , karena integral berubah tanda ketika membalik batas ( ) .
, k = kiri:
Menghitung jumlah Riemann kami, kami mendapatkan .
, k = kanan - Output: .
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.
Sekarang f (x) adalah kotak hitam mengapa itu penting?