Witam. Mam do zrobienia mały program, który oblicza całkę i pochodną dla tego samego przedziału (x0,xn). Muszę zrobić okienko, które będzie zawierało 3 pola do wpisywania przez użytkownika obszar całkowania x0 i xn oraz trzecie dla ilości prostokątów( całka obliczana metodą prostokątów) i 2 pola wypisujące wynik całki i wynik pochodnej. Na końcu przycisk Oblicz. Okienko prowizorycznie zrobione:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Sinus implements ActionListener{
public static Sinus program;
private JFrame okno;
private JButton przycisk;
private JTextField text1;
private JTextField text2;
private JTextField text3;
private JTextField wynik1;
private JTextField wynik2;
public Sinus( String nazwaOkna ){
okno = new JFrame( nazwaOkna );
text1 = new JTextField( "Wprowadz poczatek przedzialu x0" );
text2 = new JTextField( "Wprowadz koniec przedzialu xn" );
text3 = new JTextField( "Wprowadź liczbe prostokatow");
wynik1 = new JTextField( "Wynik pochodnej" );
wynik2 = new JTextField( "Wynik calki");
przycisk = new JButton( "Oblicz" );
GridLayout layout = new GridLayout(4,3);
layout.setVgap( 25 );
okno.setLayout( layout );
okno.add( text1 );
okno.add( text2 );
okno.add( text3 );
okno.add( wynik1 );
okno.add( wynik2 );
okno.add( przycisk );
przycisk.addActionListener( this );
okno.setSize( 700, 250 );
okno.setVisible(true);
}
public static void main(String[] args) {
program = new Sinus( "Obliczanie pochodnej i calki" );
}
}
Program obliczający całkę również:
public class Metoda_prostokatow {
//funkcja dla ktorej obliczamy calke
private static double func(double x) {
return x*x+3;
}
/**
* @param args
*/
public static void main(String[] args) {
double x0, xn, dx, calka;
int n;
System.out.println("Podaj poczatek przedzialu calkowania");
x0 = Console.readDouble("");
System.out.println("Podaj koniec przedzialu calkowania");
xn = Console.readDouble("");
System.out.println("Podaj dokladnosc calkowania");
n = Console.readInt("");
dx = (x0 - xn) / (double)n;
calka = 0;
for (int i=1; i<=n; i++) {
calka += func(x0 + i * dx);
}
calka *= dx;
System.out.println("Wartosc całki wynosi w przyblizeniu " + calka);
}
}
Nie wiem jak napisać program obliczający pochodną oraz jak to wszystko połączyć w całość. Liczę na fachową pomoc, gdyż nigdy wcześniej nie miałam do czynienia z programowaniem ;-)