Matlab - Ejercicio programacion

 
Vista:
sin imagen de perfil

Ejercicio programacion

Publicado por Gonzalo (17 intervenciones) el 23/02/2018 14:00:21
Dados dos números enteros positivos, realizar un archivo de función, que calcule su cociente y su resto, sin utilizar el operador división (/). Solo se pueden realizar sumas y restas.
Sean dos números m y n. El método para obtener el resto y el cociente, es por restas sucesivas. Consiste en restar el divisor del dividendo hasta obtener un resultado menor que el divisor, que sera el resto de la división; el numero de restas efectuadas es el cociente.
Ejemplo:

Dividendo=50
Divisor=13

50-13=37 c=1
37-13=24 c=2
24-13=11 c=3

Resultando Resto=11, y Cociente=3. Como 11 es menor que el divisor 13, se terminan las restas.
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

Ejercicio programacion

Publicado por Gonzalo (2 intervenciones) el 23/02/2018 14:20:05
Vale, solo puse el ejercicio.. No me di cuenta, es un ejercicio que me dieron y al resolverlo tengo un problema, ya que intento armarlo con una estructura repetitiva usando while, pero en la condición (while resto>=divisor) no se como cargar anteriormente el resto, ya que no esta definido. Y no podría funcionar asi
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
sin imagen de perfil

Ejercicio programacion

Publicado por Gonzalo (2 intervenciones) el 23/02/2018 15:33:33
Bien, eso hice pero no logro que funcione. Queda en un bucle infinito la funcion. Aca la dejo...

1
2
3
4
5
6
7
8
9
10
11
12
13
function [cociente,resto]=Ejercicio13(divisor, dividendo)
 
resto=dividendo-divisor;
cociente=1;
 
while resto>=divisor
 
    resto=dividendo-divisor;
    cociente=cociente+1;
 
end
 
end
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ejercicio programacion

Publicado por JOSE JEREMIAS CABALLERO (5918 intervenciones) el 23/02/2018 15:42:33
Debe actualizar su dividendo dentro del bucle while. en el ejemplo analítico que pone su dividendo se a va actualizando, 50, 37, 24.

dividendo-divisor=resto1
resto1-divisor=resto2
resto2-divisor=resto3
...


dividendo-divisor=resto
resto-divisor=resto
resto-divisor=resto
...


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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

Ejercicio programacion

Publicado por Gonzalo (17 intervenciones) el 23/02/2018 16:56:20
Bien, pero en mí programa dentro del bucle yo puse que se haga la resta en cada iteración.. no estaría entendiendo que es lo que falta
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ejercicio programacion

Publicado por JOSE JEREMIAS CABALLERO (5918 intervenciones) el 23/02/2018 17:12:57
Tu dividendo dentro del bucle debe actualizarse cada vez haga una alternación. En el ejemplo analítico que pones, allí tu en linea que pones actualizas tu dividendo, ese parte falta en tu codigo.

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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

Ejercicio programacion

Publicado por Gonzalo (17 intervenciones) el 23/02/2018 19:36:49
Perfecto! Programa en funcionamiento! Muchas gracias !
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ejercicio programacion

Publicado por JOSE JEREMIAS CABALLERO (5918 intervenciones) el 23/02/2018 23:09:51
1
2
3
4
5
6
7
8
9
10
11
12
13
function [Cociente,Resto]=division_resta(Dividendo,Divisor)
if nargin==0
    Dividendo=50;
    Divisor=13;
end
Resto=Dividendo-Divisor;
Cociente=1;
 
if Resto>=Divisor
    Dividendo=Resto;
    [Cociente,Resto]=division_resta(Dividendo,Divisor);
    Cociente=Cociente+1;
end

1
2
3
4
5
6
7
8
9
10
>> [Cociente,Resto]=division_resta
 
Cociente =
 
     3
 
 
Resto =
 
    11


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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