1. SESIÓN 8
Sentencias condicionales y bucles en MATLAB
>>%Escriba un programa script que obtenga un número entero al
azar entre el 0 y el 9, pregunte un número al usuario y le
informe si ha acertado o no.
Ayuda:
1) Recuerde que para calcular un número aleatorio puede usar la
función matemática rand (sin ningún argumento de entrada), que
devuelve un número aleatorio comprendido entre 0 y 1. Para
convertir ese número en el rango [a,b), use la expresión
matemática siguiente (Ayuda pag 64-65):
(b-a)*rand+a
2) Para detectar si el usuario ha acertado, use la sentencia
condicional if-else-end (pag 170). Se debe chequear si el número
obtenido al azar (na) y el introducido por el usuario (nu) son
los mismos, con
if (na==un)
disp(‘Usted ha acertado’)
else
disp(‘Lo sentimos, pero no ha acertado’)
end
>>%Modifique el programa script anterior para que obtenga un
número entero al azar entre el 0 y el 9 y pregunte un número al
usuario hasta que acierte.
Ayuda: Use una variable (bandera) para que nos indique cuando acierta
el usuario. Coloque todo el código del ejercicio anterior dentro del
cuerpo dun bucle de tipo while-end
bandera=1
while bandera==1
%Inserte aquí el código
end
Ejecute el fichero script. ¿Qué sucede? Se trata de un bucle infinito
que no parará de ejecutarse debido a que la variable bandera siempre
es 1. Por ello, el programa no para que de ejecutarse. Cuando le
ocurra esto, debe chequear las variables de la condición del bucle y
analizar por qué no cambian de valor. En este caso, basta con ponerla
a otro valor distinto de 1, en el que el usuario acierte.
if (na==un)
2. disp(‘Usted ha acertado’)
bandera=0;
else
disp(‘Lo sentimos, pero no ha acertado’)
end
>>%Escriba un fichero script que pida un número a un usuario e imprima
si es par o impar.
Ayuda: Un número par es aquel que es divisible entre 2. Use la función
rem(x,2), que devuelve el resto de dividir x entre 2. Use una
estructura if-else-end.
>>%Realice el ejercicio 13 de la página 197