programação basica
João e Maria estão jogando uma moeda.
Toda vez que sai Coroa, João paga à Maria um centavo; se sai Cara, Maria paga ao João também um centavo. O jogo só acaba quando um dos jogadores perde todo o seu dinheiro.
João começa jogando com 4 centavos e Maria com 5 centavos.
Simule o jogo e faça uma estimativa do valor significativo do jogo.
Configurando a Moeda
Cara: 1 Coroa: -1
> ZeroOne := rand(0..1);
> die := proc( ) 2*ZeroOne( ) - 1 end;
> die( );
No começo do jogo :
> João := 4; Maria := 5;
Uma vitória:
> p := die( );
> João := João + p;
> Maria := Maria - p;
>
Interação
Nós repetimos os passos anteriores até o jogo acabar
Começo:
> João := 4: Maria := 5:
> counter := 0:
>
O loop:
> while (João 0 and Maria 0) do
> p := die( ):
> João := João + p;
> Maria := Maria - p;
> counter := counter + 1;
> od;
>
O jogo como um Procedimento:
> game :=
> proc(João, Maria)
> local j, s, p, counter;
> counter := 0:
> j := João;
> s := Maria;
> while (j 0 and s 0) do
> p := die( ):
> j := j + p;
> s := s - p;
> counter := counter + 1;
> od;
> end:
>
Jogos
Um Jogo:
> game(4, 5);
>
Uma Série de Jogos:
> games :=
> [ seq( game(4, 5), i=1..15 ) ];
>
Análise da Série:
Uma Figura
> with( plots ):
> listplot( games );
>
Valor Significativo
> add( i, i=games );
> " / nops( games );
> evalf(");
>
Procedimentos
Definição:
A forma mais simples de se construir um procedimento do Maple procedure é reunir comandos com
proc(sequência_parâmetro) sentenças end
onde sequência_parâmetro é na maioria dos casos uma sequência de zeros ou mais nomes do Maple.
Dois exemplos:
> sgn := proc(n) (-1)^n end;
> hello := proc( )
> print(`hello everybody`)
> end;
> hello( );
>
Variáveis Locais e Globais:
> restart;
> poly1