Subversion Repositories wimsdev

Rev

Rev 6057 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
539 bpr 1
!goto $wims_read_parm
2
 
3
:def
4
title=Convertir en fraction
5
synonyme=fraction
6
input=function
7
!exit
8
 
9
:proc
10
 
11
formula=!rawmath $formula
12
t=!varlist nofn $formula
13
!for v in $t
14
 s=!charcnt $v
15
 !if $s=1 and $v!=e
16
  error=bad_formula
17
  !exit
18
 !endif
19
!next v
20
 
21
pari_precision=50
22
result=!exec pari d=contfracpnqn(contfrac($formula)); print(d[1,1])\
23
	print(d[2,1])\
24
	print(d[1,2])\
25
	print(d[2,2])\
6565 bpr 26
	print(abs(d[1,1]/d[1,2]-($formula)))\
539 bpr 27
	print(d[2,1]/d[2,2])
28
 
29
!distribute lines $result into n1,d1,n2,d2,diff,ratio
30
 
31
!exit
32
 
33
:output
34
 
35
!if $result!=$empty
6055 bpr 36
 <table class="wimscenter wimsnoborder">
539 bpr 37
 !if $diff>0 and $ratio>10
6057 bpr 38
  <tr><td rowspan="3">
539 bpr 39
  !htmlmath $formula
40
  &nbsp;=&nbsp;&nbsp;
6057 bpr 41
  </td><td>$n1</td>
42
  <td rowspan="3">&nbsp;&nbsp;$m_approx&nbsp;&nbsp;
6565 bpr 43
  </td><td>$n2</td><td rowspan="3">&nbsp;.
44
  </td>/tr><tr><td><hr/></td><td><hr/></td></tr>
6055 bpr 45
  <tr><td>$d1</td><td>$d2</td>
539 bpr 46
 !else
6057 bpr 47
  <tr><td rowspan="3">
539 bpr 48
  !htmlmath $formula
49
  &nbsp;=&nbsp;&nbsp;
6055 bpr 50
  <td>$n1</td>
51
  <td rowspan="3">&nbsp;.
6565 bpr 52
  </td></tr><tr><td><hr /></td>
53
  </tr><tr><td>$d1</td>
539 bpr 54
 !endif
6565 bpr 55
 </tr>
539 bpr 56
 </table>
57
!endif
58
 
59
!exit
60