Open In App

Program to determine focal length of a spherical mirror

Improve
Improve
Like Article
Like
Save
Share
Report

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 = 15

For 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>


Output

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.



Last Updated : 20 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads