16.04.2013 Views

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Para <strong>obter</strong> o resultado arranja-se <strong>uma</strong> variável que conte o número de vezes que se passa no<br />

ponto assinalado. Seja <strong>uma</strong> variável com nome c. Então, c começa em 0 e cada vez que se<br />

passar no ponto assinalado faz-se c = c +1 (fazendo, portanto, c passar <strong>para</strong> o valor<br />

seguinte).<br />

Juntando c ao programa anterior temos então:<br />

public static int quociente( int a, int b ) {<br />

}<br />

int c = 0;<br />

while ( a >= b ) {<br />

c = c + 1;<br />

a = a - b;<br />

}<br />

return c;<br />

e) <strong>Defina</strong> <strong>uma</strong> <strong>função</strong> que recebe como argumento um número natural n (diferente de<br />

zero) e devolve a potência 2^n.<br />

Para <strong>obter</strong> 2^n temos que repetir n vezes a operação<br />

r = r * 2; (começando com r = 1).<br />

Vamos só rever como é que se faz <strong>para</strong> repetir <strong>uma</strong> coisa N vezes.<br />

O esqueleto é:<br />

public static void pot2 ( int n ) {<br />

}<br />

int i=0;<br />

while ( i < n) {<br />

}<br />

// o que estiver aqui é repetido n vezes...<br />

i = i + 1;<br />

Ou seja, arranjamos <strong>uma</strong> variável que percorra n valores diferentes.<br />

Neste caso a variável é o i que percorre valores de 0 a n-1 (são portanto n valores diferentes).<br />

Dado este esqueleto, o que estiver o ponto assinalado pelo comentário será repetido N vezes<br />

(sendo que em cada repetição o valor de i vai variando).<br />

Neste caso o que pretendemos repetir N vezes é a tal instrução r=r*2. Fica então:<br />

public static int pot2( int n ) {<br />

}<br />

int i=0, r = 0;<br />

while ( i < n) {<br />

r = r * 2;<br />

i = i + 1;<br />

}<br />

return r;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!