lunes, 8 de diciembre de 2014

EJERCICIOS CON VECTORES 2

COMENZAMOS CON EL PRIMER EJERCICIO:

1. REALIZAR UN  PROGRAMA EN EL QUE EL USUARIO INGRESE LA CANTIDAD DE FILAS Y COLUMNAS PARA LA MATRIZ. LUEGO INGRESAR UN NUMERO QUE SE BUSCARA EN LA MATRIZ Y SI ESTA, ENTONCES MOSTRARA UN MENSAJE QUE DIGA SI 'EXISTE' Y LA POSICIÓN DE AQUEL NÚMERO.

#include<conio.h> 
#include<iostream.h>
#include<string>

void main(){
 int f,c, A[50][50],num,f1=-1,c1=-1,cont=-1;
 string rpta="";

 //variables para la posicion de la matriz
 int x=5, y=8;

 cout<<"Ingrese el num. de filas: ";
cin>>f;

cout<<"Ingrese el num. de columnas";
 cin>>c;

 for(int i=0; i<f; i++){
   for(int j=0; j<c; j++){
   gotoxy(x,y);cin>>A[i][j];
   x+=5;
   }
 x=5,y+=2;
}

cout<<"\nNumero a buscar: ";
cin>>num;

 //proceso en donde buscamos a 'num' y obtenemos la posicion.
 for(int i=0; i<f; i++){
   for(int j=0; j<c; j++){
      if(A[i][j]==num){
      rpta="Existe";
      f1=i;
      c1=j;
     cont=1;
    }
}

 if(cont==1){
 break;
 }
 }

 cout<<"\nEl numero: "<<rpta;
 cout<<"\nPosicion: "<<"["<<f1<<"]"<<"["<<c1<<"]";
 getch();
}




EXPLICATION: Para este ejercicio solo hay que comparar por medio de un 'if' dentro de la matriz. 




2. REALIZAR UN PROGRAMA QUE PERMITA INGRESAR EL ORDEN DE UNA MATRIZ Y DADOS LOS NÚMEROS INGRESADOS PARA LA MATRIZ, OBTENER LA CANTIDAD DE NUMERO PARES E IMPARES.

#include<iostream.h>
#include<conio.h>

void main(){

int f,c,A[50][50];
int par=0, imp=0;
//variables para la posicion de la matriz
int x=5, y=6;

cout<<"Ingrese num de filas: ";
cin>>f;
cout<<"Ingrese num. de columnas: ";
cin>>c;

for(int i=0; i<f; i++){
   for(int j=0; j<c; j++){
   gotoxy(x,y);cin>>A[i][j];
   x+=5;
    }

 x=5,y+=2;

}

//Analizando los numeros que son pares e impares

for(int i=0; i<f; i++){
   for(int j=0; j<c; j++){
   if(A[i][j]%2==0){
   par++;
   }
 else
 imp++;
  }
}

cout<<"\nNumeros pares: "<<par;
cout<<"\nNumeros impares: "<<imp;

getch();

}


EXPLICATION: Para identificar un número par, solo tenemos que hallar el resto de un número, si es 0 entonces el número es par, de lo contrario si el resto del número con 2 es diferente de 0 entonces es número impar.

domingo, 7 de diciembre de 2014

EJERCICIOS CON VECTORES

EJERCICIOS CON VECTORES:


1. El usuario debe ingresar cierta cantidad de números y el programa determinará cuantas veces se repiten los números:


#include<iostream.h>
#include<conio.h>
void main(){
     int n,A[50],cont=0;
     bool num;

     cout<<"Ingrese la cantidad de números a comparar: ";
     cin>>n;
     for(int i=0; i<n; i++){
      cin>>A[i];
     }

     //Comparando los numeros del vector A
     for(int i=0; i<n; i++){
      for(int j=0; j<n; j++){
          if(i!=j){
      if(A[i]==A[j]){
                              cont++;
                       }
               }
         }
     }

     cout<<"\n La cantidad de numero iguales es : "<<cont;

getch();
}


Lo que el 'cont'  hace es contabilizar la cantidad de veces que se repiten los números sin contar los de la misma posición.

2. Realizar un programa en el cual el usuario ingresará el orden de una matriz y hallar el promedio aritmético de tales números.

#include<iostream.h>
#include<conio.h>
void main (){
int f,c,sum=0;
   int prom=0;
   int A[50][50];
   //variables para la posicion de la matriz
   int x=5, y=8;

   cout<<"Ingrese la cantidad de filas: ";
   cin>>f;
   cout<<"Ingrese la cantidad de columnas: ";
   cin>>c;

   for(int i=0; i<f; i++){
    for(int j=0; j<c; j++){
          gotoxy(x,y);cin>>A[i][j];
          x+=5;
      }
      x=5, y+=2;
   }

   //recorriendo la matriz
for(int i=0; i< f; i++){
    for(int j=0; j<c; j++){
      sum+=A[i][j];
      }
   }

   prom=sum/(f*c);
cout<<"\nEl promedio aritmetico de la matriz es: "<<prom;

getch();

}


Explication: Lo que se hace acá es solo por el medio de los 'for' calcular la suma total de los números de la matriz para luego, fuera de los 'for' calcular el promedio, sabiendo que la cantidad de números es el producto de filas y columnas.

