Subversion Repositories wimsdev

Rev

Rev 20 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 20 Rev 16321
Line 1... Line 1...
1
!set methtit2=Multiplier une inégalité par une expression à signe constant
1
!set methtit2=Multiplicar una desigualdad por una expresión de signo constante
2
!set methtit=Multiplier une inégalité par une expression
2
!set methtit=Multiplicar una desigualdad por una expresión
3
!set methenv=ZZ QQ RR
3
!set methenv=ZZ QQ RR
4
!set methparmtype=function,parm inequality >,choice,parm inequality >
4
!set methparmtype=function,parm inequality >,choice,parm inequality >
5
!set methparmrelax=4
5
!set methparmrelax=4
6
!set methhelp=Cette méthode transforme une inégalité du style \(A > B) en\
6
!set methhelp=Este método transforma una desigualdad como \(A > B) en\
7
 une inégalité \(A*f > B*f) (ou \(A*f < B*f)),\
7
   una desigualdad \(A*f > B*f) (o \(A*f < B*f)),\
8
  \(f) est une expression algébrique\
8
   donde \(f) es una expresión algebraica\
9
 de signe constant. La méthode permet à \(f) de s'annuler. De ce fait, il\
9
   de signo constante. El método permite que \(f) se cancele. De ahí que\
10
 n'y a pas forcément équivalence entre l'inégalité de départ et celle\
10
   no necesariamente haya equivalencia entre la desigualdad inicial y la\
11
 transformée&nbsp;; elle s'applique donc uniquement sur les hypothèses.
11
   transformada; por lo tanto, sólo se aplica a las hipótesis.
12
 
12
 
13
!if $wims_read_parm iswordof form check
13
!if $wims_read_parm iswordof form check
14
 !goto $wims_read_parm
14
  !goto $wims_read_parm
15
!endif
15
!endif
16
 
16
 
17
!exit
17
!exit
18
:form
18
:form
19
 Multiplier l'inégalité
19
Multiplicar la desigualdad
20
 !read deduc/methparm.phtml 2
20
!read deduc/methparm.phtml 2
21
 par l'expression
21
$ por la expresión
22
 !read deduc/methparm.phtml 1,10
22
!read deduc/methparm.phtml 1,10
23
 qui est
23
que es
24
 !formselect methparm3 list 0,-1,1 prompt \
24
!formselect methparm3 list 0,-1,1 prompt \
25
	$ch_choose, négative ou nulle, positive ou nulle
25
	$ch_choose, negativa o cero, positiva o cero
26
 parce que
26
parce que
27
 !set ch_optional=c'est un nombre
27
!set ch_optional=es un número
28
 !read deduc/methparm.phtml 4
28
!read deduc/methparm.phtml 4
29
!exit
29
!exit
30
:check
30
:check
31
 !bound methparm3 within -1,0,1 default 0
31
!bound methparm3 within -1,0,1 default 0
32
 !if $methparm3=0
32
!if $methparm3=0
33
  error=empty_data
33
  error=empty_data
34
  !exit
34
  !exit
35
 !endif
35
!endif
36
 !distribute items $methparmobj2 into data,left,sign,right
36
!distribute items $methparmobj2 into data,left,sign,right
37
 !read deduc/sub/checkineq ($methparm1),=,0
37
!read deduc/sub/checkineq ($methparm1),=,0
38
 ztest=$out
38
ztest=$out
39
 !if $ztest=true
39
!if $ztest=true
40
  zr=zero
40
  zr=zero
41
  sign2=>=
41
  sign2=>=
42
  !goto OK
42
  !goto OK
43
 !endif
43
!endif
44
 !if $ztest=bad
44
!if $ztest=bad
45
  !if $methparm4<1
45
  !if $methparm4<1
46
   :bad
46
    :bad
47
   sens=!item ($methparm3+3)/2 of négatif, positif
47
    sens=!item ($methparm3+3)/2 of négatif, positif
