Matlab - Ciclo While y salida de información

 
Vista:

Ciclo While y salida de información

Publicado por Deivy Ramírez (2 intervenciones) el 18/10/2019 22:03:05
Buen día

Soy un poco nuevo en Matlab, tengo el ejercicio de "Construir un programa para que el PC adivine un número que piense el usuario. Una vez que el PC genera un número, el usuario debe responder con 1,2 o 3 para indicar si es mayor, menor o correcto."
Problema: a al hora de entrar en el ciclo, se salta todas las instrucciones hasta el input ¿cómo puedo solucionar este problema en el ciclo While?

gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clc; clear;
n=randi([0,100])
prompt = 'Si su número es mayor pulse 1, si es igual pulse 2 y sino pulse 3, luego oprima enter.';
d = input( prompt )
while d ~= 2
    g = n
    if d == 3
        n = randi([0,g]);
        disp(n)
        d = input(prompt)
    elseif d == 1
         n = randi([g,100])
         d = input( prompt )
    end
end
disp('Perfecto su número es:')
disp(n)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ciclo While y salida de información

Publicado por Daniel (354 intervenciones) el 20/10/2019 14:30:49
Hola,

El problema es de implementación, al no guardar el mínimo y máximo valor posible el algoritmo parece no funcionar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
min_value = 0;
max_value = 100;
n = randi([min_value, max_value]);
 
prompt = 'Si su número es mayor pulse 1, si es igual pulse 2 y sino pulse 3, luego oprima enter.';
 
n
d = input(prompt);
 
while d ~= 2
    if d == 3
        max_value = n;
    elseif d == 1
        min_value = n;
    end
 
    n = randi([min_value, max_value]);
    n
    d = input(prompt);
end
 
disp('Perfecto su número es:')
disp(n)

Saludos,
Daniel Rodríguez.
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar