Professional Documents
Culture Documents
Este programa en Java recibe un entero decimal y lo convierte a binario. Hay varias
formas de realizar esta conversin. En tanto preparo otras, aqu va esta versin.
El algoritmo consta de los siguientes pasos:
Si x es par, entonces
el siguiente coeficiente ai es 0
se divide x entre 2
a0 = 1
a1 = 0
a2 = 1
y los otros coeficientes son cero. De esta forma se ha mostrado cmo convertir de
decimal a binario el nmero 5. ste es el algoritmo que se utiliza en el siguiente
programa:
numero = entrada.nextInt();
miObjeto.Binario( numero );
} // Cierra main
} // Cierra clase UsaConvertirBinario
/////////////////////////////////////
// METDODO BINARIO
/////////////////////////////////////
public void Binario( int x )
{ // Abre metodo Binario
System.out.println("\nAqui esta el numero en notacion binaria: ");
int j = 0;
while ( 0 != x )
{ // Abre while
if ( 0 != x % 2 )
{ // Abre if
a[j++] = x % 2;
// Se resta el residuo
x -= x % 2;
// Se divide entre 2
x /= 2;
} // Cierra if
else
{ // Abre else
a[j++] = 0;
// Se cambia x
x /= 2;
} // Cierra else
} // Cierra while
Imprimir();
///////////////////////////////////
//METODO IMPRIMIR
///////////////////////////////////
switch ( a[i] )
{ // Abre switch
case 0:
if ( "adentro" == estatus )
System.out.printf("0");
break;
case 1:
System.out.printf("1");
estatus = "adentro";
break;
default :
System.out.printf("ERROR. EL PROGRAMA ESTA MAL!");
break;
} // Cierra switch
if ( "afuera" == estatus )
System.out.printf("0");
System.out.println("\n");
Linkwithin
6 comentarios:
1.
1.
Hitmontop15 de septiembre de 2012, 0:26
El programa consta de dos archivos, cada uno de los cuales contiene una clase.
El primero de ellos es, por decirlo de una manera, el maestro. Contiene al
mtodo main en una clase que, por ponerle un nombre, le he llamado
UsaConvertirBinario, y es desde donde se llama a los mtodos que hacen la
tarea, los cuales se encuentran en el segundo archivo, llamado
ConvertirBinario.java. En sta clase se encuentra un par de mtodos, el
primero, llamado Binario realiza la conversin con el algoritmo explicado arriba.
El segundo se llama Imprimir, y es importante, porque las computadoras
imprimen los nmeros de izquierda a derecha, pero nosotros debemos imprimir
slo los elementos del arreglo a[] que son significativos, es decir, a partir del
primero distinto de 0 que se encuentre en el recorrido de izquierda a derecha.
As que, respondiendo a tu pregunta, ste es un programa completo, en donde
aparecen mtodos y clases. Gurdalos en el mismo directorio, compila y
ejecuta.
Saludos.
Responder
2.
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
Ejercicio 04: Sea n un entero positivo. Si n es par, divdalo entre 2, sino lo es,
multiplquelo por 3 y smele 1. Realice este proceso hasta que el nmero que alcance
sea 1. Realice un programa en C que implemente dicho proceso. Imprima los
nmeros que van obteniendo. Por Ejemplo: Para n = 10 la sucesin generada es: 10 5
16 8 4 2 1
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[]) {
int n;
do{
cout<<"Ingrese N numero entero positivo: ";
cin>>n;
}while(n<=0);
cout<<"Sucesion generada es: ";
while(n!=1)
{
cout<<n<<"; ";
if(n%2==0)
n=n/2;
else
n=3*n+1;
}
cout<<"1 n"<<endl;
system("pause");
return 0;
}