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 |
1 | !set methtit2=Multiplicar una desigualdad por una expresión de signo constante |
2 | !set |
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 |
6 | !set methhelp=Este método transforma una desigualdad como \(A > B) en\ |
7 |
|
7 | una desigualdad \(A*f > B*f) (o \(A*f < B*f)),\ |
8 |
|
8 | donde \(f) es una expresión algebraica\ |
9 |
|
9 | de signo constante. El método permite que \(f) se cancele. De ahí que\ |
10 |
|
10 | no necesariamente haya equivalencia entre la desigualdad inicial y la\ |
11 |
|
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 |
|
19 | Multiplicar la desigualdad |
20 |
|
20 | !read deduc/methparm.phtml 2 |
21 |
|
21 | $ por la expresión |
22 |
|
22 | !read deduc/methparm.phtml 1,10 |
23 |
|
23 | que es |
24 |
|
24 | !formselect methparm3 list 0,-1,1 prompt \ |
25 | $ch_choose, |
25 | $ch_choose, negativa o cero, positiva o cero |
26 |
|
26 | parce que |
27 |
|
27 | !set ch_optional=es un número |
28 |
|
28 | !read deduc/methparm.phtml 4 |
29 | !exit |
29 | !exit |
30 | :check |
30 | :check |
31 |
|
31 | !bound methparm3 within -1,0,1 default 0 |
32 |
|
32 | !if $methparm3=0 |
33 | error=empty_data |
33 | error=empty_data |
34 | !exit |
34 | !exit |
35 |
|
35 | !endif |
36 |
|
36 | !distribute items $methparmobj2 into data,left,sign,right |
37 |
|
37 | !read deduc/sub/checkineq ($methparm1),=,0 |
38 |
|
38 | ztest=$out |
39 |
|
39 | !if $ztest=true |
40 | zr=zero |
40 | zr=zero |
41 | sign2=>= |
41 | sign2=>= |
42 | !goto OK |
42 | !goto OK |
43 |
|
43 | !endif |
44 |
|
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 |
|
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 |
|
66 | !else |
67 | !if ($methparm1)*$methparm3<0 |
67 | !if ($methparm1)*$methparm3<0 |
68 |
|
68 | error=¡Error de signo! |
69 | !exit |
69 | !exit |
70 | !endif |
70 | !endif |
71 |
|
71 | !endif |
72 |
|
72 | :OK |
73 |
|
73 | methexp=Multiplicar \($left $sign $right) por \($methparm1) |
74 | 74 | ||
75 |
|
75 | !read deduc/sub/simplify ($left) * ($methparm1)\ |
76 | ($right) * ($methparm1) |
76 | ($right) * ($methparm1) |
77 |
|
77 | !distribute lines $out into newleft,newright |
78 |
|
78 | !if $newleft=$empty or $newright=$empty |
79 | error=bad_data |
79 | error=bad_data |
80 | !exit |
80 | !exit |
81 |
|
81 | !endif |
82 |
|
82 | !if $methparm3<0 |
83 | newsign=!translate internal <> to >< in $sign |
83 | newsign=!translate internal <> to >< in $sign |
84 |
|
84 | !else |
85 | newsign=$sign |
85 | newsign=$sign |
86 |
|
86 | !endif |
87 |
|
87 | newobject2=$newleft $newsign $newright |
88 |
|
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 |
|
92 | !else |
93 | oldobject=2 |
93 | oldobject=2 |
94 |
|
94 | !endif |
95 | 95 | ||
96 |
|
96 | badsign=!translate internal <> to >< in $newsign |
97 |
|
97 | resultlist=$newobject2,\ |
98 | $newright $newsign $newleft,\ |
98 | $newright $newsign $newleft,\ |
99 | $newleft $badsign $newright |
99 | $newleft $badsign $newright |
100 | !exit |
100 | !exit |
101 | - |