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