Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protyush Kumar Das solution to Assignment 1 AST #4

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added AST_Assignment_1/Answer_1/statistics.class
Binary file not shown.
95 changes: 95 additions & 0 deletions AST_Assignment_1/Answer_1/statistics.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@

import java.util.*;
import java.lang.Math;
public class statistics
{

private int number_of_inputs;
private int array_of_numbers[];



public void accept_inputs()
{
boolean ch=true;
while(ch)
{
try
{
System.out.println("Enter the total number of characters you want to enter.");
Scanner sc=new Scanner(System.in);
this.number_of_inputs=sc.nextInt();
ch=false;
}
catch(InputMismatchException e)
{
System.out.println("Mismatch in input type retrying process try again. Input has to be a Integer!!");
continue;
}

}
array_of_numbers=new int[this.number_of_inputs];
for (int i=0 ; i < this.number_of_inputs ; i++)
{
System.out.println("Enter element "+(i+1));
try
{
Scanner sc1=new Scanner(System.in);
this.array_of_numbers[i]=sc1.nextInt();
}
catch(InputMismatchException e)
{
System.out.println("Mismatch in input type retrying process");
i--;
continue;

}


}
this.show_results();

}


public void calculate_statistics()
{
int sum=0,average,min,max,average_centering=0,variance=0;
for (int i=0;i<this.number_of_inputs;i++)
sum+=this.array_of_numbers[i];

average=(int)sum/this.number_of_inputs;
IntSummaryStatistics stat = Arrays.stream(this.array_of_numbers).summaryStatistics();
min = stat.getMin();
max = stat.getMax();
for (int i=0;i<this.number_of_inputs;i++)
average_centering+=Math.pow((this.array_of_numbers[i]-average),2);

variance=(int)Math.sqrt(average_centering/(this.number_of_inputs-1));
System.out.println("sum="+sum+" ,variance="+variance+" ,maximun element="+max+" ,minimum element="+min+" ,average="+average);


}

public void show_results()
{
System.out.println("Given Inputs are");
for (int i=0;i<this.number_of_inputs;i++)
System.out.print(this.array_of_numbers[i]+" ");

System.out.println("");
}

public void start_operation()
{
this.accept_inputs();
this.calculate_statistics();
}

public static void main(String[] args)
{
statistics obj=new statistics();
obj.start_operation();
}

}
Binary file added AST_Assignment_1/Answer_2/prime.class
Binary file not shown.
68 changes: 68 additions & 0 deletions AST_Assignment_1/Answer_2/prime.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@

