No texto anterior referi-me aos "erros de arredondamento" no algoritmo (original, sem modificações) das fracções contínuas.
Chamar-lhes "erros de arredondamento" não está totalmente correcto.
A aritmética das calculadoras não é a dos nossos conhecidos números reais.
Nem sequer racionais!
Entramos no conjunto dos "números de ponto flutuante" ou "números de vírgula flutuante"
se o separador decimal for uma vírgula em vez de um número.
Portanto aqueles "erros" devem-se também a outros factores, para além de arredondamentos.
Serão esses erros assim tão significativos, como escrevi na altura?
Hoje decidi implementar o algoritmo para calcular os primeiros 59 $(a_n)$ no meu emulador de
Zx Spectrum, comparar com os resultados obtidos com o Wolfram Mathematica de um dos meus
Raspberry Pi 4b, com uma calculadora Casio, uma Texas Instruments, o Libre Office Calc,
e uma calculadora Numworks.
As imagens são da implementação em Zx Spectrum 48k. O valor de $a_9$ já está mal!
Vamos lá ver se consigo copiar os resultados das outras máquinas para aqui.
n | Correcto | LibreOffice calc | Wolfram Mathematica | Ti84PlusCE | Casio 9860GII | Numworks | Zx Spectrum 48k |
0 | 33 | 33 | 33 | 33 | 33 | 33 | 33 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
5 | 12 | 12 | 12 | 12 | 12 | 12 | 12 |
6 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
7 | 21 | 21 | 21 | 21 | 21 | 21 | 21 |
8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
9 | 1 | 1 | 1 | 1 | 1 | 1 | 3 |
10 | 2 | 2 | 2 | 2 | 2 | 2 | 4 |
11 | 5 | 5 | 5 | 5 | 5 | 5 | 4 |
12 | 4 | 4 | 4 | 4 | 4 | 4 | 1 |
13 | 3 | 3 | 3 | 3 | 3 | 3 | 1 |
14 | 7 | 7 | 7 | 4 | 9 | 7 | 4 |
15 | 5 | 59 | 5 | 2 | 7 | 58 | 1 |
16 | 16 | 6 | 16 | 6 | 1 | 1 | 1 |
17 | 1 | 1 | 1 | 2 | 1 | 2 | 7 |
18 | 2 | 5 | 2 | 1 | 1 | 25 | 2 |
19 | 3 | 7 | 3 | 2 | 1 | 16 | 2 |
20 | 1 | 1 | 1 | 3 | 4 | 1 | 1 |
21 | 1 | 22 | 1 | 1 | 1 | 3 | 1 |
22 | 1 | 1 | 1 | 3 | 4 | 19 | 1 |
23 | 2 | 1 | 2 | 2 | 2 | 3 | 52 |
24 | 1 | 1 | 1 | 1 | 4 | 2 | 6 |
25 | 2 | 1 | 2 | 27 | 1 | 1 | 104 |
26 | 1 | 2 | 1 | 1 | 6 | 1 | 13 |
27 | 4 | 1 | 4 | 18 | 1 | 2 | 5 |
28 | 1 | 4 | 1 | 1 | 1 | 3 | 1 |
29 | 8 | 1 | 8 | 9 | 1 | 6 | 3 |
30 | 1 | 4 | 1 | 3 | 2 | 1 | 1 |
31 | 4 | 3 | 4 | 1 | 1 | 2 | 1 |
32 | 1 | 5 | 1 | 1 | 8 | 1 | 9 |
33 | 2 | 1 | 2 | 2 | 10 | 4 | 3 |
34 | 1 | 23 | 1 | 26 | 6 | 1 | 5 |
35 | 2 | 1 | 2 | 1 | 1 | - | 1 |
36 | 1 | 3 | 1 | 11 | 2 | - | 12 |
37 | 1 | 19 | 1 | 1 | 2 | - | 1 |
38 | 1 | 5 | 1 | 19 | 1 | - | 1 |
39 | 3 | 1 | 3 | 131 | 1 | - | 8 |
40 | 2 | 6 | 2 | 1 | 4 | - | 30 |
41 | 1 | 1 | 1 | 80 | 1 | - | 1 |
42 | 16 | 3 | 16 | 2 | 2 | - | 1 |
43 | 5 | 3 | 5 | 1 | 1 | - | 4 |
44 | 7 | 2 | 7 | 3 | 7 | - | 1 |
45 | 3 | 1 | 3 | 1 | 2 | - | 1 |
46 | 4 | 5 | 4 | 2 | 2 | - | 1 |
47 | 5 | 3 | 5 | 1 | 4092 | - | 1 |
48 | 2 | 9 | 2 | 2 | 3 | - | 2 |
49 | 1 | 1 | 1 | 1 | 1 | - | 6 |
50 | 1 | 2 | 1 | 5 | 18 | - | 2 |
51 | 21 | 2 | 21 | 5 | 1 | - | 57 |
52 | 1 | 1 | 1 | 1 | 1 | - | 2 |
53 | 12 | 7 | 12 | 1 | 1 | - | 26 |
54 | 1 | 4 | 1 | 1 | 1 | - | 1 |
55 | 1 | 1 | 1 | 2 | 5 | - | 2 |
56 | 3 | 1 | 3 | 1 | 1 | - | 1 |
57 | 1 | 3 | 1 | 8 | 3 | - | 31 |
58 | 66 | 1 | 66 | 2 | 2 | - | 9 |
- LibreOffice Calc: correcto até $a_{14}$
- Wolfram Mathematica: todos correctos
- TI 84 Plus CE: correcto até $a_{13}$
- Casio fx-9860 GII SD: correcto até $a_{13}$
- Numworks: correcto até $a_{14}$, e erro de memória a partir de $a_{35}$
- ZX Spectrum: correcto até $a_{9}$
Apenas utilizei as funções internas de cada uma das máquinas/softwares.