Sol ve sağ Riemann toplamları belirli integrallerin yaklaşıklarıdır . Tabii ki, matematikte çok doğru olmalıyız, bu yüzden onları sonsuzluğa yaklaşan bir dizi alt bölümle hesaplamayı hedefliyoruz, ancak bu meydan okuma için bu gerekli değildir. Bunun yerine, en kısa programı yazmaya çalışın, varsayılan yöntemlerden herhangi birini kullanarak herhangi bir programlama dilinde giriş yapın ve çıktı sağlayın :
Görev
İki rasyonel sayı ve (belirli integralin sınırları), pozitif bir tamsayı , sol / sağı temsil eden bir boole ve bir kara kutu fonksiyonu verildiğinde, sol veya sağ Riemann toplamını ( bağlı olarak ) eşit alt bölüm kullanarak .
I / O Özellikleri
ve rasyonel / kayan nokta sayıları veya kesirleri olabilir.
iki farklı ve tutarlı değerle temsil edilebilir, ancak girdi olarak tam veya kısmi işlevler almanıza izin verilmediğini lütfen unutmayın .
bir kara kutu işlevidir. Yukarıda bağlantılı olan meta cevaba bakarak, kara kutu işlevlerinin içeriğine (yani koduna) erişilemeyebilir, sadece onları çağırabilirsiniz (varsa argümanları iletebilirsiniz) ve çıktılarını gözlemleyebilirsiniz . Gerekirse, lütfen dilinizi kullandığı sözdizimi hakkında gerekli bilgileri ekleyin, böylece gönderiminizi test edebiliriz.
Çıktı olarak, sizden istenen Riemann toplamını temsil eden rasyonel / kayan nokta / kesir sağlamalısınız. Gibi geçmişte tartışılan , kayan nokta belirsizlik olduğu sürece 1/1000 en yakın katına yuvarlanmış zaman çıkış en az üç ondalık basamağa kadar hassas olduğu için (örneğin, göz ardı edilebilir 1.4529999
yerine gayet 1.453
).
Matematik Özellikleri
ve arasında sürekli olduğu garanti edilir (atlama yok, delik yok, dikey asimptot yok).
Ele almanız gereken üç olası durum vardır: (Sonuç veya eşdeğerleri olmalıdır), veya .
Eğer ise, integral işaretini değiştirir. Ayrıca, bu durumda integralin doğru duygusu .
Grafiğin altındaki alanlar negatif ve grafiğin üzerindeki alanlar pozitiftir.
Örnekler / Test Örnekleri
Çözünürlük uygun değil, çünkü onları biraz küçültmek zorunda kaldım, ancak yine de okunabilirler.
, k = sağ:
Sonuç , çünkü her dikdörtgenin genişliği ve buna karşılık gelen yükseklikler .
, k = sol:
Çıktı olmalıdır .
, k = sağ:
Beklenen çıktı değeri , çünkü sınırlar çevrilirken integral değişiyor ( ) .
, k = sol:
Riemann toplamımızı hesaplarken .
, k = sağ - Çıktı: .
, k = sol - Çıktı: .
, k = sağ - Çıktı: . Sinüsün burada radyan kullandığını, ancak bunun yerine derece kullanmaktan çekinmeyin.
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.
Şimdi bu f (x) bir kara kutu, neden önemli?