Program to determine focal length of a spherical mirror
Write a program to determine the focal length of a spherical mirror.
Focal length is the distance between the center of the mirror to the principal foci
In order to determine the focal length of a spherical mirror, we should know the radius of curvature of that mirror. The distance from the vertex to the center of curvature is called the radius of curvature
The focal length is half the radius of curvature
Formula :
F = ( R / 2 ) for concave mirror
F = – ( R / 2 ) for convex mirror
Examples:
For a concave mirror
Input: R = 30
Output: F = 15For a convex mirror
Input: R = 25
Output: F = – 12.5
Approach: To solve the problem follow the below idea:
Use the formula given above to calculate the focal length of a concave/convex spherical mirror
C++
// C++ program to determine // the focal length of a // of a spherical mirror #include <bits/stdc++.h> using namespace std; // Determines focal length // of a spherical concave // mirror float focal_length_concave( float R) { return R / 2; } // Determines focal length of a // spherical convex mirror float focal_length_convex( float R) { return -(R / 2); } // Driver code int main() { float R = 30; // Function call cout << "Focal length of spherical" << "concave mirror is : " << focal_length_concave(R) << " units\n" ; cout << "Focal length of spherical" << "convex mirror is : " << focal_length_convex(R) << " units" ; return 0; } |
Java
// Java program to determine // the focal length of a // of a spherical mirror import java.lang.*; import java.util.*; public class GfG { // Determines focal length // of a spherical concave // mirror public static float focal_length_concave( float R) { return R / 2 ; } // Determines focal length of a // spherical convex mirror public static float focal_length_convex( float R) { return -(R / 2 ); } // Driver code public static void main(String argc[]) { float R = 30 ; // Function call System.out.print( "Focal length of" + "spherical concave" + "mirror is : " + focal_length_concave(R) + " units\n" ); System.out.println( "Focal length of" + "spherical convex" + "mirror is : " + focal_length_convex(R) + " units" ); } } /* This code is contributed by Sagar Shukla */ |
Python
# Python3 program to determine # the focal length of a # of a spherical mirrorr # Determines focal length of # a spherical concave mirror def focal_length_concave(R): return R / 2 # Determines focal length of # a spherical convex mirror def focal_length_convex(R): return - (R / 2 ) # Driver code if __name__ = = "__main__" : R = 30 # Function call print ( "Focal length of spherical concave mirror is :" , focal_length_concave(R), " units" ) print ( "Focal length of spherical convex mirror is : " , focal_length_convex(R), " units" ) |
C#
// C# program to determine the focal // length of a of a spherical mirror using System; class GfG { // Determines focal length of a // spherical concave mirror public static float focal_length_concave( float R) { return R / 2; } // Determines focal length of a // spherical convex mirror public static float focal_length_convex( float R) { return -(R / 2); } // Driver code public static void Main(String[] argc) { float R = 30; // Function call Console.Write( "Focal length of" + "spherical concave" + "mirror is : " + focal_length_concave(R) + " units\n" ); Console.Write( "Focal length of" + "spherical convex" + "mirror is : " + focal_length_convex(R) + " units" ); } } /* This code is contributed by parashar */ |
PHP
<?php //PHP program to determine // the focal length of a // of a spherical mirror // Determines focal length // of a spherical concave // mirror function focal_length_concave( $R ) { return $R / 2 ; } // Determines focal length of a // spherical convex mirror function focal_length_convex( $R ) { return - ( $R / 2 ) ; } // Driver code $R = 30 ; // Function call echo "Focal length of spherical" , "concave mirror is : " , focal_length_concave( $R ), " units\n" ; echo "Focal length of spherical" , " convex mirror is : " , focal_length_convex( $R ), " units" ; // This code is contributed by ajit ?> |
Javascript
<script> // javascript program to determine // the focal length of a // of a spherical mirror // Determines focal length // of a spherical concave // mirror function focal_length_concave(R) { return R / 2 ; } // Determines focal length of a // spherical convex mirror function focal_length_convex(R) { return - ( R / 2 ) ; } // Driver Function let R = 30 ; document.write( "Focal length of" + "spherical concave" + "mirror is : " + focal_length_concave(R) + " units" + "<br/>" ); document.write( "Focal length of" + "spherical convex" + "mirror is : " + focal_length_convex(R) + " units" ); // This code is contributed by susmitakundugoaldanga. </script> |
Focal length of sphericalconcave mirror is : 15 units Focal length of sphericalconvex mirror is : -15 units
Time complexity: O(1) because constant operations are performed.
Auxiliary space: O(1), as constant operations are being performed.