sábado, 6 de diciembre de 2014

Ejercicios con vectores

1. INGRESAR 5 NÚMEROS Y DETERMINAR CUANTOS SON PRIMOS.

#include<iostream.h>
#include<conio.h>
void main(){
int cont=0;
      int A[5];
      bool valor;

      for(int i=0; i<5; i++){
      cout<<"Ingrese numero "<<(i+1)<<": ";
            cin>>A[i];
      }

      for(int i=0; i<5; i++){
      valor=true;
             for(int j=2;j<=A[i]/2;j++){
              if(A[i] % j==0){
                valor=false;break;
               }
             }

             if(valor==true){
              cont++;
             }
      }
           cout<<"\nLa cantidad de numeros primos es: "<<cont;

getch() ;
}


El primer for es para obtener los 5 valores del vector sin la necesidad de estar poniendo un cout para obtener numero por numero. El siguiente for es para comparar si aquellos numeros introducidos en el primer for son primos o no. En caso de que sean primos el contador aumentara en 1. Para contabilizar se creo una variable de tipo bool llamado valor.

viernes, 5 de diciembre de 2014

Suma de matrices en C++

¿Cómo sumar los números que están en las diagonales de una matriz?


Si el orden de la matriz es un número impar, eso quiere decir que la diagonal de la izquierda coincide con la diagonal de la derecha tienen en común el número del centro. Para que no se suma dos veces aquél número he puesto un 'else' a la siguiente condición. En caso si se quiere sumar dos veces ese número solo se debe quitar el 'else' para la segunda condición. 



#include<iostream.h>
#include<conio.h>
void main(void)
{

  int n,A[50][50],x=5,y=8,suma=0;

   cout<<"ingrese orden de la matriz: "; cin>>n;


   for(int i=0; i<n; i++){
    for(int j=0;j<n;j++){
         gotoxy(x,y);
      cin>>A[i][j];
         x+=5;
      }
         y+=2;
         x=5;
   }

   for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
                if(i==j){
                      suma=suma+ A[i][j];
                }
                else if( i+j==(n-1)){
                suma=suma +A[i][j];
                }
      }
   }

   cout<<"la suma de los bordes es: "<<suma;

getch();
}


Como imprimir una matriz en C++

Para imprimir una matriz en C++



Para ello  necesitamos tener la cantidad de filas y columnas necesarias, las cuales se pedirán al usuario. También la variable que almacenara la matriz, esta variable se declara de la siguiente forma:
   
       int A[40][40]

 Los dígitos de los corchetes es la cantidad máxima que   aceptaremos para las filas y columnas respectivamente. 

 Cada número de la matriz se imprimirá de esta manera:




Como vemos, comenzaremos con el código:

#include<iostream.h> 
#include<conio.h>

void main(void)
{
int n,m,A[50][50],x=5,y=8;

cout<<"ingrese numero de filas: "; cin>>n;
cout<<"Ingrese numero de columnas:";cin>>m;

for(int i=0; i<n; i++){
  for(int j=0;j<m;j++){
     gotoxy(x,y);
     cin>>A[i][j];
     x+=5;
        }
     y+=2;
     x=5;
}

getch();
}


Ese es todo el código necesario para mostrar un resultado como en la imagen.
La parte confusa del código es la que esta en el 'for' pues dentro las filas y columnas del  vector   A[50][50] , Notamos que no está con estos valores si no con las variables enteras i, j. ¿Por qué? porque estas representan la cantidad de filas y columnas que se aceptaran según el orden ya introducido por el usuario.

Si no se quiere una matriz cuadrada(la cantidad de filas y columnas son iguales) estrictamente. Es necesario que se pida el orden al usuario y el limite de los dos 'for' seria el orden.


domingo, 30 de noviembre de 2014

MICHAEL SAYMAN, NIÑO GENIO

Michael Sayman es un adolescente de 16 años peruano, madre peruana y padre boliviano. A su corta edad el estaba muy interesado por los juegos, claro como todo niño. Este chico tenia inclinaciones por el juego "club penguin". Es por eso que el iba mas aya del juego, el queria desarrollarlos. Fue de esta manera que desarrollo una aolicacion "club penguin". El desarrollo esta aplicacion porque le parecia entretenido.



¿COMO LLEGO AL EXITO?

Al crear su primera aplicación, sintio que debia compartirlo, asi que lo envio a iTunes, pero ellos rechazaron su solicitud. El solo queria saber que era lo que sucedia, si habia personas que descargarian su aplicacion.
Hubo un momento en que iTuner aceptó su aplicación y grande su sorpresa que no lo descargaron 2 o tres personas tal como lo esperaba, lo descargaron mas de dos millones de usuarios que lo encontraron en la tienda virtual Apple Store y obtuvo grandes ganancias, Alrededor del 70% de cada descarga. Obteniendo aproximadamente 5 mil dolares en 3 semanas.
Actualmente gana 100 dolares diarios gracias a sus aplicaciones que se venden a 0.99 en la tienda de Apple.
Ahora Michael Sayman trabaja en una nueva aplicacion la cual costara un aproximado de 4 dolares, que sera especial para los iPad.

