4 # Funció per a implementar el signe dels nombres: +n o -n segons si n és positiu o negatiu
5 # https://stackoverflow.com/a/63552871
7 def to_ss # to signed string
8 self.negative? ? self.to_s : "+#{self.to_s}"
15 \startsubject[title={Sistemes d'equacions lineals $2\times 2$}]
17 \startsubsubject[title={Preguntes}]
27 exercicis[1] = Array.new
33 parametres['x'] = rand(-10..10)
34 parametres['y'] = rand(-10..10)
36 # Els paràmetres del sistema
37 parametres['a'] = rand(-10..10)
38 parametres['c'] = parametres['a'] + rand(1..10)
40 ## M'assegur que ni 'a' ni 'c' són 0
41 if parametres['a'] == 0
45 if parametres['c'] == 0
49 # Calculam b i d en funció de tot l'anterior
50 parametres['b'] = parametres['y'] - parametres['a']*parametres['x']
51 parametres['d'] = parametres['y'] - parametres['c']*parametres['x']
53 exercicis[1].push(parametres)
57 \startexercici[reference=exercici-1, title={aïllats}] Resoleu els sistemes següents:
58 \startitemize[a,columns]
59 <% exercicis[1].each do |par| %>
60 \item \startformula \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
61 \NC y \NC = <%=par['a']%> x <%=par['b'].to_ss%> \NR
62 \NC y \NC = <%=par['c']%> x <%=par['d'].to_ss%> \NR
63 \stopmatrix \stopformula
70 exercicis[2] = Array.new
76 parametres['x'] = rand(-10..10)
77 parametres['y'] = rand(-10..10)
79 # Els paràmetres del sistema
82 parametres['a'] = rand(2..10)
84 parametres['b'] = delta[rand(0..1)]
85 parametres['d'] = rand(2..10)
86 parametres['e'] = delta[rand(0..1)]
88 if parametres['a'] == parametres['d']
89 parametres['d'] = parametres['a'] + 1
92 # Calculam c i f en funció de tot l'anterior
93 parametres['c'] = parametres['a']*parametres['x']+parametres['b']*parametres['y']
94 parametres['f'] = parametres['d']*parametres['x']+parametres['e']*parametres['y']
96 exercicis[2].push(parametres)
102 \startexercici[reference=exercici-2, title={tipus $\pm y$}] Resoleu els sistemes següents:
103 \startitemize[a, columns]
104 <% exercicis[2].each do |par| %>
105 \item \startformula \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
106 \NC <%=par['a']%> x <%=par['b'].to_ss%>y \NC = <%=par['c']%> \NR
107 \NC <%=par['d']%> x <%=par['e'].to_ss%>y \NC = <%=par['f']%> \NR
108 \stopmatrix \stopformula
116 exercicis[3] = Array.new
119 parametres = Hash.new
122 # M'assegur que les solucions són nombres sencers
123 parametres['x'] = rand(-10..10)
124 parametres['y'] = rand(-10..10)
126 # Els paràmetres del sistema
127 parametres['a'] = rand(2..10)
128 parametres['b'] = rand(2..10)
129 parametres['d'] = rand(2..10)
130 parametres['e'] = rand(2..10)
132 if parametres['a'] == parametres['d']
133 parametres['d'] = parametres['a'] + 1
136 # Calculam c i f en funció de tot l'anterior
137 parametres['c'] = parametres['a']*parametres['x']+parametres['b']*parametres['y']
138 parametres['f'] = parametres['d']*parametres['x']-parametres['e']*parametres['y']
140 exercicis[3].push(parametres)
146 \startexercici[reference=exercici-3, title={estàndard}] Resoleu els sistemes següents:
147 \startitemize[a, columns]
148 <% exercicis[3].each do |par| %>
149 \item \startformula \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
150 \NC <%=par['a']%> x + <%=par['b']%>y \NC = <%=par['c']%> \NR
151 \NC <%=par['d']%> x - <%=par['e']%>y \NC = <%=par['f']%> \NR
152 \stopmatrix \stopformula
159 <%# ----------------------- Solucions ------------------------ %>
161 \startsubsubject[title={Solucions}]
164 \sym{\in[exercici-1]}
165 \startitemize[a, text]
166 <% exercicis[1].each do |par| %>
167 \item $x = <%=par['x']%>$, $y = <%=par['y']%>$
171 \sym{\in[exercici-2]}
172 \startitemize[a, text]
173 <% exercicis[2].each do |par| %>
174 \item $x = <%=par['x']%>$, $y = <%=par['y']%>$
178 \sym{\in[exercici-3]}
179 \startitemize[a, text]
180 <% exercicis[3].each do |par| %>
181 \item $x = <%=par['x']%>$, $y = <%=par['y']%>$
190 Les solucions d'aquests exercicis s'han calculat automàticament usant programari lliure: encara que totes les expressions són correctes, potser algunes es poden simplificar més.
194 <%# ----------------------- Resolució ------------------------ %>
196 \startsubsubject[title={Resolució}]
199 \sym{\in[exercici-1]}
200 \startitemize[a, text]
201 <% exercicis[1].each do |par| %>
210 \item Igualem les dues expressions de les $y$ i obtenim l'equació següent:
212 <%=a%>x <%=b.to_ss%> = <%=c%>x <%=d.to_ss%>,
215 \startformula \startalign
216 \NC <%=a%>x <% if c > 0%> <%=(-c).to_ss%> <% else%> <%=(+c).to_ss%> <%end %>x \NC = <%=d.to_ss%> <% if b > 0%> <%=(-b).to_ss%> <% else%> <%=(+b).to_ss%> <%end %> \NR
217 \NC <%=a -c%>x \NC = <%=d - b%> \NR
218 \NC x \NC = \frac{<%=d - b%>}{<%=a -c%>} \NR
219 \NC x \NC = <%=x%> \NR
220 \stopalign \stopformula
222 Ara procedim a substituir la $x$ en qualsevol de les dues expressions de les $y$. Ara bé, si ho feim en ambdues, llavors podem comprovar que tenim el sistema ben resolt quan els dos resultats coincideixen:
224 $y = <%=a%>\cdot (<%=x%>) + (<%=b%>) = <%= a*x %> + (<%=b%>) = <%=a * x + b%>$
226 $y = <%=c%>\cdot (<%=x%>) + (<%=d%>) = <%= c*x %> + (<%=d%>) = <%=c * x + d%>$
229 Per tant, les solucions del sistema són $x = <%=x%>$ i $y = <%=y%>$.
234 \sym{\in[exercici-2]}
235 \startitemize[a, text]
236 <% exercicis[2].each do |par| %>
238 \item En primer lloc, hem d'aïllar una de les incògnites, per exemple la $y$:
239 \startformula \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
240 \NC <%=par['a']%> x <%=par['b'].to_ss%>y \NC = <%=par['c']%> \NR
241 \NC <%=par['d']%> x <%=par['e'].to_ss%>y \NC = <%=par['f']%> \NR
244 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
245 \NC <%=par['b']%>y \NC = <%=par['c']%> - <%=par['a']%> x \NR
246 \NC <%=par['e']%>y \NC = <%=par['f']%> - <%=par['d']%> x \NR
249 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
250 \NC y \NC = <%=par['c']/par['b']%> <%=(-par['a']/par['b']).to_ss%> x \NR
251 \NC y \NC = <%=par['f']/par['e']%> <%=(-par['d']/par['e']).to_ss%> x \NR
254 Igualem les darreres expressions de les $y$, obtenint una equació:
256 <%=par['c']/par['b']%> <%=(-par['a']/par['b']).to_ss%> x = <%=par['f']/par['e']%> <%=(-par['d']/par['e']).to_ss%> x
258 que resolem tot seguit: $<%=par['c']/par['b']%> <%=(-par['a']/par['b']).to_ss%> x = <%=par['f']/par['e']%> <%=(-par['d']/par['e']).to_ss%> x$ $\Rightarrow$ $<%=(-par['a']/par['b']).to_ss%> x <%=(par['d']/par['e']).to_ss%> x= <%=par['f']/par['e']%> <%=(-par['c']/par['b']).to_ss%>$ $\Rightarrow$ $<%=(-par['a']/par['b']) + (par['d']/par['e'])%> x = <%=par['f']/par['e'] - par['c']/par['b']%>$ $\Rightarrow$ $x = <%=par['x']%>$.
260 Ara substituïm el valor de la $x$ a les expressions de la $y$:
262 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
263 \NC y \NC = <%=par['c']/par['b']%> <%=(-par['a']/par['b']).to_ss%> \cdot (<%=par['x']%>) \NR
264 \NC y \NC = <%=par['f']/par['e']%> <%=(-par['d']/par['e']).to_ss%> \cdot (<%=par['x']%>) \NR
267 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
268 \NC y \NC = <%=par['c']/par['b']%> <%=(-par['a']/par['b'] * par['x']).to_ss%> \NR
269 \NC y \NC = <%=par['f']/par['e']%> <%=(-par['d']/par['e'] * par['x']).to_ss%> \NR
272 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
273 \NC y \NC = <%=par['y']%> \NR
274 \NC y \NC = <%=par['y']%>\NR
280 \sym{\in[exercici-3]}
281 \startitemize[a, text]
282 <% exercicis[3].each do |par| %>
284 solucio_x = Rational((-par['f']*par['b']-par['c']*par['e']), (-par['a']*par['e'] - par['d']*par['b']))
287 \item En primer lloc, aïllem la $y$ a les dues equacions:
289 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
290 \NC <%=par['a']%> x + <%=par['b']%>y \NC = <%=par['c']%> \NR
291 \NC <%=par['d']%> x - <%=par['e']%>y \NC = <%=par['f']%> \NR
296 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
297 \NC <%=par['b']%>y \NC = <%=par['c']%> - <%=par['a']%> x \NR
298 \NC - <%=par['e']%>y \NC = <%=par['f']%> - <%=par['d']%> x \NR
303 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
304 \NC y \NC = \frac{<%=par['c']%>}{<%=par['b']%>} - \frac{<%=par['a']%> x}{<%=par['b']%>} \NR
305 \NC y \NC = -\frac{<%=par['f']%>}{<%=par['e']%>} + \frac{<%=par['d']%> x}{<%=par['e']%>} \NR
309 $y = \frac{<%=par['c']%>}{<%=par['b']%>} - \frac{<%=par['a']%> x}{<%=par['b']%>}$ i $y = -\frac{<%=par['f']%>}{<%=par['e']%>} + \frac{<%=par['d']%> x}{<%=par['e']%>}$. Ara igualem les expressions i obtenim una equació:
311 \frac{<%=par['c']%>}{<%=par['b']%>} - \frac{<%=par['a']%> x}{<%=par['b']%>} = -\frac{<%=par['f']%>}{<%=par['e']%>} + \frac{<%=par['d']%> x}{<%=par['e']%>}
313 Resolem aquesta equació:
314 $\frac{<%=par['c']%>}{<%=par['b']%>} - \frac{<%=par['a']%> x}{<%=par['b']%>} = -\frac{<%=par['f']%>}{<%=par['e']%>} + \frac{<%=par['d']%> x}{<%=par['e']%>}$ $\Rightarrow$ $<%=par['c']*par['e']%> <%=-(par['a']*par['e']).to_ss%> x = <%=(-par['f']*par['b']).to_ss%> <%=(par['d']*par['b']).to_ss%> x$ $\Rightarrow$ $<%=(-par['a']*par['e'] - par['d']*par['b'])%> x = <%=(-par['f']*par['b']-par['c']*par['e'])%>$ $\Rightarrow$ $x = \frac{<%=(-par['f']*par['b']-par['c']*par['e'])%>}{<%=(-par['a']*par['e'] - par['d']*par['b'])%>}$ $\Rightarrow$ $x = \frac{<%=solucio_x.numerator%>}{<%=solucio_x.denominator%>} = <%=par['x']%>$.
316 Posteriorment substituïm la $x$ en les expressions de les $y$:
318 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
319 \NC y \NC = \frac{<%=par['c']%>}{<%=par['b']%>} - \frac{<%=par['a']%> \cdot (<%=par['x']%>)}{<%=par['b']%>} \NR
320 \NC y \NC = -\frac{<%=par['f']%>}{<%=par['e']%>} + \frac{<%=par['d']%> \cdot (<%=par['x']%>)}{<%=par['e']%>} \NR
323 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
324 \NC y \NC = \frac{<%=par['c']%>}{<%=par['b']%>} - \frac{<%=par['a'] * par['x']%>}{<%=par['b']%>} \NR
325 \NC y \NC = -\frac{<%=par['f']%>}{<%=par['e']%>} + \frac{<%=par['d'] * par['x']%>}{<%=par['e']%>} \NR
328 \startmatrix[left={\left\{ \, }, right={\, \right. }, align={left}]
329 \NC y \NC = \frac{<%=par['c'] - (par['a'] * par['x'])%>}{<%=par['b']%>} \NR
330 \NC y \NC = \frac{<%=-par['f'] + (par['d'] * par['x'])%>}{<%=par['e']%>} \NR
333 Per tant, $y = <%=par['y']%>$.
341 La resolució d'aquests exercicis s'ha calculat automàticament usant programari lliure: encara que totes les expressions són correctes, potser algunes es poden simplificar més.