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.

25<br />

O algoritmo <strong>de</strong> Eucli<strong>de</strong>s 3 é um bom exemplo <strong>de</strong> algoritmo. Segundo Knuth (1968),<br />

nos anos 1950, a palavra algoritmo era praticamente sinônimo <strong>de</strong> “algoritmo <strong>de</strong> Eucli<strong>de</strong>s”.<br />

Po<strong>de</strong>mos <strong>de</strong>screver o algoritmo <strong>de</strong> Eucli<strong>de</strong>s da seguinte forma:<br />

Dado dois números inteiros positivos a e b, e consi<strong>de</strong>rando que a ≥ b, se o resto da<br />

divisão <strong>de</strong> a por b for igual a zero, o MDC é o divisor (b). Caso contrário, realize uma nova<br />

divisão entre o divisor (b, que passa a ser o divi<strong>de</strong>ndo) e o resto (que passa a ser o divisor). Se<br />

o resto <strong>de</strong>ssa nova divisão for igual a zero, o MDC é igual a esse novo divisor. Caso contrário,<br />

realize uma nova divisão entre o novo divi<strong>de</strong>ndo e o novo divisor, se o resto for igual a zero, o<br />

MDC é igual a esse novo divisor e assim sucessivamente. Este processo está exemplificado<br />

abaixo:<br />

Exemplo 1: MDC ( 90, 36)<br />

Passo 1: 90 div 36 quociente = 2; resto = 18<br />

Passo 2: 36 div 18 quociente = 2; resto = 0 MDC = 18<br />

Exemplo 2: MDC (81, 64)<br />

forma:<br />

Passo 1: 81 div 64 quociente = 1; resto = 17<br />

Passo 2: 64 div 17 quociente = 3; resto = 13<br />

Passo 3: 17 div 13 quociente = 1; resto = 4<br />

Passo 4: 13 div 4 quociente = 3; resto = 1<br />

Passo 5: 4 div 1 quociente = 4; resto = 0 MDC = 1<br />

Para Knuth (1968, p.2), este procedimento <strong>de</strong> cálculo po<strong>de</strong> ser sumarizado da seguinte<br />

“Dados dois números inteiros positivos a e b, encontre o máximo divisor comum (ou seja, o<br />

maior inteiro positivo que divi<strong>de</strong> a e b).<br />

passo 1: [Cálculo do resto] Divida a por b. Seja r o resto;<br />

passo 2: [Verifique se o resto é nulo] Se r = 0, o algoritmo termina e o valor do MDC é b;<br />

passo 3: [Troca] Faça a = b, b = resto e volte para o passo 1. ”<br />

O trecho <strong>de</strong> algoritmo a seguir implementa o cálculo do MDC <strong>de</strong> Eucli<strong>de</strong>s em<br />

pseudocódigo, utilizando o processo iterativo.<br />

Exemplo 1 - Algoritmo <strong>de</strong> Eucli<strong>de</strong>s utilizando o Processo Iterativo<br />

Função mdcDeEucli<strong>de</strong>s (divi<strong>de</strong>ndo: inteiro, divisor: inteiro): inteiro<br />

3 O algoritmo <strong>de</strong> Eucli<strong>de</strong>s busca encontrar o MDC (Máximo Divisor Comum) entre dois números inteiros<br />

diferentes <strong>de</strong> zero. É um dos algoritmos mais antigos conhecidos, <strong>de</strong>s<strong>de</strong> que apareceu na obra Elementos <strong>de</strong><br />

Eucli<strong>de</strong>s por volta <strong>de</strong> 300 a.C. (MILIES, 2003).

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

Saved successfully!

Ooh no, something went wrong!