primer parcial 2017 probelma 3 a)

primer parcial 2017 probelma 3 a)

de Matias Bajac Berhau -
Número de respuestas: 2

Buenas, queria saber si el siguiente razonamiento para el ejercicio es correcto, en vez de while use for 

function m = EsSumaMayor(v,Smin)

 suma = 0;

m = '';

for i = 1:length(v)

suma = suma + v(i)

if suma > Smin 

m = '1';

disp(m)

elseif Smin> suma 

m = '0';

disp(m)

 endelseif

endfor

endfunction


En respuesta a Matias Bajac Berhau

Re: primer parcial 2017 probelma 3 a)

de Eduardo Fernandez -

Hola Matias,

Hay varias cosas mal en ese código.

1) Hay que usar while en lugar de for, porque al ser v un vector de positivos, si la suma va dando mayor a smin ya puedes parar. Eso es muy importante, chequear si da for o while.

2) En m se pide q devuelva los números 0 o 1, no '0' o '1' que son caracteres como 'a', 'z' o '<'.

3) No es necesario usar disp. Lo q importa es que en m esté el valor correcto.

4) No es necesario poner 0 o 1 en todas las iteraciones. Eso se pone luego del while o for, donde se pregunta si la suma es mayor a smin.

Fijate en la solución, y ejecutá el codigo.

Saludos,

Eduardo



En respuesta a Eduardo Fernandez

Re: primer parcial 2017 probelma 3 a)

de Eugenia Patiño Vico -
Buenas, yo quería saber si esta razonamiento esta correcto:
function res=Todas(v,elem)
suma=0;
n=length(v);
while i<=n && suma suma=suma+v(i);
i=i+1;
endwhile
res= suma>Smin
endfunction

Muchas gracias.