Você está na página 1de 7

SOLUCIN

1. Entendimiento del problema


DATOS
NUMERO
150

OPCIONES

BASE
10

BASE 2
BASE 8
BASE 10
BASE 16

OPCION
SELECCIONADA

RESPUESTA

BASE 8

226

2. Modelo de solucin
{Leer el tipo de servicio solicitado}
Leer (Tipo_Conversion)
{Repetir mientras la conversion solicitada si:1,2,3,4,C y T}
Mientras (Tipo_conversion = "1" Tipo_conversion ="2"
Tipo_conversion = "3" Tipo_conversion ="4" Tipo_conversion = "C")
INICIO
{Inicializar acumulador}
i = -1;
{proceso de eleccion de conversion}
si (Tipo_conversion == "1")
inicio
numero2 = 0;
mientras (ingresodevalores > 0)
inicio
i = i + 1;
cociente = ingresodevalores / 2;
resto = ingresodevalores % 2;
ingresodevalores = cociente;
numero2 = numero2 + (resto * basei));
Escribir
numero2
Fin
Fin
si (Tipo_conversion == "2")
inicio
numero8 = 0;
mientras (ingresodevalores > 0)
inicio
i = i + 1;
cociente = ingresodevalores / 2;
resto = ingresodevalores % 2;
ingresodevalores = cociente;
numero8 = numero8 + (resto * basei));
Escribir
numero8
Fin
Fin

si (Tipo_conversion = "3")
inicio
numero10 = 0;
mientras (ingresodevalores > 0)
inicio
i = i + 1;
cociente = ingresodevalores / 2;
resto = ingresodevalores % 2;
ingresodevalores = cociente;
numero10 = numero10+ (resto * basei));
Escribir
numero10
Fin
Fin
si (Tipo_conversion = "4")
inicio
numero16 = 0;
mientras (ingresodevalores > 0)
inicio
i = i + 1;
cociente = ingresodevalores / 2;
resto = ingresodevalores % 2;
ingresodevalores = cociente;
numero16 = numero16+ (resto * basei));
Escribir
numero16
Fin
Fin
si (Tipo_conversion = "c")
inicio
menu de seleccin
{BASE 2 .....................................................(1)
BASE 8 .....................................................(2)
BASE 10 ....................................................(3)
BASE 16 ....................................................(4)
CONTINUAR....................................................(C)
TERMINAR ...................................................(T)"}
Fin
Caso contrario
Fin
Fin del programa
Inicio
{Volver a leer el tipo de convercion solicitado}
Leer (Tipo_conversion)
FIN

3. Pre-Condicin
NUMERO > 0;

4. Accin del algoritmos


Convertir un numero en su determinada base a otra base.

5. Diccionario de variables
Resultados
numero16:
numero8:
numero2:
numero10:
Datos

real
real
real
real

Numero:
Base:

entero
entero

Variable auxiliar
i:
Cociente:
Resto:
Tipo de conversion:

entero
entero
entero
string

6. Pseudocodigo

Inicio
{Leer Datos}
LEER NUMERO
LEER BASE
{MENU DE OPCIONES}
BASE 2 .....................................................(1)
BASE 8 .....................................................(2)
BASE 10 ....................................................(3)
BASE 16 ....................................................(4)
CONTINUAR...................................................(C)
TERMINAR ...................................................(T)
{Leer el tipo de servicio solicitado}
Leer (Tipo_Conversion)
{Repetir mientras la conversion solicitada se:1,2,3,4,C y T}
Mientras (Tipo_conversion = "1" Tipo_conversion ="2"
Tipo_conversion = "3" Tipo_conversion ="4" Tipo_conversion = "C")
INICIO
{Inicializar acumulador}
i = -1;
{proceso de eleccion de conversion}
si (Tipo_conversion == "1")
inicio
numero2 = 0;
mientras (ingresodevalores > 0)
inicio

i = i + 1;
cociente = ingresodevalores / 2;
resto = ingresodevalores % 2;
ingresodevalores = cociente;
numero2 = numero2 + (resto * basei));
Escribir
numero2
Fin
Fin
si (Tipo_conversion == "2")
inicio
numero8 = 0;
mientras (ingresodevalores > 0)
inicio
i = i + 1;
cociente = ingresodevalores / 2;
resto = ingresodevalores % 2;
ingresodevalores = cociente;
numero8 = numero8 + (resto * basei));
Escribir
numero8
Fin
Fin
si (Tipo_conversion = "3")
inicio
numero10 = 0;
mientras (ingresodevalores > 0)
inicio
i = i + 1;
cociente = ingresodevalores / 2;
resto = ingresodevalores % 2;
ingresodevalores = cociente;
numero10 = numero10+ (resto * basei));
Escribir
numero10
Fin
Fin
si (Tipo_conversion = "4")
inicio
numero16 = 0;
mientras (ingresodevalores > 0)
inicio
i = i + 1;
cociente = ingresodevalores / 2;
resto = ingresodevalores % 2;
ingresodevalores = cociente;
numero16 = numero16+ (resto * basei));
Escribir
numero16
Fin
Fin
si (Tipo_conversion = "c")
inicio
menu de seleccin
BASE 2 .....................................................(1)
BASE 8 .....................................................(2)
BASE 10 ....................................................(3)
BASE 16 ....................................................(4)
CONTINUAR...................................................(C)
TERMINAR ...................................................(T)
Fin

