Trójmian kwadratowy
Losowo wybrana funkcja kwadratowa - obliczanie jej miejsc zerowych,
a także podanie jej postaci iloczynowej i kanonicznej.
import java.lang.Math;
class Dane{
int a = (int)(Math.random()*25-15);
int b = (int)(Math.random()*25-15);
int c = (int)(Math.random()*25-15);
double delta(){
return (Math.pow(b,2)-(4*a*c));
}
}
class Dane2{
Dane dane = new Dane();
void pierwiastki(){
if (dane.delta()==0){
int x1=(int)((-dane.b+Math.sqrt(dane.delta()))/(2*dane.a));
}
if (dane.delta()>0){
int x1=(int)((-dane.b+Math.sqrt(dane.delta()))/(2*dane.a));
int x2=(int)((-dane.b-Math.sqrt(dane.delta()))/(2*dane.a));
System.out.println("Pierwiastki to: " +x1 +", " +x2);
}
else
System.out.println("brak pierwiastkow");
}
void kanoniczna(){
int c =(int) (dane.b/2*dane.a);
int d =(int) (dane.delta()/4*dane.a);
if (c>=0){
if(d>=0){
System.out.println("Postac kanoniczna: " + "\n"+"y= " + dane.a + "( x +" + c+ ") - "+d);
}
else
System.out.println("Postac kanoniczna: " + "\n"+"y= " + dane.a + "( x +" + c+ ") + "+Math.abs(d));
}
if (c<0){
if (d>=0){
System.out.println("Postac kanoniczna: " + "\n"+"y= " + dane.a + "( x " + c+ ") - "+d);
}
else
System.out.println("Postac kanoniczna: " + "\n"+"y= " + dane.a + "( x " + c+ ")+ "+Math.abs(d));
}
}
void iloczynowa(){
if (dane.delta()>=0){
int x1=(int)((-dane.b+Math.sqrt(dane.delta()))/2*dane.a);
int x2=(int)((-dane.b-Math.sqrt(dane.delta()))/2*dane.a);
if (x1>=0){
if(x2>=0){
System.out.println("Postac iloczynowa: " + "\n" + "y= " +dane.a+"(x-"+x1+") (x-"+x2+")");
}
else
System.out.println("Postac iloczynowa: " + "\n" + "y= " +dane.a+"(x-"+x1+") (x+"+Math.abs(x2)+")");
}
if (x1<0){
if (x2>=0){
System.out.println("Postac iloczynowa: " + "\n" + "y= " +dane.a+"(x+"+Math.abs(x1)+") (x-"+x2+")");
}
else
System.out.println("Postac iloczynowa: " + "\n" + "y= " +dane.a+"(x+"+Math.abs(x1)+") (x+"+Math.abs(x2)+")");
}
}
else
System.out.println("Brak postaci iloczynowej");
}
}
public class Kwadratowa
{
public static void main(String[]args)
{
Dane2 dane2 = new Dane2();
Dane dane = new Dane();
System.out.println("a= " + dane.a + "\n" + "b= " +dane.b + "\n" + "c= "+dane.c);
System.out.println("delta = " + dane.delta()+"\n");
dane2.pierwiastki();
System.out.println();
dane2.kanoniczna();
System.out.println();
dane2.iloczynowa();
System.out.println();
}
}