sábado, 29 de noviembre de 2014

COMO CREAR CODIGOS AUTOGENERADOS EN NETBEANS

HOLA!!

AHORA LES MOSTRARE EL CODIGO PARA CREAR CODIGOS AUTOGENERADOS EN NETBEANS.

SEA EL CASO QUE TENGAMOS NUESTRA BASE DE DATOS LLAMADO BIBLIOTECA Y UNA TABLA LLAMADO AUTOR CON LOS CAMPOS SIGUIENTES
       COD_AUTOR (STRING 6)
       NOM_AUTOR (STRING 30)

LISTO, PREVIAMENTE LA TABLA DEBE ESTAR LLENA CON UN MINIMO DE 1 AUTOR.

EL CODIGO ES EL SIGUIENTE:


public String generaCodAutor(){

     String cod="";
     String busca;

     int nro;
     try { 
       xst=xcn.createStatement();
       busca="select max(cod_autor) from autor";
       xrs=xst.executeQuery(busca);

       xrs.next();


       cod=xrs.getString(1);
       nro=Integer.parseInt(cod.substring(1,6))+1;
      cod="00000" + nro;
      cod="A"+cod.substring(cod.length()-5,cod.length());
} catch (SQLException ex) {
      Logger.getLogger(UsuarioBusqueda.class.getName()).log(Level.SEVERE, null, ex);
} return cod;
}


EXPLICACION:
LAS VARIABLE BUSCA ALMACENA LA SENTENCIA EN LA CUAL SE OBTIENE EL MAXIMO NUMERO DE AUTOR DEL CAMPO 'COD_AUTOR', COMO NOSOTROS YA INTRODUJIMOS UN MINIMO DE 1, EN MI CASO YO INTRODUJE 8 Y COMO RESULTADO METENDRIA Q SALIR 9.

 VEAMOS LA IMAGEN:




EN EL RECUADRO DEBAJO DE CODIGO DICE: A00009 , ESTE ES EL CODIGO QUE SIGUE DESPUES DEL A00008 QUE ES EL CODIGO LA CUAL YO INTRODUJE DESDE EL MYSQL.

BORDES EN BORLAND C++

HOLA!!





PARA HACER EL RECUADRO, PONDREMOS LO SIGUIENTE:

PASO 1:
COLOCAR LAS LIBRERIAS
PASO 2:
EL CUERPO VOID MAIN()

PASO3:
 HE AQUI EL CODIGO CLAVE, LOS FOR, EN ESTE CASO YO USARE 2 FOR.

EL PRIMER FOR ES PASO LAS LINEAS HORIZONTALES LAS CUALES IRAN CON LOS CODIGOS DE GOTOXY(X,Y), QUE POSICIONES EL SIMBOLO "-" EN EL EJE X, Y RESPECTIVAMENTE

EL SEGUNDO FOR ES PARA LAS LINEAS VERTICALES


#include<iostream.h>

#include<conio.h>



void main(){



int n,m,x=5,y=3;



for(int i=1; i<=72; i++){

  //horizontal superior

  gotoxy(x,3);cout<<"-";

  //horizontal inferior

  gotoxy(x,23);cout<<"-";



  x++;

}



for(int j=1; j<=20; j++){

  //vertical izquierdo

  gotoxy(5,y);cout<<"|";

  gotoxy(76,y);cout<<"|";

  y++;

}



  gotoxy(33,5);cout<<"EJEMPLOX";

  gotoxy(12,8);cout<<"ingrese siguiente numero:";

  cin>>m;



  getch();

}

domingo, 4 de mayo de 2014

ESTRUCTURA DE DATOS: PILAS



ESTRUCTURA DE DATOS:


PILAS   La pila es una estructura de dato que cumple las condiciones usuales de añadir y quitar elementos.  Los elementos que se quitan son los del tope.
Además se conoce a las pilas como estructuras de datos LIFO que siginifica last-in, first-out en spanish es  "último en entrar, primero en salir".

Vemos el código en c++:



#include<iostream.h>
#include<conio.h>
#include<stdio.h> 

