www.mathematica.com.br
Complexidade
Introdução
O Mathematica permite acompanhar o progresso de um cálculo com uma barra de progresso.
Veja um exemplo:
i
Desenvolvimento
As duas funções intrínsecas principais são:
Ÿ Monitor[]
A função Monitor[ ] acompanha o progresso de uma variável. E usa dois argumentos.
O primeiro argumento é a expressão que deseja-se monitorar.
O segundo argumento é a variável contida na expressão que será monitorada.
No exemplo seguinte vemos que a função intrínseca Monitor[ ] retorna o valor da variável i que
está na expressão i² .
Animate@
Monitor@i ^ 2, iD,
8i, 0, 10, 1<,
AnimationRunning ® False
D
i
36
Ÿ ProgressIndicator[]
Já a funcão ProgressI ndicator[ ] exibe uma barra de
uma variável. E usaremos dois argumentos.
progresso que move-se de acordo com
O primeiro argumento recebe a posição em que a barra de progresso está de acordo com o
intervalo definido no segundo argumento.
PrintedbyMathematica
forStudents
Caso o segundo argumento não seja definido o intervalo padrão é de 0 até 1.
2
AcompanhandoUmCalculoComUmaBarraDeProgresso.nb
Já a funcão ProgressI ndicator[ ] exibe
uma barra de
uma variável. E usaremos dois argumentos.
progresso que move-se de acordo com
O primeiro argumento recebe a posição em que a barra de progresso está de acordo com o
intervalo definido no segundo argumento.
Caso o segundo argumento não seja definido o intervalo padrão é de 0 até 1.
No exemplo abaixo a barra de progresso começa em 1 e vai até 10 movendo-se de acordo com o
valor do primeiro argumento.
ProgressIndicator @1, 81, 10<D
ProgressIndicator @3, 81, 10<D
ProgressIndicator @6, 81, 10<D
ProgressIndicator @10, 81, 10<D
Conclusão
Usando as duas funções intrísecas podemos construir alguns exemplos de uma barra de progresso acompanhando um cálculo.
Para executar os exemplos clique no có digo e pressione:
Shift + Enter
Ÿ Primeiro Exemplo
O primeiro exemplo acompanha a atividade de laço While[]
dois décimos de segundo.
i = 0;
Monitor@
While@
i < 10,
[email protected];
i ++
D,
ProgressIndicator @i, 81, 10<D
D
Ÿ Segundo Exemplo
Este exemplo soma os números primos até o milionésimo.
i = 1;
total = 0;
Monitor@
While@
i < 1 000 000,
total = total + Prime@iD;
i ++
D,
ProgressIndicator @i, 81, 1 000 000<D
D
PrintedbyMathematica
forStudents
que incrementa sua variável a cada
AcompanhandoUmCalculoComUmaBarraDeProgresso.nb
Ÿ Terceiro Exemplo
Caso uma barra de progresso seja desejada e não haja uma variável específica para monitar
pode-se omitir o argumento com o intervalo que a função intrínseca usaria e adicionar o argumento I ndeterminate.
ProgressIndicator @
Dynamic@Clock@InfinityDD,
Indeterminate
D
PrintedbyMathematica
forStudents
3
Download

PDF