domingo, 3 de marzo de 2019

INSTALAR OFFICE 2019 FULL PLUS


OJO: Tener en cuenta que no deben tener ningún producto de Microsoft Office instalado, de lo contrario no podrán instalar esta versión.

1. Ejecutamos el programa y seleccionamos la versión a instalar, en este caso yo seleccione la versión 2016, pero ustedes seleccionen la version 2019 y la arquitectura de su equipo.

- Además pueden escoger los productos a instalar, incluido ProjectPro  y VisioPro !!!.

Click en Install Office y esperar varios pares de minutos.



2. Al finalizar  dan click en Activate Office, para la activación del producto y nuevamente esperar algunos minutos.


 
3.  Terminado el proceso de activación, verificar en la cuenta de office el estado de activación.



4. Aún faltan pasos por eso sigue sin activar...
En la ventana anterior click en el Check y botón office retail. Esperar otros minutos.





5. Finalizado el proceso podrán dar click en el boton Office 2013-2019 License Setup.


6. Finalizado el paso anterior, hacer Refresh y esperar.




 7. Terminando saldrá una lista para las licencias de los productos, seleccionar la versión que están instalando, en mi caso seleccione todo 2016 y click en Setup.





8. Al completarse, regresar a la ventana de utilities  y dar click en Activate Office, finalizado este paso, el producto quedará activado.





Link de  descarga Office!
Clik Here for Mega


jueves, 30 de abril de 2015

UNIDADES DE MEDIDA PARA EL ALMACENAMIENTO DE DATOS

SI  ESTAS EN CONSTANTE MANEJO DE LA TECNOLOGÍA NO PUEDES DEJAR DE SABER:

¿A CUANTO EQUIVALE UN TERA BYTE EN GIGA BYTE?

 NO, no son 1000 Gigas


¿QUÉ SON LAS UNIDADES DE MEDIDA?
Son las que se utilizan para referirse al almacenamiento de datos. En la informática son las siguientes:


  • Toda comienza con los BITS, es la unidad 'básica' que almacena 0 o 1.
  • BYTE: Son 8 bits.
  • KILO BYTE (KB): Son 1024 bytes.
  • MEGA BYTE (MB): Son 1024 KB
  • GIGA BYTE (GB): Son 1024 MB.
  • TERA BYTE (TB): Son 1024 TB.


VEAMOS CONVERSIONES ENTRE ESTAS UNIDADES DE MEDIDA:


1. Convertir 12 Bytes a bites.

                      12 Bytes * (8 bites)/1 Byte
                       = 96 bites

2. Convertir 64 KB a bits.
                     
                    64 Bytes *(8 bites)/ 1 Byte
                    = 512 bites


3.  Convertir 8 KB a bytes.

                     8 KB*(1024 bytes)/ 1 KB
                     = 8192 bytes

4. Convertir 1879027 Bytes a MB

                     1879027 bytes * (1 MB)/1024 KB * (1 KB/1024 Bytes)
                     = 1.79  (aprox con 3 cifras significativas )

martes, 28 de abril de 2015

Códigos de colores para lenguajes de programación en tu Blog

CÓDIGOS DE COLORES PARA LENGUAJES DE PROGRAMACIÓN EN NUESTRO BLOG.


Cuando hacemos una publicación sobre cualquier ejercicio para un determinado lenguaje de programación, sabemos que la visualización se vea como si estuviera el lenguaje de programación en la pagina del Blog y no se vea de una manera plana y sin sentido.

Además de mejorar la visualización también mejora el entendimiento del usuario, pues por medio de los colores se da cuenta acerca de como es la sintaxis del programa. Por ejemplo cuales son las variables propias del programa y cuales son las variables creadas por el programador.

No crean que poder acceder a los colores correspondientes a un lenguaje de programación es algo difícil, es todo lo contrario, pues para eso utilizaremos el proyecto de                       
Alex Gorbatchev,  del cual obtendremos los archivos de  SyntaxHighlighter.


Vamos con los pasos:


1 Paso: Vamos al diseño del blog como se muestra en la imagen:


2 Paso: Luego vamos a la plantilla y luego apretamos el botón de Editar HTML.

3. Paso: Nos aparecera esta ventana, iremos a Editar plantilla y dentro de la cabecera, es decir de la  etiqueta <head>, pero al final, ira el código que vemos en la imagen. 

Como vemos en mi caso ya tengo agregado los códigos java Script:

<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/>
<script language='javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = &quot;http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf&quot;;
SyntaxHighlighter.all();
</script>