void main(void) 
{ 
      int cant,cont=0,op,n,k; 
      int a[50], i=-1; 
      int j=0; 
      int desap=0; 

      do { 

      clrscr(); 

      cout<<"INGRESE LA CANTIDAD DE ELEMENTOS PARA LA PILA: "; cin>>cant; 

      } while(cant<=0); 

      do{ 

      clrscr(); 
      cout<<"\n \n"; 
      cout<<"    MENU    \n \n"; 
      cout<<" 1. APILAR\n " 
      <<"2. DESAPILAR\n " 
      <<"3. VER PILA\n " 
      <<"4. VER EL TOPE\n " 
      <<"5. REINICIAR\n " 
      <<"6. SALIR\n \n" 
      <<" ELIJA UNA OPCION:  ";cin>>op; 


      switch(op) 
      { 

        case 1: 
                     cont=cant; 

                     if(i<cant-1) 
                     { 
                      clrscr(); 
                      i++; 
                      cout<<"APILAR "<<cant<<" ELEMENTOS:  \n \n"; 
                      cout<<"Ingrese elemento "<<"("<<i+1<<") : "; 
                      cin>>a[i]; 

                     } 

                  if(i==(cant-1)) 
                     { 

                     clrscr(); 


                     cout<<"    APILAR \n \n"; 
                     cout<<"LA PILA ESTA LLENA!"; 
                     getch(); 
                     } 
                     desap=i; 

                      //variable para quitar elementos a la pila 
                  break; 

          case 2:       //OPCION DE DESAPILAR 

                     clrscr(); 

                     cout<<"    DESAPILAR \n \n"; 

                     if (i>=0) 
                     { 
                        desap=desap-1; 

                     if(desap>=-1) 
                      { 
                          i--;
                          cout<<"Valor quitado: "<<a[desap+1]; 
                          cont--; 
                       } 

                     else if(desap<-1) 
                       {cout<<"La pila esta vacia";} 
                    } 


                   if(i==-1 && desap==0) 
                   { 
                     cout<<"La pila esta vacia"; 
                   } 


      getch(); 

break; 

             case 3:       //VER PILA COMPLETA 
              clrscr(); 

              cout<<"    VER PILA \n \n";

              if (i>=0) 
               { 
                 if(desap>=0) 
                  {
for(j=desap;j>=0;j--) 

{ 
     cout<<a[j]<<"\n"; 
 } 
} 

if(j<-1) 

 { 
   cout<<"La pila esta vacia"; 
} 
 } 

if(i<0 && desap==0) 
{ 
  cout<<"La pila esta vacia"; 
} 

   getch(); 
   break; 

  case 4:      //VER EL TOPE DE LA PILA 

    clrscr(); 
    cout<<"    VER EL TOPE \n \n"; 
    if(cont>0) 
    { 
      cout<<a[cont-1]; 
    } 
   else 
   { 
     cout<<"Pila vacia"; 
   } 
  getch(); 
  break; 


case 5:      //REINICIAR  PILA (VOLVER A 0 LA PILA) 

  clrscr(); 
  cout<<"    REINICIO DE PILA \n \n"; 

  i=-1;
  j=0; 
  desap=0; 
  cont=0; 

  do { 
    clrscr(); 
    cout<<"INGRESE LA CANTIDAD DE ELEMENTOS DE LA PILA: "; cin>>cant; 
  } while(cant<=0); 
     break; 
   } 
 }while(op<6); 
getch();
}
DESCARGA EL ARCHIVO CON EL CÓDIGO AQUÍ

martes, 29 de abril de 2014

Calculadora en Java

Hola!! 
Viendo un poco de métodos, aprenderemos a realizar una calculadora estándar en Netbeans.
Solo como en base al principio veremos el gráfico de la calculadora.


Realizaremos esta calculadora estándar, también veremos un poco de métodos.

COMENCEMOS:

Primer paso: Introducir los números:
Como vemos en la imagen, se realizara el codigo en el evento actionPerformed del botón.

Para el botón 1:


private void btnUnoActionPerformed(java.awt.event.ActionEvent evt) { 

     jtxtPantalla.setText(jtxtPantalla.getText( ) + "1");

}


Para el botón 2 se hace el mismo código, tan solo se cambia el número 1 por el 2, así se irá cambiando según del número que se ingresará por el botón.

Luego de terminar de programar cada botón numérico:

Declaramos las variables globales, las cuales utilizaremos mediante todo el proceso.
//Variables globales
             String valor1;
             String valor2;
             String signo;


Al realizar una suma de 2 números, se dese saber el primer número, este primer número se almacenará en 'valor1', el signo de suma se almacenará en 'signo' y el segundo número para completar la suma se almacenará en 'valor2'.

Luego crearemos el método calculando, en donde se procederá a realizar el proceso del cálculo de los valores ingresados.

//Metodo que realiza el proceso de la calculadora, segun los valores que se ingrese por pantalla.


public static String calculando(String valor1, String valor2, String signo)

{

     Double resul=0.0;

     String rpt;



     if(signo.equals("-"))

      {

         resul=Double.parseDouble(valor1) - Double.parseDouble(valor2); 

       } 



     if(signo.equals("+"))

      {

         resul=Double.parseDouble(valor1) + Double.parseDouble(valor2);

      }



      if(signo.equals("*"))

        {

           resul=Double.parseDouble(valor1) * Double.parseDouble(valor2);

        }


       if(signo.equals("/"))

        {                 resul=Double.parseDouble(valor1) / Double.parseDouble(valor2);

        }

        

        rpt=resul.toString();

        return rpt;

    }



Como vemos en el código, al igual que las variables globales 'valor1' , 'valor2' , 'signo' son de tipo String , ¿porqué?,  por que al ingresar un valor a la caja de texto 'jtxtPantalla' este se almacena como cadena, es decir tipo String y ese es el resultado que se quiere mostrar al fnal, una repsuesta tipo String. Es por eso que en cada proceso de suma, resta, multiplicación, división, se hace la conversión a  Double (décimal mayor).
Claro antes de realizar el proceso el signo es comparado y así pueda realizar su función.

Ahora veremos en código del botón suma (+):