48
   error=Je ne vois pas pourquoi \($methparm1) est $sens.
48
    error=No veo por qué \($methparm1) es $sens.
49
   !exit
49
    !exit
50
  !endif
50
  !endif
51
  !distribute items $methparmobj4 into data,left2,sign2,right2
51
  !distribute items $methparmobj4 into data,left2,sign2,right2
52
  gt=>
52
  gt=>
53
  lt=<
53
  lt=<
54
  eq=$(empty)=
54
  eq=$(empty)=
55
  !if ($methparm3>0 and $lt isin $sign2) or \
55
  !if ($methparm3>0 and $lt isin $sign2) or \
56
	($methparm3<0 and $gt isin $sign2)
56
	  ($methparm3<0 and $gt isin $sign2)
57
   !exchange left2,right2
57
    !exchange left2,right2
58
  !endif
58
  !endif
59
  sens=!item ($methparm3+3)/2 of <,>
59
  sens=!item ($methparm3+3)/2 of <,>
60
  !read deduc/sub/checkineq ($methparm1) - ($left2) + ($right2),$sens=,0\
60
  !read deduc/sub/checkineq ($methparm1) - ($left2) + ($right2),$sens=,0\
61
	($methparm1) - ($left2) + ($right2),=,0
61
	($methparm1) - ($left2) + ($right2),=,0
62
  !distribute line $out into sn,zr
62
  !distribute line $out into sn,zr
63
  !if $sn!=true
63
  !if $sn!=true
64
   !goto bad
64
    !goto bad
65
  !endif
65
  !endif
66
 !else
66
!else
67
  !if ($methparm1)*$methparm3<0
67
  !if ($methparm1)*$methparm3<0
68
   error=Erreur de signe !
68
    error=¡Error de signo!
69
   !exit
69
    !exit
70
  !endif
70
  !endif
71
 !endif
71
!endif
72
 :OK
72
:OK
73
 methexp=Multiplier \($left $sign $right) par \($methparm1)
73
methexp=Multiplicar \($left $sign $right) por \($methparm1)
74
 
74
 
75
 !read deduc/sub/simplify ($left) * ($methparm1)\
75
!read deduc/sub/simplify ($left) * ($methparm1)\
76
	($right) * ($methparm1)
76
	($right) * ($methparm1)
77
 !distribute lines $out into newleft,newright
77
!distribute lines $out into newleft,newright
78
 !if $newleft=$empty or $newright=$empty
78
!if $newleft=$empty or $newright=$empty
79
  error=bad_data
79
  error=bad_data
80
  !exit
80
  !exit
81
 !endif
81
!endif
82
 !if $methparm3<0
82
!if $methparm3<0
83
  newsign=!translate internal <> to >< in $sign
83
  newsign=!translate internal <> to >< in $sign
84
 !else
84
!else
85
  newsign=$sign
85
  newsign=$sign
86
 !endif
86
!endif
87
 newobject2=$newleft $newsign $newright
87
newobject2=$newleft $newsign $newright
88
 !if $eq notin $sign and $zr=true and $eq isin $sign2
88
!if $eq notin $sign and $zr=true and $eq isin $sign2
89
  newsign=$newsign=
89
  newsign=$newsign=
90
  newobject0=$newobject2
90
  newobject0=$newobject2
91
  oldobject=0
91
  oldobject=0
92
 !else
92
!else
93
  oldobject=2
93
  oldobject=2
94
 !endif
94
!endif
95
 
95
 
96
 badsign=!translate internal <> to >< in $newsign
96
badsign=!translate internal <> to >< in $newsign
97
 resultlist=$newobject2,\
97
resultlist=$newobject2,\
98
	$newright $newsign $newleft,\
98
	$newright $newsign $newleft,\
99
	$newleft $badsign $newright
99
	$newleft $badsign $newright
100
!exit
100
!exit
101
 
-