Αναπαράσταση πραγματικού αριθμού σαν συνεχές κλάσμα: dfc

### 1.8.7 Αναπαράσταση πραγματικού αριθμού σαν συνεχές
κλάσμα: `dfc`

`dfc` λαμβάνει ως όρισματα έναν πραγματικό αριθμό ή έναν ρητό αριθμό ή έναν αριθμό κινητής υποδιαστολής `a` και έναν ακέραιο `n` (ή ένα πραγματικό `epsilon`).
`dfc` επιστρέφει την λίστα του συνεχούς κλάσματος που παριστάνει τον `a` τάξης `n` (ή με ακρίβεια `epsilon` δηλαδή η αναπαράσταση συνεχούς κλάσματος που προσεγγίζει `a` ή το `evalf(a)` με ακρίβεια `epsilon`. Από προεπιλογή `epsilon` είναι η τιμή του `epsilon` και ορίζεται στις Ρυθμίσεις `Cas` ή στην μπάρα ρυθμίσεων).
`convert` με την επιλογή `confrac` έχει παρόμοια λειτουργία: στην περίπτωση αυτή η τιμή του `epsilon` είναι το `epsilon` και ορίζεται στις Ρυθμίσεις `Cas` ή στην μπάρα ρυθμίσεων (βλ. 1.21.23) και η απάντηση μπορεί να αποθηκευθεί σε ένα προαιρετικό τρίτο όρισμα

Σχόλια

- Εάν το τελευταίο στοιχείο από το αποτέλεσμα είναι μια λίστα, η αναπαράσταση είναι εν τέλη περιοδική, και το τελευταίο στοιχείο είναι η περίοδος. Αυτό σημαίνει ότι ο πραγματικός αριθμός είναι ρίζα μιας εξίσωσης δευτέρου βαθμού με ακέραιους συντελεστές.
- Αν το τελευταίο στοιχείο του αποτελέσματος δεν είναι ακέραιος, τότε αναπαριστά ένα υπόλοιπο r (a=a0+1/....+1/an+1/r). Να γνωρίζετε ότι αυτό το υπόλοιπο έχει χάσει το μεγαλύτερο μέρος της ακρίβειάς του.

Αν `dfc(a)=[a0,a1,a2,[b0,b1]]` αυτό σημαίνει :

a=a0+ |
1
a1+ |
1
a2+ |
1
b0+ |
1
b1+ |
1
b0+...

Αν `dfc(a)=[a0,a1,a2,r]` αυτό σημαίνει :

a=a0+ |
1
a1+ |
1
a2+ |
1
r

Είσοδος :

`dfc(sqrt(2),5)`

Έξοδος :

`[1,2,[2]]`

Είσοδος :

`dfc(evalf(sqrt(2)),1e-9)`

ή :

`dfc(sqrt(2),1e-9)`

Έξοδος :

`[1,2,2,2,2,2,2,2,2,2,2,2,2]`

Είσοδος :

`convert(sqrt(2),confrac,``’``dev``’``)`

Έξοδος (αν στο `cas` έχουμε ρύθμιση `epsilon=1e-9`) :

`[1,2,2,2,2,2,2,2,2,2,2,2,2]`

και `[1,2,2,2,2,2,2,2,2,2,2,2,2]` αποθηκεύεται στο `dev`.
Είσοδος :

`dfc(9976/6961,5)`

Έξοδος :

`[1,2,3,4,5,43/7]`

Εισόδος για την επαλήθευση:
`1+1/(2+1/(3+1/(4+1/(5+7/43))))`
Έξοδος :
`9976/6961`
Είσοδος :

`convert(9976/6961,confrac,``’``l``’``)`

Έξοδος (αν στο `cas` έχουμε ρύθμιση `epsilon=1e-9`) :

`[1,2,3,4,5,6,7]`

και `[1,2,3,4,5,6,7]` αποθηκεύεται στο `l`
Είσοδος :

`dfc(pi,5)`

Έξοδος :

`[3,7,15,1,292,(-113*pi+355)/(33102*pi-103993)]`

Είσοδος :

`dfc(evalf(pi),5)`

Έξοδος (αν οι αριθμοί κινητής υποδιαστολής είναι αριθμοί κινητής υποδιαστολής υλικού, π.χ. για Digits=12) :

`[3,7,15,1,292,1.57581843574]`

Είσοδος :

`dfc(evalf(pi),1e-9)`

ή :

`dfc(pi,1e-9)`

ή (αν στο `cas` έχουμε ρύθμιση `epsilon=1e-9`) :

`convert(pi,confrac,``’``ll``’``)`

Έξοδος :

`[3,7,15,1,292]`