07.02.2015 Views

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 ...

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.

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

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

Saved successfully!

Ooh no, something went wrong!