왼쪽과 오른쪽 리만 합계 는 명확한 적분에 대한 근사치 입니다. 물론 수학에서 우리는 매우 정확해야하므로 무한대에 접근하는 여러 개의 세분으로 계산하는 것을 목표로하지만이 과제의 목적에는 필요하지 않습니다. 대신 입력을 복용하고 어떤을 통해 출력을 제공, 가장 짧은 프로그램을 작성하는 것을 시도해야 기본 방법 하나에, 프로그래밍 언어 는 다음을 수행 :
직무
두 유리수에게 주어 및 (정적분의 한계), 양의 정수 부울 좌 / 우로하고 나타내는, 블랙 박스 함수 , (에 따라 좌우 리만 합을 계산 의) 이용 동일 서브 디비전.
I / O 사양
와 는 합리적 / 부동 소수점 수 또는 분수 일 수 있습니다.
는 명확하고 일관된 두 값으로 표현할 수 있지만 입력으로 전체 또는 부분 기능을 수행 할 수는 없습니다 .
는 블랙 박스 기능입니다. 위에 링크 된 메타 답변을 인용하면 블랙 박스 기능의 내용 (예 : 코드)에 액세스 할 수 없으며 호출 할 수 있으며 (해당되는 경우 인수 전달) 출력을 관찰 할 수 있습니다 . 필요한 경우 제출 한 내용을 테스트 할 수 있도록 언어에서 사용하는 구문에 대한 필수 정보를 포함하십시오.
출력으로, 요청한 리만 합계를 나타내는 합리적인 / 부동 소수점 / 분수를 제공해야합니다. 마찬가지로 과거에 논의 , 부동 소수점 부정확는 한 1,000분의 1의 가장 가까운 배수로 반올림 때 출력이 적어도 세 소수점에 정확으로 (예를 들어, 무시할 수 1.4529999
대신 괜찮습니다 1.453
).
수학 사양
a b 는 와 사이 연속적입니다 (점프, 구멍 없음, 수직 점근 없음).
처리해야 할 세 가지 가능한 경우가 있습니다 : (결과는 또는 동등한 것이어야 함), 또는 .
경우 , 적분의 기호를 변경합니다. 또한이 경우 적분의 올바른 의미는을 향한 입니다.
그래프 아래 영역은 음수이고 그래프 위 영역은 양수입니다.
예 / 테스트 사례
해상도를 조금 축소해야했지만 여전히 읽을 수 있기 때문에 해상도가 최적이 아닙니다.
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.
이제 f (x)가 블랙 박스 인 이유는 무엇입니까?