automtica de exerccios
Jos Joo Almeida, Gueorgui Smirnov, Irene Brito,
Rui Pereira, Gaspar Machado, Isabel Arajo & Cia
21 de Maio de 2013
ii
Contedo
1 Introduo
2 Gerao de exerccios
2.1 Primeiros exemplos: comandos bsicos de PASSAROLA
2.2 Utilizao de Perl . . . . . . . . . . . . . . . . . . . . . .
2.3 Grfica . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Organizao de dados: tabelas e ficheiros . . . . . . . . .
2.5 Exerccios de escolha mltipla . . . . . . . . . . . . . . .
2.6 Funes . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7 Criao de fichas de trabalho, testes e sebentas . . . . . .
.
.
.
.
.
.
.
5
5
19
25
43
46
46
46
55
55
55
57
5 Sistemas de ensino
59
6 Anexo C: Maxima
75
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
iv
CONTEDO
Captulo 1
Introduo
Sem nunca renegar o uso de papel e lpis, o ensino vem recorrendo a uma progressiva utilizao das mais diversas ferramentas ligadas a Tecnologias da Informao. Assim, torna-se necessrio o desenvolvimento de mecanismos que motivem
o aluno, estimulem a sua curiosidade e autonomia e tambm potencializem o
sucesso escolar.
As relaes entre a Tecnologia da Informao e o ensino autoregulado tm
sido, em diversos campos, alvo de estudo e h relatos de uma grande variedade
de casos bem sucedidos [4].
A gerao e apresentao de problemas est omnipresente na educao ou
processos de ensino, quer numa abordagem objetivista quer construtivista, quer
se recorra a treino, quer a tutoria, quer se use a Internet quer se use papel e
lpis, havendo em todas as situaes a necessidade de um mtodo para selecionar
e gerar exerccios e problemas para o aluno ([3], p. 237).
O Ensino Assistido por Computador (EAC), surgiu nos finais da dcada de 60,
como uma sequncia de problemas apresentados aos alunos, receo de respostas e
avaliao do desempenho daqueles. Contudo, depressa se percebeu a necessidade
de criar ferramentas mais poderosas para gerar e adaptar exerccios, surgindo
como natural o uso de tcnicas de inteligncia artificial ([3], p. 238).
Os trabalhos prvios de Koffman na gerao de problemas (citados em [3],
p. 238) mostram algumas caractersticas normalmente encontradas em sistemas
posteriores, tais como a seleo de um domnio formal, o uso de gramticas formais
ou a necessidade de mecanismos adicionais com o objetivo de controlar as frases
geradas pela gramtica. Este incio promissor no foi seguido por uma enchente
de sistemas geradores em EAC ou Sistemas Tutoriais Inteligentes (STI), visto
que, segundo os autores, com a tecnologia da poca o uso de tais programas no
era apelativo nem economicamente vivel.
1
CAPTULO 1. INTRODUO
3
Claro que se encontram, pela frmula resolvente, as razes da equao:
b b2 4ac
x1,2 =
.
2a
Mas como gerar o exerccio? Escolhendo os coeficientes a, b e c, podemos, com
grande probabilidade, obter uma equao com razes irracionais ou complexas,
o que torna o exerccio desadequado, por exemplo, a alunos do ensino bsico.
Normalmente, pretende-se um enunciado que garante a existncia de razes racionais: 1, 2, 3/2, etc.. Neste caso, convm seguir o seguinte esquema de
gerao. Definamos as razes x1 e x2 , o coeficiente a e calculemos os coeficientes
b e c utilizando o Teorema de Vite:
a(x x1 )(x x2 ) = ax2 a(x1 + x2 )x + ax1 x2 = ax2 + bx + c = 0,
i.e., lgico gerar o enunciado a partir da soluo, se pretendemos criar um
exerccio bonito.
Determinando o discriminante D = b2 4ac, tambm geramos a soluo do
exerccio. De um modo geral, a resoluo de um exerccio (no necessariamente
matemtico) pode ser, esquematicamente, representada como aplicao sucessiva
de operadores (passos lgicos) Ak ao vetor de dados iniciais que descreve o
enunciado do exerccio. O resultado intermdio sucessivo xk = Ak xk1 obtido do anterior. Deste modo, o esquema de resoluo de um exerccio pode ser
representado assim:
x0 x1 = A1 x0 xk+1 = Ak+1 xk xn = An xn1 .
Se o operador Ak invertvel, podemos reconstruir xk1 a partir de xk . A
gerao de um exerccio no tem de comear obrigatoriamente da sua soluo xn .
Normalmente, comea de um passo intermdio k. A nica condio necessria de
escolha do passo k por onde se deve comear, a invertibilidade dos operadores
A1 , . . . , Ak+1 . O esquema geral de gerao de um exerccio pode ser representado
na forma:
x0 x1 = A1 x0 xk+1 = Ak+1 xk xn = An xn1 .
Neste processo, o caminho para o enunciado/resoluo uma sequnca fixa
de operadores. A variao obtida apenas pelo sorteio do vetor intermdio. Uma
situao ainda mais interessante pode ser obtida atravs da variao (aleatria)
da lgica do exerccio (isto , da sequncia de operadores).
CAPTULO 1. INTRODUO
Captulo 2
Gerao de exerccios
2.1
#title: C, , S ou SS
#author: Ea de Queirs
#let:
5
6
7
8
9
10
L1~L2;
11
#question:
12
13
14
#resolution:
15
\noindent #L2
C, , S ou SS
Ea de Queirs
21 de Maio de 2013
Enunciado
Complete a palavra com c, , s ou ss: inten_o.
Resolution
inteno
Random choices
L2 |
L1 |
inteno | inteno
inten\_o | inten\_o
#title:
#author:
#let:
#question:
#sugestion:
#resolution:
\_
A expresso
1
inten_ao
\noindent
significa que o texto tem de comear na primeira posio (veja o anexo LaTeX).
Notemos, ainda, que o operador
#L1
diz o seguinte: necessrio escolher aleatoriamente uma palavra ou frase L2, objeto cujo tipo s (string), da lista de 17 elementos indicados entre os parnteses
retos. Depois, no resto do programa o compilador substitui o smbolo #L2 pelo
valor escolhido. No caso considerado foi escolhido e posteriormente substitudo o
valor inteno.
Um dos operadores mais importantes do PASSAROLA o
1
Este operador estabelece ligao parentesca entre vrias listas de dados. Por
exemplo, o comando
1
L1~L2~L3;
significa que se da lista L1 se escolhe o elemento nmero 5, das duas outras listas
ser escolhido o elemento que est no lugar nmero 5.
possvel selecionar vrios elementos da lista. Vejamos este exemplo.
1
#title: C, , S ou SS
#let:
5
6
7
8
9
10
L1~L2;
11
12
13
14
15
16
17
18
19
20
21
22
23
24
\noindent
\begin{enumerate}
\item #L2[0]
\item #L2[1]
\item #L2[2]
\item #L2[3]
\end{enumerate}
1
2
3
4
5
\begin{enumerate}
\item
\item
\item
\end{enumerate}
C, , S ou SS
Joo Baptista da Silva Leito
21 de Maio de 2013
Enunciado
Complete a palavra com c, , s ou ss:
1. a_ar
2. a_altar
3. can_ao
4. coin_idir
Resolution
1. assar
2. assaltar
3. cansao
4. coincidir
O comando
1
2
3
#L2[0]
#L2[1]
#L2[2]
#L2[3]
10
#title: Aores
#let:
5
6
7
8
9
12
13
N~I~G ;
14
#question:
15
16
17
#resolution:
18
10
11
Aores
Albert I Grimaldi
21 de Maio de 2013
Enunciado
O arquiplago dos Aores distribui-se por trs grupos de ilhas e ilhus: Oriental,
Central e Ocidental. A que grupo pertence o ilhu Vila Franca?
Resolution
Ao grupo Oriental.
Random choices
N |
I |
G |
1
2
3
#let
N
P
F
T
C
5
6
7
8
=
=
=
=
=
10
11
n l
12
#question:
13
14
= #laranjasPC * #cestos;
12
15
16
17
18
19
20
#result
A #P #T #l #F.
#sugestion:
Fazer um esquema...
#resolution:
$#laranjasPC \times #cestos = #l$;
Enunciado
A tia da Maria trouxe da quinta 5 cestos, contendo cada um 16 cebolas. Quantas
cebolas trouxe da quinta a tia da Maria?
Sugestion
Fazer um esquema...
Resolution
16 5 = 80;
Result
A tia da Maria trouxe da quinta 80 cebolas.
Obs
Random choices
F
T
N
P
l
C
laranjasPC
cestos
|
cebolas |
|
trouxe da quinta |
|
da Maria |
|
tia #N |
| #laranjasPC * #cestos |
|
cestos |
|
16 |
|
5 |
cebolas
trouxe da quinta
da Maria
tia da Maria
80
cestos
16
5
Os comandos
n l
= #laranjasPC * #cestos;
#author: jj
#let
N
P
F
T
5
6
7
=
=
=
=
14
8
9
11
12
n l
13
s enu =
10
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
= #laranjasPC * #cestos;
Enunciado
A minha tia trouxe da quinta 180 laranjas. Arrumou-as em 9 baldes. Quantas
laranjas tem cada um dos baldes?
Sugestion
Fazer um esquema...
Resolution
180 9 = 20.
Result
Cada um dos baldes tem 20 laranjas.
Obs
Random choices
F |
laranjas |
T |
trouxe da quinta |
enu | A #P #T #l #F. #D #cestos
Quantas #F tem cada #C? |
N |
resol |
P |
resp |
l
C
D
cestos
laranjasPC
|
|
|
|
|
laranjas
trouxe da quinta
#C.
A minha tia trouxe
da quinta 180 laranjas.
Arrumou-as em 9 baldes.
Quantas laranjas tem
cada um dos baldes?
|
$#l \div #cestos =
#laranjasPC.$
| $180 \div 9 = 20.$
minha tia | minha tia
Cada #C tem
#laranjasPC #F. | Cada balde tem 20
laranjas.
#laranjasPC * #cestos | 180
baldes | baldes
Arrumou-as em | Arrumou-as em
9 | 9
20 | 20
16
#let:
f
f
f
a = [ 1, 2, 1/2, 2/3, 3, 5 ] ;
x1 = [ 1/2, 2, -1, -3/2, 3, 4 ] ;
dx = [ 2/3, 1/3, 1/2, 5/2, 2, 3, 4];
12
f
f
f
f
f
f
x2
b
c
D
pol
bb
13
#question:
14
15
#sugestion:
16
20
21
#resolution:
22
5
6
7
8
9
10
11
17
18
19
23
24
25
26
27
28
= #x1 + #dx ;
= -#a * (#x1 + #x2) ;
= #a * #x1 * #x2 ;
= #b^2 - 4 * #a * #c ;
= #a * x^2 + #b * x + #c ;
= -#b;
$$
D = #D.
36
37
$$
Portanto, as razes so:
$$
x_{1}=\frac{#bb + \sqrt{#D}}{2\times #a} = #x2
\;\;{\rm e}\;\;
x_{2}=\frac{#bb - \sqrt{#D}}{2\times #a} = #x1.
$$
#result:
$#x2$, $#x1$
Equao quadrtica
Haruki Murakami
21 de Maio de 2013
Enunciado
Resolva a equao: 5 x2
65 x
2
105
2
= 0.
Sugestion
As razes de uma equao de grau dois calculam-se utilizando a frmula:
b D
x1,2 =
,
2a
onde D = b2 4ac.
Resolution
As razes de uma equao de grau dois calculam-se utilizando a frmula:
b D
x1,2 =
,
2a
18
25
.
4
x1 =
65
2
25
4
25
7
=
e x2 =
2
65
2
25
4
25
= 3.
Result
7
2
,3
Obs
Random choices
a
x1
dx
x2
b
c
bb
D
pol
|
|
|
|
|
-#a *
|
#a
|
|
#b^2 | #a * x^2
5 |
3 |
1/2 |
#x1 + #dx |
(#x1 + #x2) |
* #x1 * #x2 |
-#b |
4 * #a * #c |
+ #b * x + #c
5
3
1/2
7/2
-65/2
105/2
65/2
25/4
| 5*x^2-65*x/2+105/2
O comando
1
= [ 1, 2, 1/2, 2/3, 3, 5 ] ;
x2 = #x1 + #d ;
calcula o objeto x2 do tipo f (funo), utilizando os valores j escolhidos anteriormente, x1 e dx. O tipo f significa que o clculo feito utilizando o programa
Maxima (consulte o anexo Maxima). A utilizao do Maxima significa que os
19
7
1
= .
2
2
Este exerccio muito simples, mas gostaramos de chamar a sua ateno para
algumas subtilezas que existem aqui. Note que no escolhemos as razes x1 e x2,
mas escolhemos x1 e calculmos x2 como #x1+#dx, onde dx>0. Isto foi feito para
garantir a desigualdade x2>x1, e para poder escrever depois
q
q
65
25
65
25
+
7
2
4
2
4
=
e x2 =
= 3.
x1 =
25
2
25
(aqui trocamos a ordem de x2=7/2 e de x1=3 para criar uma maior confuso). A
funo
1
bb = -#b;
65
,
2
2.2
Utilizao de Perl
#author: Mendeleev
20
#usepackage
\usepackage{mhchem}
#let:
A ~ VA ~ H
B ~ VB ~ OH = sectioncols(catioes);
n qA
n qB
n qagua
9
10
= sectioncols(anioes);
= perl{mmc(#VA,#VB)/#VA} ;
= perl{mmc(#VB,#VA)/#VB} ;
= perl{#VB*#qB }
13
s sqA
= perl{ if( #qA
== 1 ) {""} else {#qA}}
s sqB
= perl{ if( #qB
== 1 ) {""} else {#qB}}
s sqagua = perl{ if( #qagua == 1 ) {""} else {#qagua}}
14
#tab anioes
15
18
Cl:1:H
Br:1:H
SO_4:2:H_2
NO_3:1:H
19
#tab catioes
20
22
Na:1:OH
K :1:OH
Ca:2 :(OH)_2
23
#format
24
27
simplifica\((.*)-times-1\)=$1
simplifica\((.*[0-9])-times-([2-4])\)=($1)$2
simplifica\((.*[A-Z].*[A-Z].*)-times-([2-4])\)=($1)$2
simplifica\((.*)-times-([2-4])\)=$1$2
28
#question
29
Escreva a equao de titulao do cido \ce{#H #A} com a base \ce{#B #OH}.
11
12
16
17
21
25
26
#resolution:
31
32
33
#result
34
35
#perl
36
37
38
39
40
41
42
Equao de titulao
Mendeleev
21 de Maio de 2013
Enunciado
Escreva a equao de titulao do cido HCl com a base Ca(OH)2 .
Sugestion
... no sugestion provided
Resolution
2HCl + Ca(OH)2 = 2H2 O + CaCl2 .
21
22
As linhas
#usepackage
\usepackage{mhchem}
informam o processador que ser utilizado o pacote mhchem que facilita o trabalho
com frmulas qumicas. A sua utilizao muito intuitiva. Por exemplo, a
frmula da gua escreve-se como
\ce{H2O}.
E isto produz
H2 O.
Os dados relativos aos cidos e s bases so definidos nas tabelas
#tab anioes
Cl:1:H
Br:1:H
SO_4:2:H_2
NO_3:1:H
#tab catioes
Na:1:OH
K :1:OH
Ca:2 :(OH)_2
A coluna do meio contm as valncias dos respetivos ies. Os comandos
A ~ VA ~ H
= sectioncols(anioes);
B ~ VB ~ OH = sectioncols(catioes);
atribuem s variveis A, VA, H, B, VB, OH os valores das linhas selecionadas das
tabelas anioes e catioes.
O elemento mais importante neste exerccio a utilizao ativa da lingugem
de programao Perl para calcular alguns dados do exerccio. Em primeiro lugar
no campo perl est definidas a funes que calcula o mnimo mltiplo comum de
dois nmeros:
23
#perl
sub mmc{ my ($a,$b)=@_;
## Mnimo Mltiplo Comum
my $c = 0;
do{ $c++ }
until($c % $a ==0 and $c % $b == 0); ## A%B - resto da diviso de A/B
return $c
}
Eventualmente, um utilizador mais experiente de Perl escreveria:
sub mdc { my ($x, $y) = @_;
## Mximo Divisor Comum
($x, $y) = ($y, $x % $y) while $y;
$x;
}
sub mmc { my ($x,$y)=@_;
($x*$y)/mdc($x,$y);
}
Cdigo de Perl tambm pode ser introduzido no corpo do exerccio como nestes
exemplos:
n qA
= perl{ mmc(#VA,#VB)/#VA } ;
s sqA
24
Este tipo de substituies bastante til para opter uma verso de enunciados
que envolvam gerao de notao LATEXrica.
Por vezes importante substituio envolvendo regras com lados esquerdos
variantes de modo a incluir diversas situaes geradas no processo de sorteio de
dados.
No seguinte exemplo, a regra apresentada
#format
vector_([0-9]+)=vector_{$1}
## [0-9]+
um ou mais dgitos
Em operaes de substituio:
$1 $2 $n
-- expande para as diversas sub-expresses captadas por (X)
2.3. GRFICA
Exemplo:
[A-za-z]+
(Jan|Fev...|Dez) ([0-9]+)= $2 $1
25
palavra
Troca a ordem Ms ano para Ano Ms
2.3
Grfica
#let:
n
n
n
n
n pi
13
s q[4] = [ O
O
A
A
];
14
15
16
f t_max = #v *sin( #alpha * #pi/180)/( #g) +sqrt( #v^2 * sin( #alpha * #pi/180)^2 +
2 * #g * #h)/( #g);
17
18
f v_y
= #v * sin( #alpha * #pi/180) - #g * #t_max;
f v_max = sqrt( #v_x^2 + #v_y^2);
5
6
10
11
12
19
v
alpha
h
g
=
=
=
=
{[1..10]};
{[0..75]};
{[1..5]};
9.8;
= 3.141592654;
instante em que a bola toca no cho,
ponto onde a bola atinge o cho,
altura mxima,
velocidade mxima
26
20
f t_0
21
22
n cy = #h/2;
23
f Py = #y_max;
24
25
29
s res[4] = [ #t_max
#x_max
#y_max
#v_max
];
30
q ~ res;
31
#question:
32
26
27
28
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
s,
m,
m,
m/s
2.3. GRFICA
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
27
\end{center}
Supondo o atrito desprezvel, calcule:
\begin{enumerate}
\item #q[0];
\item #q[1];
\item #q[2];
\item #q[3],
\end{enumerate}
#sugestion:
Considere o sistema de eixos centrado no ponto inicial da bola, e orientado na horizontal
e vertical.
#resolution: Em primeiro lugar convm estabelecer as equaes do movimento em
$x$ e em $y$:
\[x = v\cos\alpha t\]
\[y = v\sin\alpha t -0.5gt^2\]
As equaes para a velocidade em $x$ e em $y$ so:
\[v_x = v\cos\alpha \]
\[v_y = v\sin\alpha - gt \]
Depois calcula-se o instante em que $y=-h$:
\[-h=v\sin\alpha t -0.5gt^2\]
\[ t=\frac{v\sin\alpha + \sqrt{v^2\sin^2\alpha + 2gh}}{g}\]
e substitui-se na equao para $x$:
72
73
77
A velocidade
energia), ou
nas equaes
\[v_{max} =
78
#result:
79
\begin{enumerate}
\item #res[0];
74
75
76
80
28
84
\item #res[1];
\item #res[2];
\item #res[3].
\end{enumerate}
85
#Verify:
86
#Obs:
87
#usepackage:
88
\usepackage{tikz}
81
82
83
Lanamento de projtil
Ricardo Mendes Ribeiro
21 de Maio de 2013
Enunciado
Uma bola lanada com uma velocidade de 8 m/s, fazendo um ngulo = 61
graus com a horizontal, conforme mostra a figura.
Temos: h = 3 m.
~v0
2.3. GRFICA
29
Sugestion
Considere o sistema de eixos centrado no ponto inicial da bola, e orientado na
horizontal e vertical.
Resolution
Em primeiro lugar convm estabelecer as equaes do movimento em x e em y:
x = v cos t
y = v sin t 0.5gt2
As equaes para a velocidade em x e em y so:
vx = v cos
vy = v sin gt
Depois calcula-se o instante em que y = h:
h = v sin t 0.5gt2
p
v sin + v 2 sin2 + 2gh
t=
g
e substitui-se na equao para x:
x = v cos
v sin +
ymax
p
v 2 sin2 + 2gh
g
v 2 sin2
= 0.5
g
30
Result
1. 1.773222922038111 s;
2. 11.08151614175605 m/s;
3. 6.877404249838398 m;
4. 2.497827370561611 m.
No incio deste exerccio so definidas as quantidades seguintes:
1
2
3
4
5
n
n
n
n
n
v
alpha
h
g
pi
=
=
=
=
=
{[1..10]};
{[0..75]};
{[1..5]};
9.8;
3.141592654;
em que v {1, ..., 10} representa a velocidade inicial da bola, alpha {0, ..., 75}
o ngulo com a horizontal, h {1, ..., 5} a altura do cho at ao centro da bola,
g a constante de gravitao e pi o valor de . Em
1
2
3
4
5
s q[4] = [ O
O
A
A
];
2.3. GRFICA
6
7
8
9
10
11
f
f
f
n
f
f
31
s res[4] = [ #t_max
#x_max
#y_max
#v_max
];
q ~ res;
s,
m,
m,
m/s
\begin{tikzpicture}
\draw (-1, -#h) -- (-1,-0);
\draw (-0.4,-0.2) rectangle (0, -#h);
\filldraw[gray] (0,0) circle (0.2);
\draw[gray] (0,0) parabola bend ( #Px , #Py) ( #x_max , -#h);
\draw[->] (0,0) -- ( #alpha : 0.8);
\node at (-1.1, -#cy) [left] {$h$};
\draw (0.6,0) arc (0:#alpha:0.6);
\draw[dashed] (-1,0) -- (0.8,0);
\node at (0.6,0.2) [right] {$\alpha$};
\draw[gray] (-0.5, -#h) -- (10, -#h);
\node at (0.4,0.6) [left] {$\vec{v}_0$};
\end{tikzpicture}
Na linha 4 desenhada uma bola de cor cinzento com centro (0, 0) e de raio
0.2 cm. Todos os outros objetos vo ser desenhados com referncia ao centro da
32
primeiro desenhada uma seta do centro da bola at ao ponto dado pelas coordenadas polares #alpha e 0.8, fazendo assim um ngulo de #alpha graus com a
horizontal e depois desenhado uma arco de #alpha graus. O comando
1
desenha uma linha tracejada horizontal que passa no centro da bola indicando
assim a altura que corresponde a h = 0 e
1
desenha uma linha verde que representa o cho correspondendo altura h. Com
as instrues
1
2
3
#let:
n a = import(coef_aDom.tab);
n b = import(coef_bDom.tab);
n c = import(coef_cDom.tab);
5
6
2.3. GRFICA
33
f
f
f
f
f
f
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
D0 = [ #a^2-(x+#b)^2-(y+#c)^2];
D1 = ratsimp(#D0);
d = ratsimp(-#b);
e = ratsimp(-#c);
aux1 = [F(z) := #F1];
G = ratsimp(F(#D1));
fig1 = {{ \begin{tikzpicture}[scale=0.5]
\fill[gray!20] (#d,#e) circle (#a);
\draw[->](-8,0)--(8,0) node[right]{$x$};
\draw[->](0,-8)--(0,8) node[above]{$y$};
\node at (#d,#e) [below] {$(#d,#e)$};
\filldraw[black] (#d,#e) circle(1.5pt);
\foreach \x/\xtext in { 2/2, 4/4, 6/6, }
\draw[shift={(\x,0)}] (0pt,0.3pt) -- (0pt,-0.3pt)
\foreach \x/\xtext in {-6/6, -4/4, -2/2 }
\draw[shift={(\x,0)}] (0pt,0.3pt) -- (0pt,-0.3pt)
\foreach \y/\ytext in { 2/2, 4/4, 6/6}
\draw[shift={(0,\y)}] (0.3pt,0pt) -- (-0.3pt,0pt)
\foreach \y/\ytext in {-6/6, -4/4, -2/2}
\draw[shift={(0,\y)}] (0.3pt,0pt) -- (-0.3pt,0pt)
\foreach \x in {-7,...,7}
\draw (\x cm,-1pt) -- (\x cm,1pt);
\foreach \y in {-7,...,7}
\draw (-1pt,\y cm) -- (1pt,\y cm);
\end{tikzpicture} }};
node[below] {$\xtext$};
node[below] {$-\xtext$};
node[left] {$\ytext$};
node[left] {$-\ytext$};
fig2 = {{ \begin{tikzpicture}[scale=0.5]
\filldraw[gray!20] (-8,-8) rectangle (8,8);
\filldraw[white] (#d,#e) circle (#a);
\draw[->](-8,0)--(8,0) node[right]{$x$};
\draw[->](0,-8)--(0,8) node[above]{$y$};
\node at (#d,#e) [below] {$(#d,#e)$};
\filldraw[black] (#d,#e) circle(1.5pt);
\foreach \x/\xtext in { 2/2, 4/4, 6/6, }
\draw[shift={(\x,0)}] (0pt,0.3pt) -- (0pt,-0.3pt) node[below] {$\xtext$};
34
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
2.3. GRFICA
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
35
node[below] {$\xtext$};
node[below] {$-\xtext$};
node[left] {$\ytext$};
node[left] {$-\ytext$};
fig5 = {{ \begin{tikzpicture}[scale=0.5]
\filldraw[gray!20] (-8,-8) rectangle (8,8);
\draw[style=dashed,color=white] (#d,#e) circle (#a);
\draw[->](-8,0)--(8,0) node[right]{$x$};
\draw[->](0,-8)--(0,8) node[above]{$y$};
\node at (#d,#e) [below] {$(#d,#e)$};
\filldraw[black] (#d,#e) circle(1.5pt);
\foreach \x/\xtext in { 2/2, 4/4, 6/6, }
\draw[shift={(\x,0)}] (0pt,0.3pt) -- (0pt,-0.3pt) node[below] {$\xtext$};
\foreach \x/\xtext in {-6/6, -4/4, -2/2 }
\draw[shift={(\x,0)}] (0pt,0.3pt) -- (0pt,-0.3pt) node[below] {$-\xtext$};
\foreach \y/\ytext in { 2/2, 4/4, 6/6}
\draw[shift={(0,\y)}] (0.3pt,0pt) -- (-0.3pt,0pt) node[left] {$\ytext$};
\foreach \y/\ytext in {-6/6, -4/4, -2/2}
\draw[shift={(0,\y)}] (0.3pt,0pt) -- (-0.3pt,0pt) node[left] {$-\ytext$};
\foreach \x in {-7,...,7}
\draw (\x cm,-1pt) -- (\x cm,1pt);
\foreach \y in {-7,...,7}
\draw (-1pt,\y cm) -- (1pt,\y cm);
\end{tikzpicture} }};
fig6 = {{ \begin{tikzpicture}[scale=0.5]
\draw[style=dashed,color=black] (#d,#e) circle (#a);
\fill[gray!20] (#d,#e) circle (#a);
\draw[->](-8,0)--(8,0) node[right]{$x$};
\draw[->](0,-8)--(0,8) node[above]{$y$};
\node at (#d,#e) [below] {$(#d,#e)$};
36
121
122
123
124
125
126
127
128
129
130
131
132
133
134
node[below] {$\xtext$};
node[below] {$-\xtext$};
node[left] {$\ytext$};
node[left] {$-\ytext$};
155
fig7 = {{ \begin{tikzpicture}[scale=0.5]
\filldraw[gray!20] (-8,-8) rectangle (8,8);
\filldraw[white] (#d,#e) circle (#a);
\draw[style=dashed,color=black] (#d,#e) circle (#a);
\draw[->](-8,0)--(8,0) node[right]{$x$};
\draw[->](0,-8)--(0,8) node[above]{$y$};
\node at (#d,#e) [below] {$(#d,#e)$};
\filldraw[black] (#d,#e) circle(1.5pt);
\foreach \x/\xtext in { 2/2, 4/4, 6/6, }
\draw[shift={(\x,0)}] (0pt,0.3pt) -- (0pt,-0.3pt) node[below] {$\xtext$};
\foreach \x/\xtext in {-6/6, -4/4, -2/2 }
\draw[shift={(\x,0)}] (0pt,0.3pt) -- (0pt,-0.3pt) node[below] {$-\xtext$};
\foreach \y/\ytext in { 2/2, 4/4, 6/6}
\draw[shift={(0,\y)}] (0.3pt,0pt) -- (-0.3pt,0pt) node[left] {$\ytext$};
\foreach \y/\ytext in {-6/6, -4/4, -2/2}
\draw[shift={(0,\y)}] (0.3pt,0pt) -- (-0.3pt,0pt) node[left] {$-\ytext$};
\foreach \x in {-7,...,7}
\draw (\x cm,-1pt) -- (\x cm,1pt);
\foreach \y in {-7,...,7}
\draw (-1pt,\y cm) -- (1pt,\y cm);
\end{tikzpicture} }};
156
157
F1~S~Gr;
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
2.3. GRFICA
37
158
#question:
159
\noindent Determine
160
170
171
#usepackage:
172
\usepackage{tikz}
161
162
163
164
165
166
167
168
169
Domnio de funo 20 A
Smirnov, Irene
21 de Maio de 2013
Enunciado
Determine e represente geometricamente o domnio da funo f (x, y) =
1
.
y 2 +6 y+x2 +2 x6
38
Sugestion
Resolution
Notemos que
domf = {(x, y) | y 2 6 y x2 2 x + 6 < 0}.
= {(x, y) | (y + 3)2 (x + 1)2 + 16 < 0}.
y
6
4
2
6
2
(1,4
3)
6
n a = import(coef_aDom.tab);
n b = import(coef_bDom.tab);
n c = import(coef_cDom.tab);
2.3. GRFICA
39
A lista
1
f D0
= [ #a^2-(x+#b)^2-(y+#c)^2];
f D1 = ratsimp(#D0);
f d = ratsimp(-#b);
f e = ratsimp(-#c);
40
Para atribuir a cada funo da lista F1, que depende do smbolo da lista S, o
grfico com o domnio correspondente da lista Gr utiliza-se o operador de correpondncia ~ da seguinte forma
1
F1~S~Gr;
2.3. GRFICA
41
domf
domf
domf
domf
domf
domf
domf
=
=
=
=
=
=
=
0}
0}
> 0}
< 0}
6= 0}
> 0}
< 0}.
\draw[->](-8,0)--(8,0) node[right]{$x$};
\draw[->](0,-8)--(0,8) node[above]{$y$};
node[below] {$\xtext$};
node[below] {$-\xtext$};
node[left] {$\ytext$};
node[left] {$-\ytext$};
42
que so utilizados para marcar as unidades nos eixos e apresentar alguns valores,
neste caso, 6, 4, 2, 2, 4, 6.
Os outros comandos que aparecem em cada um dos grficos so especficos
para cada domnio. Observe-se que a circunferncia deve ser desenhada com linha
contnua para os domnos que dependem dos smbolos ou , ou, desenhada com
linha tracejada para os domnios que dependem dos smbolos >, < ou 6=. Note-se
tambm que nos domnios 1., 3. e 6. a circunferncia deve aparecer preenchida,
nos domnios 2., 4. e 7. deve ser preenchida a regio exterior circunferncia e
para o domnio 5. preenchido todo o plano excluindo os pontos da circunferncia
desenhando-a de forma tracejada.
Assim, para esse efeito, utiliza-se no grfico do domnio 1 (ver fig1)
1
43
para preencher o plano de cor cinzento claro e apresentar a circunferncia tracejada de cor branca.
O grfico do domnio 6 (ver fig6) igual ao grfico do domnio 3 e o grfico
do domnio 7 (ver fig7), igual ao grfico domnio 4.
Por fim, na resoluo deste exerccio, em #resolution: indicado por compreenso em
1
2
3
4
5
6
$$
{\rm dom} f = \{ (x,y) \mid #D1 #S 0\}.
$$
$$
= \{ (x,y) \mid #D0 #S 0\}.
$$
$$
#Gr
$$
2.4
#author: jj
#let:
s perg[2] = [ Qual
Onde
Qual
Qual
Qual
Qual
6
7
8
9
10
44
16
s resp[2] = [ #rio,
#foz,
#nascente,
#foz,
#rio,
#rio];
17
resp ~ perg;
18
#question:
19
\begin{enumerate}
\item #perg[0]
\item #perg[1]
\end{enumerate}
11
12
13
14
15
20
21
22
30
#sugestion:
#resolution:
#result:
\begin{enumerate}
\item #resp[0]
\item #resp[1]
\end{enumerate}
#Verify:
31
#usepackage
32
#tab riospt
33
23
24
25
26
27
28
29
34
35
36
37
38
39
40
41
42
43
45
Rios de Portugal
jj
21 de Maio de 2013
Enunciado
1. Qual a nascente do rio Vouga?
2. Qual a foz do rio que atravessa S. Pedro do Sul, Vouzela?
Sugestion
Resolution
Result
1. serra da Lapa
2. Aveiro
Obs
Random choices
rio |
Vouga | Vouga
46
area
afluentes
atravessa
resp
nascente
perg
compPT
foz
|
3656 | 3656
|
Caima, gueda | Caima, gueda
| S. Pedro do Sul, Vouzela | S. Pedro do Sul, Vouzela
|
ARRAY(0x8708360) | ARRAY(0x87042d0)
|
serra da Lapa | serra da Lapa
|
ARRAY(0x8708460) | ARRAY(0x86ff660)
|
136 | 136
|
Aveiro | Aveiro
2.5
2.6
Funes
2.7
No exemplo que se segue, podemos observar um ficheiro PASSAROLA que permite criar uma ficha de trabalho.
1
2
3
4
5
47
Este ficheiro gera dois novos ficheiros: um com o enunciado e outro com as
resolues. O enunciado apresentado da seguinte forma:
= 27.
= 245.
48
= 27.
....................
Aplicando a transformada de Laplace equao diferencial, obtemos
L(x)(p) =
12 p3 9 p2 62 p 1
.
p4 3 p3 5 p2 + 3 p + 4
2
4
5
5
+ 2
+
+
.
p + 1 p + 2p + 1 p 4 p 1
Utilizando a frmula
L(f )(p) =
n!
,
(p + )n+1
obtemos
x(t) = et 5 e5 t + 5 e2 t + 4 t + 2 .
= 245.
49
....................
Aplicando a transformada de Laplace equao diferencial, obtemos
L(x)(p) =
50 i
50 i
9
9
+
+
+
.
p 2i p + 2i p 4 p 1
Utilizando a frmula
L(f )(p) =
n!
,
(p + )n+1
obtemos
x(t) = 100 sin (2 t) 9 e4 t 9 et .
50
n!
.
(p + )n+1
obtemos
x(t) = e13 t + 6 e13 t , y(t) = e13 t + 7 e13 t .
L(x)(p) =
L(x)(p) =
n!
.
(p + )n+1
51
obtemos
x(t) = 2 e56 t + 10 e112 t , y(t) = 4 e56 t + 8 e112 t .
Com PASSAROLA tambm possvel criar testes, como se pode ver no exemplo seguinte:
1
2
3
4
5
6
7
8
9
10
11
12
A instruo #q{nome_do_ficheiro} define a introduo de uma questo gerada pelo ficheiro existente na plataforma guardado como nome_do_ficheiro .
Obtemos, ento, o exemplar do teste que se segue:
Anlise Matemtica II
Exame A
Durao: 2h. Apresente todos os
clculos efetuados.
21 de Maio de 2013
52
q(x)
f (x, y)dydx,
3
p(x)
x2
g(x)
x1
(x,y)
dz,
dy
dx
I=
f (x)
(x,y)
z=
x2 +y 2 , 3
x2 +y 2 6
53
54
Captulo 3
Exemplos mais complexos
3.1
Matemtica
3.2
55
56
Captulo 4
Verificao automtica de exerccios
57
58
Captulo 5
Sistemas de ensino
59
60
Anexo A: LATEX
O que o LATEX?
O TEXfoi criado por Donald Knuth em 1977 com o objetivo de gerar documentos
com um layout agradvel. uma linguagem de programao no sentido em
que suporta instrues do tipo if-then-else e outras, no tem bugs, corre em
todos os tipos de computadores mas difcil de usar, requerendo bastante tempo
de aprendizagem. Para obter uma soluo mais amigvel o melhor pensar no
LATEX.
O LATEX uma liguagem de programao que contm uma srie de comandos
TEX. Assim sendo, fazer um documento em LATEX essencialmente construir um
programa, o qual depois de compilado nos d o texto que desejamos.
Convm notar que quando preparamos um texto em LATEX, no estamos perante um programa tipo Microsoft Word onde aquilo que se escreve aquilo que
se obtm (what you see is what you get - WYSIWYG) aquando da impresso
do documento. H ainda a necessidade de saber uma srie de comandos LATEX
para conseguir gerar um texto corretamente. Tendo dito isto h, no entanto, um
conjunto de vantagens inquestionveis uma vez passada a fase de aprendizagem.
Em primeiro lugar e falando da ltima desvantagem, convm dizer que nem disso
se trata, uma vez que devido a ampla utilizao do LATEX pela comunidade cientfica, existem disponveis na internet imensas macros j programadas que ensinam
o utilizador a aprender por analogia. Vamos mencionar mais algumas vantagens
no processamento de texto usando LATEX. Um documento LATEXest em formato
de texto, podendo ser lido ou editado por qualquer editor de texto. A estrutura e
opes como fontes, tamanho das fontes, etc., dum documento LATEX visvel ao
utilizador, e pode ser facilmente alterada. Algumas vezes, em alguns programas
WISIWYG, pode ser bastante difcil proceder a alteraes uma vez que tem que
se passear por inmeros menus que ainda por cima mudam de stio de verso para
verso. As frmulas matemticas em LATEX so facilmente editadas no havendo
a necessidade de ter que andar a passear de menu em menu. A numerao de
61
62
63
64
Escrever em LATEX
Nesta seco vamos apresentar um pequeno resumo dos principais comandos
LATEX que permitem escrever texto ou matemtica em LATEX. No se pretende,
com isto, que o leitor consiga utilizar todas as potencialidades do LATEX. Estas
podem ser adquiridas lendo alguma bibliografia adequada, como a j referida
anteriormente ou, talvez mais eficientemente, fazendo pesquisas na internet. O
LATEX vastamente utilizado na comunidade cientfica e, como tal, h inmeros
documentos disponveis na internet que permitem aprender a fazer quase tudo.
Para alm disso existem ainda inmeros documentos com macros que simplificam
em muito a vida do utilizador de LATEX.
65
percorrer exaustivamente todos os comandos LATEX que permitem o autor escrever matemtica. Vamos falar nalguns desses comandos, podendo o utilizador
facilmente apreender os outros atravs de bibliografia adequada ou pesquisas na
internet.
Comecemos por algo muito simples: como escrever em LATEX uma frao, por
numerador
. Para tal o comando LATEX dever ser:
exemplo, denominador
\frac{numerador}{denominador}
Para escrever uma raiz quadrada do nmero n, o comando ser \sqrt{n}. Para
elevar um nmero a uma potncia p, numerop , dever escrever: numero{p}.
Para escrever a frmula resolvente das razes da equao ax2 + bx + c = 0, o
comando LATEX seria:
\begin{equation}
x=\frac {-b \pm \sqrt {b{2}-4ac}}{2a}
\end{equation}
Existem muitos outros comandos LATEX para escrever matemtica. Deixamos
mais dois exemplos.
Rb
Para escrever a f (x)dx, o comando LATEX poderia ser $\int_{a}{b}f(x)dx$.
20
P
Para escrever
Ki o comando LATEX poderia ser $\sum\limits_{i=1}{20}K_i$.
i=1
Igualmente til poder ser incluir uma figura, por exemplo, num ficheiro
fig.png centrada com altura de 5 cm. Para o conseguir poder escrever:
\begin{f igure}
\centering
\includegraphics[totalheight=5cm]{fig.png}
\end{figure}
66
Anexo B: TikZ
TikZ um programa que permite construir grficos em LaTeX. Nesta seco
apresenta-se uma breve descrio deste programa.
Para criar um ficheiro em LaTeX com grficos feitos em TikZ so utilizados
os comandos seguintes
1
2
3
4
5
6
7
8
9
10
11
\documentclass{article}
\usepackage{tikz}
\begin{document}
...
\begin{tikzpicture}
...
\end{tikzpicture}
...
\tikz ...
...
\end{document}
67
68
\begin{tikzpicture}
\draw[dotted] (0,1) -- (6,1);
\draw[dashed] (0,0) -- (6,0);
\end{tikzpicture}
Para desenhar setas basta acrescentar a forma da seta, por exemplo ->, ao
comando que desenha a linha do seguinte modo: \draw[->] (a,b) -- (c,d);.
A seguir apresentam-se alguns exemplos de setas:
1
2
3
4
5
6
\begin{tikzpicture}
\draw[dotted,|->] (0,3) -- (6,3);
\draw[dashed,|<->|] (0,2) -- (6,2);
\draw[|->>] (0,1) -- (6,1);
\draw[->,dashed] (0,0) -- (6,0);
\end{tikzpicture}
Formas geomtricas
Para desenhar quadrados, retngulos, tringulos, circunferncias e outras formas
geomtricas pode utilizar-se o comando \draw juntamente com comandos predefinidos que definem a forma geomtrica: rectangle, circle, ellipse. Outras
formas, por exemplo tringulos, podem ser simplesmente construdas indicando
os vrtices e unindo os vrtices com linhas. A instruo \filldraw preenche uma
forma geomtrica com uma cor. A seguir apresentam-se exemplos da aplicao
destes comandos.
O seguinte quadrado e o seguinte retngulo
69
\begin{tikzpicture}
\filldraw[gray] (0,0) rectangle (2,2);
\draw (3,0) rectangle (7,2);
\end{tikzpicture}
Para desenhar um quadrado ou um retngulo, basta definir os pontos inferior esquerdo (a, b) e superior direito (c, d) na instruo \draw (a,b) rectangle (c,d);.
Um tringulo pode ser obtido a partir de
\draw (0,0) -- (5,0) -- (2.5,2.5) -- (0,0);:
e \draw (0,0) ellipse (1 and 0.5); desenha uma elipse, em que o eixo maior
tem comprimento 1 (cm) e o eixo menor 0.5 (cm).
Coordenadas polares
Nos exemplos anteriores os pontos esto especificados em coordenadas cartesianas
usando a notao (x,y), mas tambm possvel especificar pontos e construir
70
\begin{tikzpicture}
\draw[thick] (0,0) -- (1,0);
\draw (0,0) -- (90:1);
\draw[thick,gray] (0,0) -- (180:1);
\draw[thick,dashed] (1,0) arc (0:90:1);
\draw[thick,gray] (0,1) arc (90:180:1);
\end{tikzpicture}
Legendas
Para acrescentar legendas a figuras utiliza-se a instruo
\node at (x,y) [localizao] {$legenda$};
indicando o ponto (x, y) onde se pretende inserir uma legenda e a localizao da
legenda em relao a esse ponto, que pode ser right, left, below ou above.
Vejam-se, para tal, os exemplos seguintes:
1
2
3
4
5
6
7
8
\begin{tikzpicture}
\draw (0,0) -- (2,2);
\node at (0,0) [left] {$(0,0)$};
\node at (2,2) [right] {$(2,2)$};
\filldraw[black] (0,0) circle (0.8pt);
\filldraw[black] (2,2) circle (0.8pt);
\draw (6,0) rectangle (8,2);
\end{tikzpicture}
(2, 2)
(0, 0)
71
\begin{tikzpicture}
\draw[->](-5,0)--(5,0) node[right]{$x$};
\draw[->](0,-5)--(0,5) node[above]{$y$};
\foreach \x/\xtext in {-3,-1,1,3}
\draw[shift={(\x,0)}] (0pt,0.3pt) -- (0pt,-0.3pt) node[below] {$\scriptstyle \xtext$};
\foreach \y/\ytext in {-3,-1,1,3}
\draw[shift={(0,\y)}] (0.3pt,0pt) -- (-0.3pt,0pt) node[left] {$\scriptstyle \ytext$};
\foreach \x in {-4,...,4}
\draw (\x cm,-1pt) -- (\x cm,1pt);
\foreach \y in {-4,...,4}
\draw (-1pt,\y cm) -- (1pt,\y cm);
\end{tikzpicture}
y
3
1
3
1
1
As instrues nas linhas 4 7 servem para escrever valores nos eixos, neste caso
3, 1, 1, 3, e com as instrues nas linhas 8 11 so apresentadas marcas nos
dois eixos que correspondem aos valores inteiros no intervalo de 4 a 4.
No exemplo que se segue, apresenta-se uma circunferncia de centro (2, 2) e
raio 1 num sistema de coordenadas cartesianas (x, y).
1
2
3
\begin{tikzpicture}
\draw[->](-1,0)--(4,0) node[right]{$x$};
\draw[->](0,-1)--(0,4) node[above]{$y$};
72
4
5
6
7
8
9
10
11
12
13
14
15
y
3
2
(2,2)
1
\begin{tikzpicture}
\draw[->,thick] (-2.1,0) -- (2.4,0) node[right] {$x$};
\draw[->,thick] (0,-1.1) -- (0,2.4) node[above] {$y$};
\draw (-1.5,2.25) parabola bend (0,0) (1.5,2.25);
\node at (1.3,1.3) [right] {$\scriptstyle y=x^2$};
\foreach \x in {-2,-1,1,2}
\draw (\x,-.1) -- (\x,.1) node[below=4pt] {$\scriptstyle\x$};
\foreach \y in {-1,1,2}
73
9
10
que devolve
y
2
y=x2
1
1
1
74
Captulo 6
Anexo C: Maxima
Funes
A funo ratsimp(f) simplifica a expresso f e todas as suas subexpresses,
apresentando o resultado de forma racional.
Por exemplo, a partir de
!
p
(x 1)3/2 (x 1)(x + 1)
p
ratsimp
;
(x 1)(x + 1)
2 x1
obtm-se 2
, o resultado de
x 1
1
ratsimp 1 +
;
x
x+1
e
aparece como quociente de dois polinmios:
x
3
4
ratsimp
;
2
5
23
simplifica a expresso, apresentando o resultado
.
10
A funo expand(f) expande a expresso f , calculando o produto de somas
de expresses.
Por exemplo,
expand((1+x+x^2)*(1-y));
75
76
devolve x2 y xy y + x2 + x + 1.
A funo taylor(f, x, a, n) determina a srie de Taylor de ordem n da
funo f de varivel x no ponto a.
Por exemplo,
taylor(exp(x), x, 0, 4);
2
devolve 1 + x + x2 + x6 + x24 .
Para calcular a srie de Taylor de uma funo de vrias variveis x1, x2, ...
utiliza-se
taylor(f, [x1,x2,...], a, n);.
Neste contexto, pode ser til utilizar o comando
1
powerdisp:true\$
que inverte a ordem da soma num polinmio para que as variveis sejam ordenadas
por ordem crescente nos expoentes.
A funo diff(f, x, n) calcula a derivada de ordem n da funo f em
relao varivel x. Escrevendo, por exemplo,
diff(sin(3*x*y)+x^4*y^2+y,x,1),
obtm-se 3y cos(3xy) + 4x3 y 2 .
A funo integrate(f,x) calcula o integral indefinido da funo f em ordem
varivel x. Por exemplo,
integrate(sqrt(x+1),x)
3
2
devolve (x + 1) 2 .
3
Para calcular o integral definido da funo f em ordem varivel x, com
limites de integrao a e b, utiliza-se integrate(f,x,a,b).
Escrevendo
integrate(x^2,x,1,2),
obtm-se
7
.
3
77
Operadores
Operador de igualdade
Em MAXIMA, o operador de igualdade representado pelo smbolo =.
Atribuio de variveis
Para atribuir variveis utiliza-se o operador :. Por exemplo, para atribuir o
valor 3 varivel a e o valor 2 varivel b escreve-se
a:3;b:2;
Executando, depois,
a+b;
obtm-se 5.
Definio de funes
O operador := permite definir funes da seguinte forma. Por exemplo, querendo definir as funes f (x) = x + 2 e g(x) = x2 e calcular os valores das funes
para x = 3 aciona-se
f(x):=x+2;
g(x):=x^2;
f(3);
g(3);
As duas ltimas instrues devolvem 5 e 9, respetivamente. Escrevendo, por
exemplo, f(x)+g(x); obtm-se x^2+x+5.
Neste contexto, pode ser til a aplicao do operador . Quando este operador aplicado a um comando, a expresso da entrada (funo ou valor numrico)
substituda na expresso do comando. Por exemplo, para calcular a derivada
de uma funo que j foi definida anteriormente, efetua-se
dg(x):=(diff(g(x),x,1));
dg(3);
78
Bibliografia
[1] Amruth, N. K. (2005). Generation of problems, answers, grade and feedback
case study of a fully automates tutor in Journal on Educational Resources
in Computing (JERIC), Vol. 5, Issue 3, setembro, artigo no 3.
[2] Baudisch, D., Gesell, M. & Schneider, K. (2009). Online exercise system A
Web-based tool for Administration and Automatic Correction of Exercises,
in Cordeiro, J. A. M., Shishkov, B., Verbraeck, A. & Helfert, M. (eds.),
Computer Supported Education (CSEDU). Lisboa, pp. 104-110.
[3] Belmonte, M. V., Guzmn, E., Mandow, L., Milln, E. & Cruz, J. L. Prez
de la (2002). Automatic Generation of Problems in Web-based Tutors, in
Jain, L. C., Howlett, R. J., Ichalkaranje, N. S. & Tonfoni, G. (eds.), Virtual
Environments for Teaching & Learning. World Scientific Publishing, Series
on Innovative Intelligence 1, pp. 237281.
[4] Dettori, G., & Persico, D. (2011). Fostering Self-Regulated Learning through
ICT. Institute for Education Technology-National Research Council, Italy.
[5] Guerman, A., Santos, C., Costa, R., Raposo, A., Mendona, A. & Lopes, C.
(2007). Plataforma SEMENTE: Tecnologias de Informao para o Ensino na
UBI. In Proceedings of the Engenharias07 Inovao & Desenvolvimento
Conference. Covilh, 2123 November.
[6] Gurtovoi, A., Guerman, A. & Santos, C. (2005). Sistema de Ensino Baseado
no Computador: Gerador Automtico dos Exerccios. In Proceedings of the
Engenharia2005 Inovao e Desenvolvimento Conference. Covilh, 2123
November.
[7] Pereira, R. M. S., Brito, I., Machado, G. Q., Malheiro, T., Vaz, E., Flores,
M., Figueiredo, J., Pereira, P. & Jesus, A. (2010). New e-learning objects for
79
80
BIBLIOGRAFIA
the Mathematics courses from Engineering degrees: Design and Implementation of Question Banks in Maple T.A. using LaTeX. International Journal
of Education and Information Tecnologies, Vol. 4, pp. 714.