/* Captura lo que hay en pantalla y dice si lo que hay en pantalla es diferente al vacio (" "), entonces el 'valor1' tendrá almacenado a lo que se haya ingresado en pantalla. Luego le da el valor al signo, que en este caso es de suma (+) y limpia pantalla, para que se ingrese el 'valor2' */

 private void btnMasActionPerformed(java.awt.event.ActionEvent evt) {                                       

if(!jtxtPantalla.getText().equals(""))

  {

     valor1=jtxtPantalla.getText();

     signo="+";

     jtxtPantalla.setText("");

 }

}

El mismo código se utiliza para la resta, multiplicación, división, solo se cambia el valor del signo.

* Si queremos ingresar un valor decimal, como '3.5', entonces el código es el siguiente:

/*Metodo de tipo boolean (recibe solo valores de verdad o falsedad ) para ver si existe un punto en pantalla */
/*declara una variable respuesta 'rpt=false' luego se crea un for para que vaya recorriendo todos los digitos de la variable pantalla que tendra como valor a lo que se ingrese por pantalla, en ese recorrido ira comparando si hay algún punto, en caso que asi sea, mandara como respuesta 'true', en caso contrario se quedara como al principio, con el valor 'false' */

public boolean hayPunto(String pantalla)

{

     boolean rpt;

     rpt=false;



    for(int i=0; i<pantalla.length(); i++)

     {

        if(pantalla.substring(i, i+1).equals("."))

     {
   rpt=true;

   break;

  }



  }return rpt;



}


En el botón punto:
/*Guardara en la variable pantalla de tipo String lo que se ingrese. Luego verifica si no hay elemento en pantalla, si es asi entonces le dará un valor de '0.'
En caso no hay ningun elemento concatenara un '.' a la cadena. Luego se mostrara en pantalla*/

private void btnPuntoActionPerformed(java.awt.event.ActionEvent evt) {                                         
     //mostrara un 0. cuando no haya nada en la caja de texto

     String pantalla;

     pantalla=jtxtPantalla.getText();



     if(pantalla.length()<=0)

      {

         jtxtPantalla.setText("o.");

       }


      else if(!hayPunto(jtxtPantalla.getText()))

      {

          jtxtPantalla.setText(jtxtPantalla.getText() + ".");

      }

}


En el botón 'C' : Este botón elimina de uno en uno los dígitos que hay en pantalla.

    /*Captura los valores de pantalla. Procede a verificar si hay algun elemento en pantalla, si es así (si hay algun digito) entonces la variable de tipo String 'pantalla ' la examina mediante la cantidad de dígitos, si la cantidad de digitos es 5, entonces le restara 1 y se quedara con 4*/
   
private void btnCActionPerformed(java.awt.event.ActionEvent evt) {                                    



     String pantalla; 



     pantalla=jtxtPantalla.getText();

      

       if(pantalla.length()>0)

       {

          pantalla=pantalla.substring(0, pantalla.length()-1);

          jtxtPantalla.setText(pantalla);

       }

}


Botón 'CE' : Elimina todos los elementos que hay en pantalla, lo deja en blanco

private void btnCeActionPerformed(java.awt.event.ActionEvent evt) { 



         jtxtPantalla.setText(" ");



}
  

Botón signo: Dará un valor positivo o negativo a los elementos en pantalla.


/*A la varible de tipo decimal 'num' le da el valor de (-1)  multiplicado por   el valor decimal de pantalla. Luego, como 'num es de tipo decimal y para mostrarlo tiene que ser de tipo cadena, entonces se convierte a cadena con 'ToString''*/

private void btnSignoActionPerformed(java.awt.event.ActionEvent evt) {                                         



     Double num;

     String pantalla;



     pantalla=jtxtPantalla.getText();


       if(pantalla.length()>0)

          {

              num=-1*Double.parseDouble(pantalla);

              jtxtPantalla.setText(num.toString());

           }

}



Nota: Acá les dejo el proyecto de la calculadora en Netbeasn IDE 7.4



calculadora

sábado, 29 de marzo de 2014

Mensajes con JOptionPane

Vemos un poco de mensajes :



public static void main(String[ ] args) {

//Error
JOptionPane.showMessageDialog(null, "Usted ha cometido tal error", "Mensaje de error", JOptionPane.ERROR_MESSAGE);

// Peligro
JOptionPane.showMessageDialog(null, "Esta en peligro", "Peligro", JOptionPane.WARNING_MESSAGE);

//pregunta
JOptionPane.showMessageDialog(null, "¿Pregunta?", "Responda la siguiente pregunta", JOptionPane.QUESTION_MESSAGE);

//Informacion
JOptionPane.showMessageDialog(null, "Puede realizar cieta tarea", "Informacion", JOptionPane.INFORMATION_MESSAGE);

}

viernes, 28 de marzo de 2014

Java: Ejercicios en Netbeans 2

Ahora les mostraré  como usar las las condiciones if - else en java, de una manera sencilla. Verán que no será muy fácil aprender este programa pues, si manejan algo del lenguaje C, entonces aprenderán mas rápido a manejar Java.



Ejercicio 1:  Halle el sueldo neto de un trabajador, dado un sueldo bruto y sometiéndole a descuentos según la cantidad de dinero y ademas aplicando el IGV=19%.

  Solución:

