Mariangela de Oliveira Gomes Setti - Programa de Pós-Graduação ...
Mariangela de Oliveira Gomes Setti - Programa de Pós-Graduação ...
Mariangela de Oliveira Gomes Setti - Programa de Pós-Graduação ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
54<br />
fim-funcao.<br />
A chamada <strong>de</strong> uma função ocorre no algoritmo principal. O exemplo abaixo po<strong>de</strong> ser<br />
utilizado tanto para chamar a função iterativa quanto a recursiva.<br />
// Algoritmo Principal, exemplo da chamada da função<br />
Inicio<br />
fim.<br />
inteiro a, b, mdc;<br />
escreva (“Entre com dois valores, para o cálculo do M.D.C.”);<br />
leia (a, b);<br />
mdc ← mdcDeEucli<strong>de</strong>s (a, b);<br />
escreva (“O m.d.c. é =”, mdc);<br />
O Quadro 2 apresenta a representação intermediária do Método <strong>de</strong> Eucli<strong>de</strong>s e a versão<br />
iterativa do algoritmo em pseudocódigo.<br />
1. inicio<br />
2. inteiro c;<br />
Algoritmo <strong>de</strong> Eucli<strong>de</strong>s Iterativo<br />
3. enquanto resto (divi<strong>de</strong>ndo, divisor) ≠ 0<br />
4. c ← resto (divi<strong>de</strong>ndo, divisor);<br />
5. divi<strong>de</strong>ndo ← divisor;<br />
6. divisor ← c;<br />
7. fim-enquanto<br />
8. retornar divisor<br />
9. fim-funcao.<br />
Representação Intermediária do Método<br />
<strong>de</strong> Eucli<strong>de</strong>s<br />
passo 1: [Cálculo do resto] Divida<br />
divi<strong>de</strong>ndo por divisor. Seja r o resto;<br />
passo 2: [Verifique se o resto é nulo]<br />
Se r = 0, o algoritmo termina e o valor<br />
do MDC é divisor;<br />
passo 3: [Troca] Faça a = b, b = resto e<br />
volte para o passo 1.<br />
Quadro 2 – Comparação entre as unida<strong>de</strong>s significantes no registro <strong>de</strong> partida e <strong>de</strong><br />
chegada, para a versão iterativa do algoritmo.<br />
A estrutura <strong>de</strong> repetição, linha 3, será executada enquanto a condição for verda<strong>de</strong>ira,<br />
ou seja enquanto o resto da divisão entre o divi<strong>de</strong>ndo e divisor for diferente <strong>de</strong> zero; quando<br />
o resto da divisão entre o divi<strong>de</strong>ndo e divisor for igual a zero, a repetição é encerrada, e o