domingo, 28 de marzo de 2010

Mi calculadora en Java :]

Calculadora hecha en java



Aqui el codigo:

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

public class Calculadora extends Applet implements ActionListener
{
 private Button borrar,mas,menos,igual,cero,uno,dos,tres,cuatro
         ,cinco,seis,siete,ocho,nueve;
  
 private int num,n1,n2,resultado;
 
 boolean masV = false, menosV = false;
 
 public void init()
 {
  borrar = new Button("Borrar");
  add(borrar);
  borrar.addActionListener(this);
  mas = new Button("+");
  add(mas);
  mas.addActionListener(this);
  menos = new Button("-");
  add(menos);
  menos.addActionListener(this);
  igual = new Button("  =  ");
  add(igual);
  igual.addActionListener(this);
  cero = new Button("0");
  add(cero);
  cero.addActionListener(this);
  uno = new Button("1");
  add(uno);
  uno.addActionListener(this);
  dos = new Button("2");
  add(dos);
  dos.addActionListener(this);
  tres = new Button("3");
  add(tres);
  tres.addActionListener(this);
  cuatro = new Button("4");
  add(cuatro);
  cuatro.addActionListener(this);
  cinco = new Button("5");
  add(cinco);
  cinco.addActionListener(this);
  seis = new Button("6");
  add(seis);
  seis.addActionListener(this);
  siete = new Button("7");
  add(siete);
  siete.addActionListener(this);
  ocho = new Button("8");
  add(ocho);
  ocho.addActionListener(this);
  nueve = new Button("9");
  add(nueve);
  nueve.addActionListener(this);
  
  }
  
  public void actionPerformed(ActionEvent event)
     {
    if(event.getSource() == mas)
      {n1 = num; num = 0; masV = true;}
    if(event.getSource() == menos)
      {n1 = num; num = 0; menosV = true;}
    if(event.getSource() == igual)
      {
    if(masV)
    {resultado = n1+num; num = resultado;}
    if(menosV)
    {resultado = n1-num; num = resultado;}
   }
    if(event.getSource() == borrar)
      {num = 0; resultado = 0; masV = false; menosV = false;}
       if(event.getSource() == cero)
      num = num*10+0;
    if(event.getSource() == uno)
      num = num*10+1;
    if(event.getSource() == dos)
      num = num*10+2;
    if(event.getSource() == tres)
      num = num*10+3;
    if(event.getSource() == cuatro)
      num = num*10+4;
    if(event.getSource() == cinco)
      num = num*10+5;
    if(event.getSource() == seis)
      num = num*10+6;
    if(event.getSource() == siete)
      num = num*10+7;
    if(event.getSource() == ocho)
      num = num*10+8;
    if(event.getSource() == nueve)
      num = num*10+9;
  repaint();
  }
  
  public void paint(Graphics g)
   {
    g.drawString("R = " + resultado,0,150);
 g.drawString(""+num,0,130);
 g.setColor(Color.blue);
 g.drawString("Powered by HFranco",0,195);
 }
}

sábado, 20 de marzo de 2010

Uso de metodos como base

import java.awt.*;
import java.applet.Applet;
public class casa extends Applet
{
 public void paint(Graphics g)
  {
   dibujarCasa(g,50,50,70,30);
   dibujarCasa(g,100,50,60,20);
  }
    private void dibujarTriangulo(Graphics g, int inferiorX, int inferiorY, int base, int altura)
  {
   g.drawLine(inferiorX, inferiorY, inferiorX+base, inferiorY);
   g.drawLine(inferiorX+base, inferiorY, inferiorX+base/2, inferiorY-altura);
   g.drawLine(inferiorX+base/2, inferiorY-altura, inferiorX, inferiorY);
  }
 
 private void dibujarCasa(Graphics g, int inferiorX, int inferiorY, int anchura, int altura)
     {
   g.drawRect(inferiorX, inferiorY-altura, anchura, altura);
   dibujarTriangulo(g, inferiorX, inferiorY-altura, anchura, altura/2);
  }
}

en el ejemplo:
-paint llama a dibujarCasa dos veces.
-dibujarCasa llama a drawRect y dibujarTriangulo.
-dibujarTriangulo llama a drawLine tres veces.

viernes, 19 de marzo de 2010

mi primer applet java

Mi primer programita en java, es el tipico "hola mundo" en C pero hecho en java.

import java.awt.*;
import java.applet.Applet;

public class saludo extends Applet
{
 public void paint (Graphics g)
   { 
    g.drawString ("Heddie Humberto Franco", 50, 50);
   }
} 

Les recomiendo el libro "Java para estudiantes" de Douglas Bell, Mike Parr. :]

jueves, 18 de marzo de 2010

Aproximación de una función por el método de Newton-Raphson

#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

//Aproxime la funcion    e^-x     -x
//Utilizando cualquier metodo de aproximacion,
//ingresando desde teclado el numero de cifras
//significativas.

//METODO DE Newton-Raphson
main()
{
int i;
float Rr=0.56714329,xi,xr,Et,Ea,Es,fxi,fpxi,n;
 system("color 04");
 printf("\n\nIngrese el numero de cifras significativas: ");
  scanf("%f",&n);
Es=(0.5)*(pow(10,2-n));
 printf("\nRaiz real=%f\tEs=%f %c\n\ni\tXr\tEt\t\tEa\n",Rr,Es,37);
 printf("0\t0\t100 %c\t\t-----\n",37);
  
  for(i=1;i<=10;i++)
     {
      xr=xi-((exp(-xi)-xi)/(-exp(-xi)-1));
      Et=((Rr-xr)/Rr)*100;
      Ea=((xr-xi)/xr)*100;
      printf("%d\t%.4f\t%f %c\t%f %c\n",i,xr,Et,37,Ea,37);
      xi=xr;
      if(Ea<Es)
      break;
      else
      continue;
     }
 getch();
}

Compilado con Open Watcom C - C++ 1.8 :]

Comentarios