import java.util.*;
import java.lang.Math;
public class prime
{


public void prime_number_calculation(long upper_limit,long lower_limit)
{

int count=0;
boolean is_prime;

for (long i=lower_limit;i<=upper_limit;i++)
{
is_prime=true;
for (long j=2;j<=i/2;j++)
{

if (i%j==0)
{

is_prime=false;
break;
}
}

if(is_prime)
{
if(i!=0)
{
System.out.print(i+" ");
}
}
}
System.out.println(" ");

}
public void count(long upper_limit,long lower_limit)
{
for (long i=lower_limit;i<upper_limit;i++)
continue;
}
public long time_to_count(long lower_bound,long upper_bound)
{
long startTime = System.nanoTime();
this.count(upper_bound,lower_bound);
long endTime = System.nanoTime();

long duration = (endTime - startTime); //divide by 1000000 to get milliseconds.
return duration;
}

public void answers()
{
System.out.println("Calculating prime numbers from 0 to Greatest Integer:");
//this.prime_number_calculation(Integer.MAX_VALUE,0);
System.out.println("Calculating prime numbers from 0 to Greatest long Integer:");
//this.prime_number_calculation(Long.MAX_VALUE,0);
System.out.println("Calculating time to count from smallest Integer to Greatest Integer: "+this.time_to_count(Integer.MIN_VALUE,Integer.MAX_VALUE)/1000000+" ms");
System.out.println("Calculating time to count from smallest Long Integer to Greatest Long Integer: "+this.time_to_count(Long.MIN_VALUE,Long.MAX_VALUE)/1000000+" ms");
}
public static void main(String args[])
{
prime obj=new prime();
obj.answers();
}
}
Binary file added AST_Assignment_1/Answer_3/functions.class
Binary file not shown.
58 changes: 58 additions & 0 deletions AST_Assignment_1/Answer_3/functions.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import java.util.*;
import java.lang.Math;
import java.text.*;
public class functions
{

private String[] function_signatures_values(int n)
{
String[] funct_val=new String[7];
funct_val[0]=String.format("%d",n);
funct_val[1]=String.format("%d",2*n);
funct_val[2]=String.format("%.3f",Math.pow(n,0.5));
funct_val[3]=String.format("%d",(int)Math.pow(n,3));
NumberFormat formatter = new DecimalFormat("0.###E0");
funct_val[4]=formatter.format((int)Math.pow(10,n));
if (n!=0)
{
funct_val[5]=String.format("%.3f",Math.pow(2,(1/n)));

}
else
{
funct_val[5]="Undefined";
}

funct_val[6]=formatter.format(Math.pow(Math.E,n));
return funct_val;
}
private void print_values(String[] arr)
{

for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+" \t\t");
}
System.out.println(" ");
}
public void function_iterations()
{
System.out.println("Functions and their values:");
System.out.println("_____________________________________________________________________________________________________________");
String[] function_signatures={"n","2n","n^0.5","n^3","10^n","2^(1/n)","e^n"};
this.print_values(function_signatures);

for(int i=0;i<=100;i++)
{
this.print_values(this.function_signatures_values(i));
}
}



public static void main(String[] args)
{
functions obj=new functions();
obj.function_iterations();
}
}
Binary file added AST_Assignment_1/Answer_4/pie.class
Binary file not shown.
105 changes: 105 additions & 0 deletions AST_Assignment_1/Answer_4/pie.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
import java.util.*;
import java.lang.Math;
import java.math.*;
import java.math.BigDecimal;
import java.text.*;
public class pie
{
public double Area(double pi,double radius)
{
return (double)(pi*radius*radius);
}
public double Circumference(double pi,double radius)
{
return (double)(2*pi*radius);
}
public void pi_iteration()
{
int precision=0;
double radius=0.0,previous_value_area=0.0,area_change=0.0,previous_value_circum=0.0,circum_change=0.0;
boolean ch=true;

while(ch)
{
try
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter the Diameter of circle:");
radius = (sc.nextFloat())/2;
System.out.println("Enter the precision limit in Integers(MAX=15):");
precision = sc.nextInt();
ch=false;
}
catch(Exception e)
{
ch=true;
System.out.println("Error in data type:"+e);
System.out.println("Retrying......");

}

}

if (precision>15)
{
precision=10;
}

System.out.println("Showing Results:");

for(int i=1;i<=precision;i++)
{
BigDecimal value = new BigDecimal(Math.PI).setScale(i, RoundingMode.DOWN);
double pi=value.doubleValue();
double area=this.Area(pi,radius);
if (previous_value_area==0.0)
{
previous_value_area=area;
}
else
{
area_change=((area-previous_value_area)/previous_value_area)*100;
previous_value_area=area;

}

double circumference=this.Circumference(pi,radius);
if (previous_value_circum==0.0)
{
previous_value_circum=circumference;
}
else
{
circum_change=((circumference-previous_value_circum)/previous_value_circum)*100;
previous_value_circum=circumference;

}
NumberFormat formatter = new DecimalFormat("0.##E00");
System.out.println("Iteration number "+i);
System.out.println("PI used="+pi);
System.out.println("Area calculated="+area);
System.out.println("Circumference calculated="+circumference);
System.out.println("Percentage change in area="+formatter.format(area_change)+"%");
System.out.println("Percentage change in circumference="+formatter.format(circum_change)+"%");


}




}


public static void main(String[] args)
{

pie obj=new pie();
obj.pi_iteration();



}


}