Los códigos a agregar depende de que lenguajes de programación manejaras para tu Blog, ten en cuenta que solo debes agregar los lenguajes que utilices, no agregues de más por que a la hora de cargar la página por cualquiera de tus usuarios, está se  demorará. Así que agrega solo las que necesites.

 Luego de pegar el código, le das clic en Guardar plantilla


4 Paso: Un paso antes para terminar debes saber para que lenguajes tienes acceso:



LenguajeBrush:Nombre del archivo
ActionScript3as3, actionscript3shBrushAS3.js
Bash/shellbash, shellshBrushBash.js
ColdFusioncf, coldfusionshBrushColdFusion.js
C#c-sharp, csharpshBrushCSharp.js
C++cpp, cshBrushCpp.js
CSScssshBrushCss.js
Delphidelphi, pas, pascalshBrushDelphi.js
Diffdiff, patchshBrushDiff.js
Erlangerl, erlangshBrushErlang.js
GroovygroovyshBrushGroovy.js
JavaScriptjs, jscript, javascriptshBrushJScript.js
JavajavashBrushJava.js
JavaFXjfx, javafxshBrushJavaFX.js
Perlperl, plshBrushPerl.js
PHPphpshBrushPhp.js
Plain Textplain, textshBrushPlain.js
PowerShellps, powershellshBrushPowerShell.js
Pythonpy, pythonshBrushPython.js
Rubyrails, ror, rubyshBrushRuby.js
ScalascalashBrushScala.js
SQLsqlshBrushSql.js
Visual Basicvb, vbnetshBrushVb.js
XMLxml, xhtml, xslt, htmlshBrushXml.js

5 Paso: Finalmente para que agregues el código a tus entradas, siempre irá con la etiqueta <pre>: Veamos un ejemplo para C++:



<pre class="brush: cpp">
//Comentario
int num;
</pre>

En el código especificamos para que lenguaje queremos el formato, en mi caso es para C++ por eso puse cpp, es según el brush. Para eso, en el 4 Paso esta agregado los lenguajes, el brush que irá para cada entrada y el nombre de archivo que se agrega en la plantilla.

 Como se vería en nuestro Blog:
//Comentario
int num;



miércoles, 11 de marzo de 2015

¿Cómo buscar un número en un Arreglo o Vector?

Siguiendo con el tema de vectores o arreglos unidimensionales, veremos como buscar un número ingresado por teclado, en un arreglo de 10 números. Vale decir que para hacer más grande el arreglo se puede agregar una variable más y pedir al usuario que agregue la cantidad de números que desee almacenar en el arreglo respectivo.


Ahora vamos al grano, con el código en Dev-C++:


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    //PARA BUSCAR UN NUMERO EN UN ARREGLO DE 10 NUMEROS:
           
    //declaro el arreglo de tipo entero
    int num[10];
 
    //declaro la variable que almacenara al numero que quiero buscar en el arreglo
    int n;
    
    //declaro una varibale ban que me indicara si se encuentra o no el numero en el arreglo
    int ban=0;
    
    //procedo a leer el arreglo 
    for(int i=0; i<10; i++){
        cout<<"Ingrese numero: ";  
        cin>>num[i];          
            }
            
    //ahora ingreso el numero a buscar en el arreglo
    cout<<endl<<endl<<"Ingrese numero a buscar: ";
    cin>>n;

    //BUSCO EL NUMERO INGRESADO EN EL ARREGLO
            for(int i=0; i<10; i++){
                 if(n==num[i]){
                        ban=1;
                cout<<endl<<"el numero "<<n<<" se encuentra en la posicion: "<<" ["<<i+1<<"] "<<endl; 
                            break;                   
                         }
                 else{
                              ban=0;
                              }
                    }
                    
                 if(ban==0){
                      cout<<endl<<endl<<"el numero no se encuentra en el arreglo"<<endl;
                 }
 
              
       
    system("PAUSE");
    return EXIT_SUCCESS;
}
 

Es todo...

INTERPOLACION DE LAGRANGE EN C++


Polinomio de interpolación de Lagrange:




La interpolación de Lagrange es una de las interpolaciones más útiles en integración numérica, está consiste en una representación de polinomios de la función:
Esta interpolación pasa por los puntos n+1 dados:



Para hallar la Interpolacion de Lagrange se tiene que seguir ciertas fórmulas, nosotros veremos un algoritmo en el cual no es necesario utilizar las fórmulas basta con lo siguiente:



Ahora vemos como sería el código en C++:

#include<iostream.h>
#include<conio.h>
void main(){
float x[50],y[50],z,l, valor=0;
int n;

cout<<"ingrese el numero de elementos: "; cin>>n;
cout<<"ingrese x: ";

   for(int i=0; i<n; i++){
 cin>>x[i];
    }

      cout<<endl;
      cout<<"ingrese y: ";
for(int i=0; i<n; i++){
              cin>>y[i];

}
  cout<<endl;
  cout<<endl<<"ingrese z: "; cin>>z;

 for(int i=0; i<n ;i++){
        l=y[i];
        for(int j=0; j<n; j++){
          if(i!=j){
             l=(l*(z-x[j]))/(x[i]-x[j]);
            }
        }
       valor=valor+l;
 }

 cout<<endl<<endl<<"El valor al polinomio de interpolacion en Z= "<<z <<" es : "<<valor;
 getch();
 }

En Dev c++ sería de la siguiente forma:



#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    float x[50],y[50],z,l, valor=0;
int n;

cout<<"ingrese el numero de elementos: "; cin>>n;
 cout<<"ingrese x: ";

for(int i=0; i<n; i++){
 cin>>x[i];
}

      cout<<endl;
cout<<"ingrese y: ";
for(int i=0; i<n; i++){
              cin>>y[i];

}
  cout<<endl;

cout<<endl<<"ingrese z: "; cin>>z;

 for(int i=0; i<n ;i++){
        l=y[i];
        for(int j=0; j<n; j++){
          if(i!=j){
             l=(l*(z-x[j]))/(x[i]-x[j]);
            }
        }
       valor=valor+l;
 }

 cout<<endl<<endl<<"El valor al polinomio de interpolacion en Z = "<<z<<" es : "<< valor<<endl;
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
 


DESCARGA EL ARCHIVO AQUÍ










martes, 20 de enero de 2015

EJERCICIOS DE ESTRUCTURAS SELECTIVAS

1.     Construya una algoritmo que al ingresar un numero entero imprima el día de la semana que le corresponde. Por ejemplo: al ingresar 1 debe imprimir lunes.
       
          #include<iostream.h>
          #include<conio.h>
          void main(){

          int dia;

          cout<<"Ingrese el numero de dia: ";
          cin>>dia;

           switch(dia){
              case 1: cout<<"EL DIA ES LUNES";break;
              case 2: cout<<"EL DIA ES MARTES";break;
              case 3: cout<<"EL DIA ES MIERCOLES";break;
              case 4: cout<<"EL DIA ES JUEVES";break;
              case 5: cout<<"EL DIA ES VIERNES";break;
              case 6: cout<<"EL DIA ES SABADO";break;
              case 7: cout<<"EL DIA ES DOMINGO";break;
              default: cout<<"numero invalido";
           }
         getch();
        }

2.    Construir un algoritmo que al ingresar un numero entero que indique el mes, nos muestre cuantos  días tiene dicho mes.
         #include<iostream.h>
         #include<conio.h>
           void main(){

         int mes;

         cout<<"Ingrese el numero del mes: ";
         cin>>mes;

         switch(mes){
           case 1:
           case 3:
           case 5:
           case 7:
           case 8:
           case 10:
           case 12:cout<<"EL MES TIENE 31 DIAS";break;

           case 2: cout<<"EL MES TIENE 29 DIAS";break;

           case 4:
           case 6:
           case 9:
           case 11: cout<<"EL MES TIENE 31 DIAS";break;
           default: cout<<"numero invalido";
              }
          getch();
           }

3.    Construya una calculadora que lea 2 números y un operador y efectúe la operación indicada (suma, resta, multiplicación y división).


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

          float n1,n2,pro;
          char opcion;
  
           cout<<"Ingrese la opcion (suma(S),resta(R),multiplicacion(M),division(D)): ";
           cin>>opcion;
           cout<<"Ingrese numero 1: ";
           cin>>n1;
           cout<<"Ingrese numero 2: ";
           cin>>n2;

           switch(opcion){
              case 'S':  pro=n1+n2;break;
              case 'R':  if(n1>n2){
                   pro=n1-n2;
                        } else
                         pro=n2-n1;break;

              case 'M':  pro=n1*n2; break;
              case 'D':  pro=n1/n2;  break;
              default: cout<<"La opcion no existe";
                  }

             cout<<"El resultado es: "<<pro;
             getch();
             }

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