public static void main(String[] args) {

     double sbruto=0, sneto=0, dsc=0;

     sbruto= Double.parseDouble(JOptionPane.showInputDialog(null, "Ingrese sueldo base: "));



     if(sbruto>=0 && sbruto<=2000)

       {

          dsc=0.02*sbruto;

       }



     if(sbruto>2000 && sbruto<=5000)

      {

         dsc=0.03*sbruto;

       }



     if(sbruto>5000 && sbruto<=10000)

      {

         dsc=0.05*sbruto;

      }



   //dando el total al sueldo neto

     sneto=sbruto-( (sbruto*0.19) +dsc);


   //mostrando el mensaje del total.
     JOptionPane.showMessageDialog(null, sneto);
}



Ejercicio 2: Dado la cantidad de horas, hallar el sueldo por la cantidad de horas trabajadas y ademas aplicar un descuento de acuerdo a la cantidad de horas dictadas.

solución:


public static void main(String[ ] args) {



     double dsc=0, pt=0, pago=0, pagoHoras=0;

     int numHoras=0;



   numHoras=Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese numero de horas dictadas <10 a 60> : "));



     if(numHoras>=10 && numHoras<20)

      {

         pagoHoras=12;

         pago=pagoHoras*numHoras;

        dsc=pago*0.1;

       }



     if(numHoras>=20 && numHoras<40)

      {

        pagoHoras=10;

        pago=pagoHoras*numHoras;

        dsc=pago*0.075;

      }



     if(numHoras>=40 && numHoras<60)

      {

         pagoHoras=8; 

        pago=pagoHoras*numHoras;

       dsc=pago*0.05;

      }



      pago=pagoHoras*numHoras;

      pt= pago-dsc;



     JOptionPane.showMessageDialog(null, "El descuento es de: " + dsc);

     JOptionPane.showMessageDialog(null, "EL pago por horas es de: " + pt);

}



Ejercicio 3: Hallar la cantidad de minutos que hay entre una hora inicial y una hora final

solución:

public static void main(String[ ] args) {



     int horaIni, horaFin, seg, min, dif;



     horaIni=Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese hora inicial: "));

     horaFin=Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la hora final: "));



     if (horaIni>horaFin)

      {

         dif=(23-horaIni)+ horaFin;

      }

     else 

       { dif=horaFin-horaIni; }



     min=dif*60;

     seg=min*60;



JOptionPane.showMessageDialog(null, "La cantidad de minutos es: " + min);

}


sábado, 22 de marzo de 2014

Suma de 2 numeros en Netbeans

Luego de haber creado su proyecto en Netbeans, crearemos un programita para calcular la suma de 2 números, de esta manera aprenderemos como manejar los códigos en este IDE.

1. Calculando la suma de 2 números ingresados por el teclado.

       

public static void main(String[] args) {
    int n1, n2,suma;

    n1=Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese primer numero"));
    n2= Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese segundo numero"));

    suma=n1+n2;


    JOptionPane.showMessageDialog(null, suma); 
                                                               }


/* Para el primer numero nos muestra este mensaje*/



/*Para el segundo mensaje  es lo mismo*/



/*Luego nos muestra el resultado*/





// Este es todo el código para el programita, no es nada del otro mundo. Lo único que tienen que saber es saber el lenguaje C, si conocen C, se les hará mucho mas fácil aprender Java.

Analizando este código:

    Para recibir un número ingresado desde el teclado se tiene que 'parsear', ya sea de tipo entero o decimal.


Integer.ParseInt() : Convierte a entero al carácter de tipo cadena o string ingresado por el teclado, es           decir lo convierte en número, si  lo que se ingreso por teclado no es un número, entonces mostrará NaN       (no es número)
  
JOptionPane.ShowInputDialog(null, a) : Esta clase nos sirve para pedirnos un número o una            cadena. 
   
JOptionPane.ShowMessageDialog(null, b) : Muestra algún mensaje o respuesta al algoritmo          que realicemos.
 



jueves, 20 de marzo de 2014

Creando proyecto en Netbeans

Para programar en Java, necesitamos conocimientos previos de programación en el lenguaje C , no es necesario que sea en este lenguaje, pero si recomendable, pues desde aqui parte el conocimiento esencial para ser buenos con Netbeans, pues se nos hara muy sencillo realizar la codificación correspondiente.

Veamos: 

Creamos un proyento en Java.

1.Ir a File -> New project -> Java ->Java application ->Next





2. Le damos click en Next, luego rutearemos la carpeta en donde guardaremos nuestro proyecto



3. Listo, ahora si podemos comenzar a programar !! :)



 Las letras que están de color gris las podemos borrar, pues son comentarios que no tienen nada que ver con los códigos que hagamos.  Los comentarios están declarados con    //comentario   o  /*comentario*/

Instalando Netbeans 7.4

Netbeans es un IDE, es decir un entorno de desarrollo integrado para ser usado por Java. Este IDe contiene muchas facilidades para poder realizar aplicaciones, programas, etc. ya que tiene su propio editor.

VEAMOS:
Este es el link de descarga para el JDK y  netbeans 7.4
CLICK AQUÍ

1. Para la descarga, tenemos que marcar la opción de 'Accept agreement', luego procedemos a escoger el paquete a descargar según nuestro S.O y los bits ya sea de 32 o 64.



2. Luego de la descarga lo instalamos, no hay nada de extraordinario en esta parte, solo seguir con los pasos normales de instalación.

