दिए गए दो फ्लोटिंग मान; एक लेंस से छवि दूरी और वस्तु दूरी; कार्य लेंस की फोकल लंबाई प्रिंट करना है।
फोकल लंबाई क्या है?
एक ऑप्टिकल सिस्टम की फोकल लंबाई लेंस या घुमावदार दर्पण के केंद्र और उसके फोकस के बीच की दूरी है।
आइए नीचे दिए गए चित्र की मदद से समझते हैं -

उपरोक्त आकृति में i वस्तु है, और F वस्तु की छवि है जो बनती है और f छवि की फोकल लंबाई है।
तो लेंस से छवि की फोकल लंबाई खोजने का सूत्र है -
1/F = 1/O + 1/I
जहां, 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_distance और object_distance का इनपुट लें।
- 1/image_distance और 1/object_distance का योग खोजें और परिणाम को 1 से विभाजित करके लौटाएं।
- परिणाम प्रिंट करें।
एल्गोरिदम
Start
Step 1 -> फंक्शन float focal_length(float image_distance, float object_distance) में
Return 1 / ((1 / image_distance) + (1 / object_distance))
Step 2 -> फंक्शन int main() में
पहला इनपुट image_distance = 5 घोषित और आरंभ करें
दूसरा इनपुट object_distance = 10 घोषित और आरंभ करें
फंक्शन focal_length(image_distance, object_distance) को कॉल करके प्राप्त परिणाम प्रिंट करें
Stop
उदाहरण
#include <stdio.h>
// लेंस की फोकल लंबाई खोजने का फंक्शन
float focal_length(float image_distance, float object_distance) {
return 1 / ((1 / image_distance) + (1 / object_distance));
}
// मुख्य फंक्शन
int main() {
// लेंस और छवि के बीच की दूरी
float image_distance = 5;
// लेंस और वस्तु के बीच की दूरी
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