Retiro o ponto decimal (. ) do 3.14 ..., que corre o risco de irritar-nos ao extrair as casas decimais. Bem, estando tudo em seu lugar, criamos um novo procedimento chamado sorteiepi e modificamos de leve o procedimento testar
aprenda MDC :a :b se (resto :a :b)=0 [saída :b][saída MDC :b resto :a :b] fim aprenda testar :tentativas # Ao abrir um fluxo indicado pelo número 1 para o arquivo millionpi.txt # (considere aqui estarmos usando o diretório corrente # senão deve-se usar uma lista e um caminho absoluto) abrafluxo 1 "millionpi.txt # Guardar na variável "linha" a primeira linha do arquivo millionpi.txt atr "linha pri leialinha 1 # On initialise la variável contar à 0 atr "contar 0 repita :tentativas [ se 1=MDC sorteiepi 8 sorteiepi 8 [atr "contar :contar+1] ] # Calcula a freqüência atr "f :contar/:tentativas # Encontrar o valor aproximado de pi mostre sentença [aproximação de pi:] raizq (6/:f) fechefluxo 1 fim aprenda sorteiepi :n atrlocal "número " repita :n [ # Se lê plus caracteres sobre a linha se 0=conte :linha [atr "linha pri leialinha 1] # Atribui à variável "caractere" o valor do primeiro caractere da linha atr "caractere pri :linha # Retira este primeiro caractere da linha. atr "linha semprimeiro :linha atr "número pal :número :caractere ] saída :número fim testar 10 aproximação de pi: 2.7386127875258306 testar 100 aproximação de pi: 2.9704426289300225 testar 1000 aproximação de pi: 3.0959109381151797 testar 10000 aproximação de pi: 3.139081837741219Reencontra-se por conseguinte uma aproximação do número