Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmo de Euclides
a := ValorABS(a);
b := ValorABS(b);
enquanto (b <> 0)
{
c = Resto(a,b);
a = b;
b = c;
}
escreva ("O MDC entre a e b e ", a);
}
Interpretador Hall 1
No exemplo abaixo um algoritmo para se calcular o MDC (Máximo Divisor
Comum) entre dois números inteiros e positivos é implementado através de
uma função de usuário. (uma função criada por você mesmo)
x := ValorABS(x);
y := ValorABS(y);
enquanto (y <> 0)
{
r = Resto(x,y);
x = y;
y = r;
}
retorne x;
}
Interpretador Hall 2
No exemplo abaixo um algoritmo para se calcular o MDC (Máximo Divisor
Comum) entre dois números inteiros e positivos é implementado através de
uma função de usuário recursiva.
x := ValorABS(x);
y := ValorABS(y);
c := CalcMDC(a,b);
Interpretador Hall 3
No exemplo abaixo o algoritmo para se calcular o MDC (Máximo Divisor
Comum) entre dois números inteiros e positivos é implementado através da
função interna do interpretador. O interpretador Hall disponibiliza uma
função de nome MDC que espera receber dois argumentos do tipo inteiro e
positivos.
x := ValorABS(x);
y := ValorABS(y);
c := MDC(a,b);
Interpretador Hall 4
No exemplo abaixo o algoritmo para se calcular o MDC (Máximo Divisor
Comum) entre vários números inteiros e positivos é implementado através da
função interna do interpretador. O interpretador Hall disponibiliza uma
função de nome MDC que espera receber dois argumentos do tipo inteiro e
positivos.
a := ValorABS(a);
b := ValorABS(b);
c := ValorABS(c);
d := ValorABS(d);
e := MDC(a,b);
e := MDC(e,c);
e := MDC(e,d);
Interpretador Hall 5
No exemplo abaixo o algoritmo para se calcular o MDC (Máximo Divisor
Comum) entre vários números inteiros e positivos é implementado através da
função interna do interpretador. O interpretador Hall disponibiliza uma
função de nome MDC que também pode receber uma lista de valores, inteiros
e positivos, separados por vírgulas.
a := ValorABS(a);
b := ValorABS(b);
c := ValorABS(c);
d := ValorABS(d);
Comentário:
Finalmente, a última instrução, MDC (a, MDC (b,k1)) é executada sendo que
a expressão MDC(b,k1) agora tem um valor conhecido, digamos k2. Assim a
expressão a ser avaliada é MDC(a,k2).
Interpretador Hall 6
No exemplo abaixo (último) demonstra-se uma outra forma de se chamar a
função interna MDC para se calcular o máximo divisor comum de uma série de
números (inteiros e positivos). (talvez a forma mais simples)
O interpretador Hall disponibiliza uma função de nome MDC que também pode
receber uma lista de valores, inteiros e positivos, separados por vírgulas.
a := ValorABS(a);
b := ValorABS(b);
c := ValorABS(c);
d := ValorABS(d);
e := MDC (a,b,c,d);
AlgoritmoDeEuclides(inteiro a, inteiro b)
dividendo ← a
divisor ← b
enquanto resto(dividendo/divisor) ≠ 0
c ← resto(dividendo/divisor)
dividendo ← divisor
divisor ← c
retornar divisor
Interpretador Hall 7