Ayuda con un programa en pseudocodigo

Iniciado por billy_joe, 10 Mayo 2010, 01:21 AM

0 Miembros y 1 Visitante están viendo este tema.

billy_joe

Hola a todos les keria hacer una pregunta alguien no sabra como seria la formula en pseudocodigo para q el programa reconozca q el numero ingresado elevado a la 2 tiene 3 digitos o 4 o 5...etc



Bueno me voy llendo

Gracias de antemano

salu2!

Kase

pedir numero
y = leer()
y = y * y 
while y >= 10
{
    y=y/10
    contador = contador+1
}
print contador

Shell Root

No entiendo mucho lo que quieres hacer, algo así: (Está en PHP)
Código (php) [Seleccionar]
$strNumero = 12;
$strElevado = $strNumero * $strNumero;
echo '<b>El resultado es: </b>'.$strElevado.' <b>y tiene un total de caracteres de: </b>'.strlen($strElevado);

PoC:
El resultado es: 144 y tiene un total de caracteres de: 3
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

LS

#3
multiplicas la variable por si misma y si el resultado es mayor a 99 es por que tiene 3 o más dígitos naturales (Y).

Malvinas

Cita de: LS en 10 Mayo 2010, 06:21 AM
multiplicas la variable por si misma y si el resultado es mayor a 99 es por que tiene 3 o más dígitos reales (Y).

Acá te lo dejo como dice LS:

Algoritmo Dígitos

Léxico

        número, resultado: Real

Inicio

        Escribir ('Ingrese un número')
        Leer (número)
        resultado:= número*número
        según
                resultado<9: Escribir ('El número tiene un dígito')
                resultado<99: Escribir ('El número tiene dos dígitos')
                99<resultado<999: Escribir ('El número tiene tres dígitos')
                999<resultado<9999: Escribir ('El número tiene cuatro dígitos')
        fsegún {Fin según}

Fin.

P.D.: Después si querés saber si tiene más dígitos, tendrías que continuar agregando condiciones.

Saludos.

billy_joe

Hola a todos muchas gracias por sus respuesta me sirvio bien en lo q necesitaba solo tengo una pregunta mas usando el miestras o repetir ingreso una x cantidad de vesces un numero alguien sabria como hacer para q el programa reconozca cuales fueron los 10 o 5 o 4 numeros mayores ingresados?

Shell Root

Emmm para eso necesitas un vector, para cuando termines de ingresar cierta cantidad de numeros. Ordenas el vector dependiendo de las necesidades (Des- Asc), y seleccionas la cantidad de numeros a mostrar. (Eso fue lo que entendí, de no ser así, especifica más lo que quieres hacer)
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Kase

muy complicado lo que pides, sobretodo si no le das una limitante de numeros...

mas no imposible...   si entiendes de arboles binarios es facil, ( pero si vas comensando  kisas  no le entiendas... =/

al codigo anterior le agregamos un do while que nos pregunte si continuar

Citardo{
pedir numero
y = leer()
y = y * y
z=y
while y >= 10
{
    y=y/10
    contador = contador+1
}
contruir arbol (z)  // esto es un metodo
print contador
}while continuar ingresando?
//imprimimos los 10 mayores
arbol en post orden  -> arreglo[]
imprimir arreglo[1....10]

el arbol binario es algo complicado =/
pero consiste mas o menos asi

Conceptos: nodo (cada valor del arbol)

algoritmo
Citarmetodo  arbol (recive 'numero')
if nodo vacio
{
nodo = numero}
else
if numero > 10
ala izquerda del nodo
regresa ala primer linea
else
ala derecha del nodo
regresa ala primer linea

esto nos generaria una "arbol" con los valores mas chikos ala derecha y los mas altos ala izuquierda
con eso puedes saber  los 10 mas grandes o los 10 mas pekeños.. o los 10 de enmedio.. y otras cosas XD

para entender tienes que leer sobre arboles...

PD: perdon por combinarte objetos con estructurado... eske casi no recuerdo los arboles binarios...  pero lee sobre ellos.. es tu solucion  optima! =3