3. Luego de la instalación, ejecutamos el programa y aparecerá esta ventana, eso quiere decir que la instalación fue correcta.




4. En caso de que ustedes ya tengan sus instaladores para usar este programa, asegurense de instalar el JDK primero y luego el Netbeans. 

lunes, 17 de marzo de 2014

Java: Estructuras selectivas en C++ Ejercicios1

Veamos algunos ejercicios con los llamados if, else:

Ejercicio 1. Un trabajador es contratado bajo las siguientes condiciones. Por las horas normales se le paga una tarifa fija. Se consideran horas normales a todas las horas trabajadas hasta un total de 40 al mes. Las horas adicionales a 40 se consideran como extras y una hora extra se paga el equivalente a 1.5 horas normales. Los impuestos están en función del monto obtenido por el trabajador. Si el sueldo es menor o igual a $ 20,000 no paga impuestos, por los siguientes $ 20,000 paga el 30%, mientras que para montos mayores a $ 40,000 paga el 15% sobre el adicional, ¿Cuál es el sueldo neto del trabajador y cuál es el monto en impuestos que debe pagar?

solución:

#include<iostream.h>
#include<conio.h>


void main(void)
{
   int h;

   float neto,imp=0,tot,phn,sh,hextra,sneto,adi=0; 
   cout<<"cantidad de horas: "; cin>>h;
   cout<<"Ingrese sueldo: ";cin>>tot;


   if(h<40)
   {
    neto=tot;
   }

   else if(h>40)
   {
     sh=tot/40;
     hextra=h-40;
     phn=(sh+sh/2)*hextra;
     neto=(tot+phn);
   }


   if(neto<=20000)

   {
     sneto=neto;
     imp=0;
   }


   else if(neto>20000 && neto<=40000)
    {
     imp=neto*0.3;
     sneto=(neto+imp);
    }

   else if(neto>40000)
    {
      adi=neto-40000)*0.15;
      imp=(40000*0.3)+adi;
      sneto=(imp+neto);
    }

   cout<<"el sueldo netos es: "<<sneto<<endl;
   cout<<"El impuesto es: "<<imp;

   getch();
}

domingo, 16 de marzo de 2014

Sentencia de control switch

Sentencia de control switch:  Esta sentencia nos sirve para hacer un selección entre diversas alternativas, según nosotras le agreguemos.

Vemos la sintaxis:

 switch( selector) 
 {
          case 'etiqueta':       break;
          case 'etiqueta':       break;
          case 'etiqueta':       break;

          case 'etiqueta':       break;

         default: sentencia; 
 } 


Como vemos en la sintaxis, para usar la sentencia de control   'switch' , debemos escoger sobre quien haremos esta múltiple selección. Luego procedemos a realizar los casos que son llamados 'case etiqueta', en la parte de etiqueta puede ir un valor numérico como por ejemplo:

switch(mes)
{
      case 1: cout<<"Enero";break;
      case 2: cout<<"Febrero";break;

}


En algunos se querrá utilizar un carácter (debe estar entre apostrofes)en lugar de un número, ya sea por comodidad a la hora de programar, pues como ya se sabe, cada quien programa de acuerdo a lo que se le hace más fácil. Vemos un ejemplo.