Caso contrario
Fin
Fin del programa
{Volver a leer el tipo de convercion solicitado}
Leer (Tipo_conversion)
FIN
{ESCRIBIR OPCION SELECCIONADA}
Escribir

opcion seleccionada

FIN
7. Implementacin
{
int ingresodevalores,i,cociente,resto,basse;
string Tipo_conversion;
double numero8, numero2, numero16, numero10;
Console.WriteLine("Ingresar el numero:");
ingresodevalores=int.Parse(Console.ReadLine());
Console.WriteLine("Ingresar la base del numero:");
basse = int.Parse(Console.ReadLine());
Console.WriteLine("------------------------------------------------");
Console.WriteLine("");
Console.WriteLine("Elegir uno de las opciones de convercion ");
Console.WriteLine("");
Console.WriteLine("BASE 2 ......................................(1)");
Console.WriteLine("BASE 8 ......................................(2)");
Console.WriteLine("BASE 10 .....................................(3)");
Console.WriteLine("BASE 16 .....................................(4)");
Console.WriteLine("");
Console.WriteLine("------------------------------------------------");
Console.Write("ingresar opcion: ");
Tipo_conversion = Console.ReadLine();
while (Tipo_conversion == "1" || Tipo_conversion == "2" ||
Tipo_conversion == "3" || Tipo_conversion == "4" || Tipo_conversion ==
"C")
{
// PROCESO DE ELECCION DE CONVERSION
i = -1;
if (Tipo_conversion == "1")
{
numero2 = 0;
while (ingresodevalores > 0)
{
i = i + 1;
cociente = ingresodevalores / 2;
resto = ingresodevalores % 2;
ingresodevalores = cociente;
numero2 = numero2 + (resto * (Math.Pow(basse, i)));
Console.WriteLine(numero2);

}
}
if (Tipo_conversion == "2")
{
numero8 = 0;
while (ingresodevalores > 0)
{
i = i + 1;
cociente = ingresodevalores / 8;
resto = ingresodevalores % 8;
ingresodevalores = cociente;
numero8 = numero8 + (resto * (Math.Pow(basse, i)));
Console.WriteLine(numero8);
}
}
if (Tipo_conversion == "3")
{
numero10 = 0;
while (ingresodevalores > 0)
{
i = i + 1;
cociente = ingresodevalores / 10;
resto = ingresodevalores % 10;
ingresodevalores = cociente;
numero10 = numero10 + (resto * (Math.Pow(basse, i)));
Console.WriteLine(numero10);
}
}
if (Tipo_conversion == "4")
{
numero16 = 0;
while (ingresodevalores > 0)
{
i = i + 1;
cociente = ingresodevalores / 16;
resto = ingresodevalores % 16;
ingresodevalores = cociente;
numero16 = numero16 + (resto * (Math.Pow(basse, i)));
Console.WriteLine(numero16);
}
}
// para continuar
if (Tipo_conversion == "C")
{
Console.WriteLine("Ingresar el numero:");
ingresodevalores = int.Parse(Console.ReadLine());
Console.WriteLine("Ingresar la base del numero:");
basse = int.Parse(Console.ReadLine());
Console.WriteLine("--------------------------------------------");
Console.WriteLine("");
Console.WriteLine("Elegir uno de las opciones del menu");
Console.WriteLine("");
Console.WriteLine("BASE 2...................................(1)");
Console.WriteLine("BASE 8...................................(2)");
Console.WriteLine("BASE10...................................(3)");

Console.WriteLine("BASE 16...................................(4)");
Console.WriteLine("CONTINUAR....................................(C)");
Console.WriteLine("TERMINAR.....................................(T)");
Console.WriteLine("");
Console.WriteLine("------------------------------------------------");
}
else//FIN
{
Console.ReadLine();
}
Console.WriteLine("--------------------------------------------");
Console.WriteLine("");
Console.WriteLine("Elegir uno de las opciones del menu");
Console.WriteLine("");
Console.WriteLine("BASE 2...................................(1)");
Console.WriteLine("BASE 8...................................(2)");
Console.WriteLine("BASE10...................................(3)");
Console.WriteLine("BASE 16...................................(4)");
Console.WriteLine("CONTINUAR....................................(C)");
Console.WriteLine("TERMINAR.....................................(T)");
Console.WriteLine("");
Console.WriteLine("------------------------------------------------");
Console.Write("ingresar opcion: ");
Tipo_conversion = Console.ReadLine();
}

}
}

Você também pode gostar