Foro de elhacker.net

Foros Generales => Dudas Generales => Mensaje iniciado por: mariele31 en 29 Marzo 2022, 16:36 pm



Título: ¡AYUDA URGENTE! ALGORITMO
Publicado por: mariele31 en 29 Marzo 2022, 16:36 pm
Hola:

Estoy estudiando para mi examen, y me estoy bloqueando con este algoritmo.

Algoritmo calcular

var
   numero: entero;
resultado: entero;
fvar

numero := 45897;
resultado := 0;

mientras numero > 0 hacer
si (numero mod 2) = 0 entonces
resultado := resultado + 1;
fsi
numero := numero div 10;
fmientras

falgoritmo


¿Cuál será la variable resultado al hacer el algoritmo?

¿Qué problema resuelve?

¿Alguien me puede ayudar a comprender esto?

Gracias.


Título: Re: ¡AYUDA URGENTE! ALGORITMO
Publicado por: fary en 29 Marzo 2022, 16:53 pm
Código:
si (numero mod 2) = 0 entonces


En esta línea se pregunta si el numero es par, si es par se incrementa el resultado en 1, usando esta línea:

Código:
resultado := resultado + 1;

Luego el número se divide entre 10  aquí, sea par o impar.

Código:
numero := numero div 10;

Y se evalúa de nuevo el mientras, hasta que sea la variable numero tenga valor 0:

Código:
mientras numero > 0 hacer


¿Qué resuelve este algoritmo? ni idea.

¿Cómo puedo saber que  contiene la variable resultado? Tienes dos opciones, o ir calculándolo a mano como te he explicado o bien pasarlo a código (Mucho mas sencillo) y ejecutar el programa.

saludos.


Título: Re: ¡AYUDA URGENTE! ALGORITMO
Publicado por: mariele31 en 29 Marzo 2022, 17:30 pm
Muchas gracias, me queda más claro.


Título: Re: ¡AYUDA URGENTE! ALGORITMO
Publicado por: Serapis en 29 Marzo 2022, 18:32 pm
Citar
¿Qué problema resuelve?
Si el resultado suma 1 cuando es par, (y luego pasa a la siguiente cifra) entonces está ¿....?

Si tengo que decirlo, entonces no estás pensando.
Deberías crear el código dle algoritmo y ejercutarlo con diferentes números cada vez...
prueba con estos valores:
5
13
279
333
3579115

6
24
648
4486220