switch(signo)
{
      case '+' : cout<<"suma";break;
      case '-' : cout<<"resta";break;



'break' en el código significa salir, es decir, que si entra en el primer caso de suma, entonces automáticamente tiene que salir de la sentencia switch. 

Ahora se preguntarán para que es el 'default', este comando funciona como 'ya que no se  cumple ninguno de los casos hacer esto' y se pone lo que desee que se haga, como un mensaje que diga 'fuera de rango', etc.


sábado, 15 de marzo de 2014

color a letras y fondo de Borland!!!

Ahora les mostraré como cambiar el color al fondo y a las letras de borland c++.




El código es:
     
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>

void main()
{
    system ("COLOR E9");
    int nota1, nota2, nota3, prom;
    cout<<"Ingrese nota 1: "; cin>>nota1;
    cout<<"Ingrese nota 2: "; cin>>nota2;
    cout<<"Ingrese nota 3: "; cin>>nota3;

    prom=(nota1+nota2+nota3)/3;
    cout<<"\n\n";
    printf("El prrmedio es: ");
    cout<<prom;

getch();
}


   Como vemos en el código, se tiene que agregar la librería  #include<stdlib.h> , luego dentro del cuerpo 
    void main()
         {

                      system ("COLOR E9"); 

         }

  Dentro de los paréntesis va la primera letra " E " (color de  fondo Amarillo calro ) luego el número que es el color  Azul claro de la   letra.
  Vemos los valores:

        Fondo: 
          A = verde claro
          B = aguamarina clara
          C = rojo claro 
          D = purpura claro
          E = amarillo claro
          F = blanco brillante


      Letra: 
        0 = negro
        1 = azul
        2 = verde
        3 = aguamarina
        4 = rojo
        5 = purpura
        6 = amarillo
        7 = blanco
        8 = gris 
        9 = azul claro

viernes, 14 de marzo de 2014

Estructura repetitiva while y do while

La estructura repetitiva (bucle)' while ' tiene una condición del bucle llamada 'expresión lógica' que controla la secuencia de repetición. ' while ' nos da la condición de 'mientras', es decir:
Sintaxis:



while (condición_bucle)

{

     cuerpo: Sentencia 1;

     Sentencia 2;

     Sentencia 3;

     .

     .

     Sentencia n ;

}


Mientras la sentencia lógica cumpla la condición del bucle entonces recién entrará en el cuerpo a cumplir cada sentencia, en caso contrario no se cumpla la condición entonces  no entrará en el cuerpo la estructura.

  • La condición del bucle puede ser controlado por contadores, como por ejemplo: Es decir que la variable que condiciona al bucle se inicializa antes de la estructura , para que así vaya a cumplir el bucle mientras va avanzando su  función hasta que ya no cumpla y el bucle lo rechace.

#include<iostream.h>
#include<conio.h>

void main()

{
     int n=0;
     while (n<=10)
    {
       n++;
       cout<<n;
    }

 getch();

}


  •  La condición del bucle puede ser controlado por centinelas. El centinela es un valor definido, es decir que no varia, es constante., ademas sirve para terminar el ciclo del bucle.
               Ejemplo: La nota ingresada por teclado debe ser diferente a -1.
    #include<iostream.h>
    #include<conio.h>
    
    void main()
                            {
    int  centinela=-1;
    float nota, cont=0, suma=0;
    cout<<"Ingrese nota: "; cin>>nota;
         while (nota!=centinela)
    {
    cont++;
    suma+=nota;
    cout<<"Ingrese la siguiente nota"; cin>>nota;
    }

    if (cont>0)
    {cout<<"media = "<<suma/cont<<endl;}

    else
    cout<<"no hay notas";

    getch();
    }



  • La condición del bucle puede ser controlado por indicadores (banderas). Son de tipo bool y se utilizan como indicadores, se inicializan con 'false' y luego se define como true. El bucle controlado por indicadores se ejecuta hasta que se cambia el indicador.

  •          Ejemplo, en este problema se declara un booleano inicializado en false, sigue en el                    bucle hasta que se  ingrese un numero y 'digito' cambia a true, ahí es donde                                termina el bucle y muestra el dígito leído.

    #include<iostream.h>
    #include<conio.h>
    
    void main()
    {
    char car;
    bool digito=false;
    
    while(!digito)
    {
       cout<<"Ingrese un digito para salir del bucle: "; cin>>car;
       digito=(('0'<=car)&& (car<='9'));
    }
    
    cout<<car<<" es el digito leido"<<endl;
    getch();
    }



                     

    •  Sentencia break en los bucles.  En esta opción podemos realizar el bucle y dentro de ello algunas condiciones y para la terminación del bucle se pueda hacer con la condición y también con la sentencia 'break' .
               Ejemplo:  Se pide un número  mayor a cero  y se evalúa si es par en el bucle, en caso                que sea impar se saldrá del bucle con la sentencia 'break'.


    #include<iostream.h>
    #include<conio.h>
    
    void main() 
    { 
    
    int n; 
    
    cout<<"Ingrese numero: "; cin>>n; 
    
    while(n>=0) 
    { 
       if(n%2==0) 
         {cout<<n<<"Numero par";} 
       else 
       break; 
    } 
    getch(); 
    }

    Estructura repetitiva For (bucle)

    El bucle 'for' , es utilizado para implementar bucles controlados por contadores, es decir que las sentencias que están contenidas se ejecutan una vez por cada valor de rango. 

    Sintaxis :


            for(inicialización; condiciónDeSeguimiento; incremento )


     Sea ' i ' una variable entera, para incremento.

         int i;

    for(i=0 ; i<10 ; i++  )
    
    {
    
            sentencia;
    
    }



     Como vemos en este caso el 'for' se trabaja con una variable ' i ' , la cual se inicializa con el    valor de cero y luego se le da un límite i<=10, este límite puede ser cualquier valor o hasta un  valor 'n' el cual puede ser ingresado por teclado, luego sigue el incremento  del i++, lo cual  significa que avanzará de 1 en 1 (1,2,3,4,5,6,7,8,9,10)



     Sea ' i ' una variable entera, para que descienda 

         int i;

              for(i=10 ; i>0 ; i--  )
    {
            sentencia;
    }


     Como vemos en este caso el 'for' se trabaja con una variable ' i ' , la cual se inicializa con el  valor de 10 lo cual este valor también  puede ser un valor ' n ' ingresado por teclado , luego  sigue la instrucción i-- que significa que descenderá de 1 en 1. (10, 9, 8, 7, 6, 5, 4 3, 2, 1)



     Ejemplos acerca de la instrucción ' for ' :

      1. Si se quiere incrementar de 1 a 100 de 1 en 1.
              
    for ( int i=1; i<=100; i++)


      2. Si se quiere decrementar de 100 a 1 , de -1 en -1.
              
    for ( int i=100; i>=1 ; i--)


      3. Si se quiere incrementar de 1 a 100 , de 5 en 5.
               
    for ( int i=1; i<=100; i+=5)


      4. Si se quiere decrementar de 100 a 1 pero de -3 en -3.
             
    for ( int i=100;  i>=1;  i-=3)