두 개의 부동 값이 주어집니다. 렌즈로부터의 이미지 거리 및 물체 거리; 작업은 렌즈의 초점 거리를 인쇄하는 것입니다.
초점 거리란 무엇입니까?
광학계의 초점거리는 렌즈나 곡면거울의 중심과 초점 사이의 거리입니다.
아래 그림의 도움으로 이해합시다 -
위의 그림에서 i는 물체이고 F는 형성되는 물체의 이미지이고 f는 이미지의 초점거리입니다.
따라서 렌즈에서 이미지의 초점 거리를 찾는 공식은 -
1F=1O+1I
여기서 F는 초점 거리입니다.
O는 렌즈와 물체의 총 거리입니다.
I는 렌즈와 렌즈에 의해 형성된 이미지 사이의 총 거리입니다.
예시
Input: image_distance=5, object_distance=10 Output: Focal length of a lens is: 3.333333 Explanation: 1/5 + 1/10 = 3/10🡺 F = 10/3 = 3.33333333 Input: image_distance = 7, object_distance = 10 Output: Focal length of a lens is: 4.1176470
위의 문제를 해결하기 위해 사용하는 접근 방식 -
- image_disance 및 object_distance를 입력합니다.
- 1/image_distance와 1/object_distance의 합을 찾아 1로 나눈 결과를 반환합니다.
- 결과를 인쇄합니다.
알고리즘
Start Step 1-> In function float focal_length(float image_distance, float object_distance) Return 1 / ((1 / image_distance) + (1 / object_distance)) Step 2-> In function int main() Declare and initialize the first input image_distance = 5 Declare and initialize the second input object_distance = 10 Print the results obtained from calling the function focal_length(image_distance, object_distance) Stop함수를 호출하여 얻은 결과를 출력합니다.
예시
#include <stdio.h> // Function to find the focal length of a lens float focal_length(float image_distance, float object_distance) { return 1 / ((1 / image_distance) + (1 / object_distance)); } // main function int main() { // distance between the lens and the image float image_distance = 5; // distance between the lens and the object float object_distance = 10; printf("Focal length of a lens is: %f\n", focal_length(image_distance, object_distance)); return 0; }
출력
Focal length of a lens is: 3.333333