CS 100: Section Assignment S4

Solutions


import java.io.*;

public class S4
{	
	public static void main(String args[])
	{
           TokenReader in = new TokenReader(System.in);
	   
	   // Question 1.
	   double cValue;
	   for(int d=0;d<=90;d++)
	      {
	      cValue = MyTrig.cosD(d);
	      System.out.println(d + "  " + cValue);
	      }
	
	   // Question 2. (For implementation of sinD, see below.)
	   
	   System.out.println("\n sin(30 degrees) = " + MyTrig.sinD(30));
	   
	   // Question 3. (For implementation of randomAngle see below.)
	   
	   for(int k=1;k<=3;k++)
	      {System.out.println("A random angle = " + MyTrig.randomAngle());}
	      
	   // Question 4.
	   
	   System.out.println("\nQuestion 4 Output:\n");
	   double t = 20.1; int s=30; int m=0; int d=15;
	   double z = MyTrig.convert(s,d,m);
	   System.out.println(z + "  " + t);
	   z = MyTrig.convert(m,s,m);
	   System.out.println(z + "  " + t);
		
	  
	   in.waitUntilEnter();
	}

}

public class MyTrig
{
   // Constants for converting degrees to radians and vice versa.
   public static final double DEG2RAD = Math.PI/180;  
   public static final double RAD2DEG = 180/Math.PI;

   // Yields the sine of x assuming x is given in degrees.
   public static double sinD(double x)
   {
      return cosD(90-x);
   }
   
   // Yields a random angle between 0 and 90
   public static double randomAngle()
   {
      return 90*Math.random();
   }



   // Displays the value of x, assumed to be in degrees
   public static void displayDeg(double x)
   {
      System.out.println("The angle is " + x + " degrees");
   }
   
   // Yields the cosine of x assuming x given in degrees.
   public static double cosD(double x)
   {
      double y;
      y = Math.cos(DEG2RAD*x);
      return y;
   }
   
   // Yields the value of x (radians) to the nearest degree.
   public static int nearest(double x)
   {
      int a;
      a = (int) Math.round(RAD2DEG*x);
      return a;
   }
   
   // Yields the degree equivalent of d degrees + m minutes + s seconds.
   public static double convert(int d, int m, int s)
   {
      double z;
      z = d + (double)m/60 + (double)s/3600;
      return z;
   }
   
   // Yields the cosine of d degrees + m minutes + s seconds.
   public static double cosDMS(int d, int m, int s)
   {
      double t;
      t = cosD(convert(d,m,s));
      return t;
   }
   
}