Professional Documents
Culture Documents
Clase Derivate. Avind La Intrare A1, A2, A3 Si X
Clase Derivate. Avind La Intrare A1, A2, A3 Si X
I32
Problema: Sa se un program care calculeaza derivatele de ordinul 0, 1 si 2 folosind
clase derivate.
Avind la intrare a1, a2, a3 si x.
Rezolvare:
import java.io.*;
public class derivata
{
public static class y0
// clasa parinte y0
{
int a1, y;
y0(int a1) // constructorul clasei y0
{
this.a1 = a1; // initializam a1
y = a1;
// rezultatul ecuatiei y0
}
public int GetA1()
// functie care returneaza valoarea variabilei a1
{
return a1;
}
public void Afis()
// functie care afiseaza ecuatia
{
System.out.println("y0="+a1);
}
}
public static class y1 extends y0
// clasa y1 mosteneste clasa parinte y0
{
int a2, x;
y1(int a1, int a2, int x) //constructorul clasei y1
{
super(a1); // apelam constructorul clasei parinte cu parametru a1
this.a2 = a2; // initializam a2
y = y * x + a2; //rezultatul ecuatiei y1
}
public int GetA2()
// functia returneaza valoarea variabilei a2
{
return a2;
}
public void Afis()
//functie care afiseaza ecuatia y1
{
System.out.println("y1="+a1+"x+"+a2);
}
}
public static class y2 extends y1
{
int a3;
y2(int a1, int a2, int a3, int x) // constructorul clasei y2
{
super(a1, a2, x); // apelam constructorul clasei y1
this.a3 = a3;
// initializam a3
y = y * x + a3;
//rezultatul ecuatiei y3
}
public int GetA3()
// functia returneaza valoarea variabilei a3
{
return a3;
}
public void Afis() // functie care afiseaza ecuatia y2
{
System.out.println("y2="+a1+"x*x+"+a2+"x+"+a3);
}
}
public static void main(String[] args) // functia main
{
int a1, a2, a3, x;
a1 = a2 = a3 = x = 0; // initializam valorile variabilelor cu 0
BufferedReader data = new BufferedReader(new
InputStreamReader(System.in));
try
{
System.out.println("Introduceti a1=");
a1 = Integer.valueOf(data.readLine()).intValue(); // citim datele si apoi
le convertim
System.out.println("Introduceti a2=");
a2 = Integer.valueOf(data.readLine()).intValue();
System.out.println("Introduceti a3=");
a3 = Integer.valueOf(data.readLine()).intValue();
System.out.println("Introduceti x=");
x = Integer.valueOf(data.readLine()).intValue();
}
catch (IOException e)
{
System.out.println(e); // daca apare eroare afisam mesajul e
respective
}
y0 grd = new y0(a1);
// instantiam clasa y0
y1 grd1 = new y1(a1, a2, x);
// instantiam clasa y1
y2 grd2 = new y2(a1, a2,a3, x);
// instantiam clasa y2
grd.Afis();
// afisam ecuatia y0
grd1.Afis();
// afisam ecuatia y1
grd2.Afis();
// afisam ecuatia y2
System.out.println("a1=" + grd.GetA1() + " a2=" + grd1.GetA2() + " a3=" +
grd2.GetA3() +" x="+x);
System.out.println("\ny0=" + grd.y + "\ny1=" + grd1.y + "\ny2=" + grd2.y);