a) Defina uma função para obter o máximo entre dois números
a) Defina uma função para obter o máximo entre dois números
a) Defina uma função para obter o máximo entre dois números
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
) <strong>Defina</strong> <strong>uma</strong> <strong>função</strong> <strong>para</strong> <strong>obter</strong> o valor absoluto de um número.<br />
A solução mais imediata talvez seja esta:<br />
Outra<br />
public static int abs ( int a ) {<br />
if ( a > 0 )<br />
return a;<br />
else<br />
return -a;<br />
}<br />
public static int abs ( int a ) {<br />
if ( a < 0 )<br />
a = -a;<br />
return a;<br />
}<br />
c) <strong>Defina</strong> <strong>uma</strong> <strong>função</strong> que permita verificar se um número é múltiplo de um outro<br />
número<br />
A solução normal seria<br />
public static boolean eMultiplo ( int a, int b ) {<br />
if ( a % b == 0 )<br />
return true;<br />
else<br />
return false;<br />
}<br />
ou, mais simplesmente,<br />
public static boolean eMultiplo ( int a, int b ) {<br />
return a %b == 0;<br />
}<br />
Mas, <strong>para</strong> complicar, vamos admitir que não é permitido usar o operador %. Podemos <strong>obter</strong> o<br />
mesmo efeito por subtracções sucessivas: se subtrairmos b da enquanto pudermos acabaremos<br />
por encontrar o resto da divisão de b por a.<br />
Por exemplo, vamos supor que queremos saber o resto da divisão de 11 por 3.<br />
Fazemos<br />
11 – 3 dá 8<br />
8 – 3 dá 5<br />
5 – 3 dá 2<br />
sobra 2 (porque já não conseguimos subtrair mais); é este o resto.<br />
Estas contas traduzem-se no seguinte esqueleto:<br />
public static void resto ( int a, int b ) {<br />
}<br />
while ( a >= b ) {<br />
}<br />
...<br />
a = a - b;