تغيير البارامترات


أنشطة و ملاحظات

  1. تحريك الأشكال بطريقة تفاعلية
  2. تقريب الأعداد

مثال 5



Exm5.java
import java.awt.*;                 
import java.applet.*;              
import java.awt.event.*;

public class Exm5 extends Applet implements ActionListener  
{
	Button button1 = new Button();
	Button button2 = new Button();
	Label label1 = new Label();
    
	int vxmin,vymin,vxmax,vymax;  //screen coordinates
	double xmin,ymin,xmax,ymax;   //imaginary coordinates
	double dx;                    //interval of x
	double a;                     // parameter
	double da;                    //interval of a
    
	/* initializing */
	public void init(){
		String str;
        
		xmin=-5;xmax=5;ymin=-3;ymax=7;
		vxmin=0;vxmax=300;vymin=0;vymax=300;
		dx=0.1;
		a=1;da=0.1;
        
		setLayout(null);  //free layout
		setSize(400,300); //size of this applet
		
		add(button1);
		button1.setLabel("+");
		button1.setFont(new Font("Dialog", Font.PLAIN, 16));
		button1.setBounds(320,40,20,20);
		button1.addActionListener(this);
	    
		add(button2);
		button2.setLabel("-");
		button2.setFont(new Font("Dialog", Font.PLAIN, 16));
		button2.setBounds(350,40,20,20);
		button2.addActionListener(this);
        
		add(label1);
		str="a = "+Double.toString(a);
		label1.setText(str);
		label1.setFont(new Font("Dialog", Font.PLAIN, 16));
		label1.setBounds(320,60,60,40);
		
      
    	}
    
	public void paint(Graphics g)  
	{             
	    	double x1,y1,x2,y2;           
	   
	   	 //axes and scale
	    	scale(g);
	    
	    	//graph
	    	g.setColor(Color.blue);     
	    	x2=xmin;y2=func(x2);
		for(x1=xmin;x1<=xmax;x1=x1+dx){
			y1=func(x1);
		    	Line(g,x1,y1,x2,y2);
		    	x2=x1;y2=y1;
		}
	}
	
	/* Convert imaginary coordinates to screen cordinates. */
	public int mapX(double x){
	    	int sx;
	sx=vxmin+(int)((x-xmin)/(xmax-xmin)*(double)(vxmax-vxmin)) ;
		return sx;
    	}
    	public int mapY(double y){
		int sy;
	   sy=vymin+(int)((ymax-y)/(ymax-ymin)*(double)(vymax-vymin));
	    	return sy;
    	}
    
    	/* Drawing Line */
    	public void Line(Graphics g,double x1,double y1,double x2,double y2){
		g.drawLine(mapX(x1),mapY(y1),mapX(x2),mapY(y2));
	}
    
    	/* Defining function */
    	public double func(double x){
		double y;
		y=a*x*x;
		return y;
    	}
    
    	/* axes and lattice */
    	public void scale(Graphics g){
		double x,y;
		//back color
	    	g.setColor(new Color(255, 255, 192)); 
	    	g.fillRect(vxmin,vymin,vxmax-vxmin,vymax-vymin);
	     
	    	// scale
	    	g.setColor(Color.lightGray);
	    	for (x=xmin;x<=xmax;x=x+1){
			Line(g,x,ymin,x,ymax);
	    	}
	    	for (y=ymin;y<=ymax;y=y+1){
			Line(g,xmin,y,xmax,y);
	    	}
	    
	    	// xy-axes
	    	g.setColor(Color.black);
	    	Line(g,0,ymin,0,ymax);
	    	Line(g,xmin,0,xmax,0);     
    	}
    
    	public void actionPerformed(ActionEvent event)
	{
	    	String str;
		Object object = event.getSource();
		if (object == button1){
			a=a+da;
		    	a=(double)(Math.round(10*a))/10;
		    	repaint();
		    	str="a = "+Double.toString(a);
		    	label1.setText(str);
	    	}
	    	if (object == button2){
			a=a-da;
			a=(double)(Math.round(10*a))/10;
		    	repaint();
		    	str="a = "+Double.toString(a);
		    	label1.setText(str);
	        
	    	}
	}
}


Exm5.html
<HTML>
<HEAD>
<TITLE>Exm5</TITLE>
</HEAD>
<BODY>
<APPLET CODE="Exm5.class" WIDTH=400 HEIGHT=300></APPLET>
</BODY>
</HTML>


تمرين 5 -أ طور الأبلت 5 لرسم الدالة y = a x2 + bx +c, وأضف 4 أزرار للتحكم في قيم b و c.

تمرين 5-ب صمم أبلت لرسم الدالة y = a sin (bx+c). وأضف 6 أزرار للتحكم في قيم البارامترات الثلاثة.


القائمة
 

Logo For All Home Page

Pc Logo Arabic Tutorials

MswLogo Arabic Tutorials

Turtle Tracks Arabic Version The Other Authors's WebSites
  Visual Basic For all Computer and Learning Learn Mathematics BadrStat For Statistical Analysis
 

أرسل رسالتك أو استفسارك الآن

يمكنك الآن أن ترسل ملاحظاتك و تعليقاتك مباشرة ، والبحث عن المواقع ذات الصلة 

مركز الكمبيوتر التربوي 

حقوق الطبع والنسخ محفوظة للمؤلف

     آخر تعديل : الاحد جمادى الأولى 19, 1426 01:06:39 م