Diferenças entre edições de "Teste de Avaliação de 22 de janeiro"
De GNU Octave
(→Pergunta 2 (Escolha múltipla): Sequência de Fibonacci) |
|||
Linha 109: | Linha 109: | ||
# <span style="color: red;">Errada</span><syntaxhighlight enclose="none"> 1 2 3 4 5 6 7 8</syntaxhighlight> | # <span style="color: red;">Errada</span><syntaxhighlight enclose="none"> 1 2 3 4 5 6 7 8</syntaxhighlight> | ||
# <span style="color: red;">Errada</span><syntaxhighlight enclose="none"> 1 1 1 2 3 5 8 13</syntaxhighlight> | # <span style="color: red;">Errada</span><syntaxhighlight enclose="none"> 1 1 1 2 3 5 8 13</syntaxhighlight> | ||
+ | |||
+ | |||
+ | ==== Pergunta 3 (Escolha múltipla): Gerar matriz ==== | ||
+ | |||
+ | Considere a seguinte matriz: | ||
+ | |||
+ | <math> | ||
+ | C = | ||
+ | \begin{pmatrix} | ||
+ | 3 & -1 & 0 \\ | ||
+ | 6 & 0 & 0.25 \\ | ||
+ | 9 & 1 & 0.5 \\ | ||
+ | 12 & -1 & 0.75 \\ | ||
+ | 15 & 0 & 1 \\ | ||
+ | 18 & 1 & 1.25 \\ | ||
+ | 21 & -1 & 1.5 \\ | ||
+ | 24 & 0 & 1.75 \\ | ||
+ | 27 & 1 & 2 | ||
+ | \end{pmatrix} | ||
+ | </math> | ||
+ | |||
+ | Diga qual das seguintes expressões poderia ser utilizada para gerar a matriz C. | ||
+ | |||
+ | # <span style="color: green;">Correta</span><syntaxhighlight>C = [3:3:27; repmat([-1 0 1], 1, 3); linspace(0, 2, 9)]'</syntaxhighlight> | ||
+ | # <span style="color: red;">Errada</span><syntaxhighlight>C = [3 -1 0; 6 0 0.25; 9 1 0.5; 12 -1 0.75; 15 0 1; 18 1 1.25; 21 -1 1.5; 24 0 1.25; 27 1 2]</syntaxhighlight> | ||
+ | # <span style="color: red;">Errada</span><syntaxhighlight>C1 = [3:3:27]; C2 = [-1 0 1 -1 0 1 -1 0 1]; C3 = 0:0.25:2; C = vertcat(vertcat(C1', C2'), C3');</syntaxhighlight> | ||
+ | # <span style="color: red;">Errada</span><syntaxhighlight>[3:3:27; [-1 0 1 -1 0 1 -1 0 1]; 0:0.25:2]</syntaxhighlight> |
Revisão das 15h45min de 4 de fevereiro de 2014
Pergunta 1 (Escolha múltipla): Gerar triângulos de pitágoras
O teorema de Pitágoras estabelece a seguinte propriedade: se os lados a e b de um triângulo formam um ângulo reto, então verifica-se que a²+b²=h², em que h é o lado oposto ao ângulo reto, designado hipotenusa.
Considere o seguinte algoritmo para gerar um triângulo de Pitágoras:
- Comece por um número ímpar, x.
- Seja y igual a esse número mais 2, sendo que y é também ímpar.
- Crie duas frações unitárias, com x e y no denominador (1/x e 1/y), e some-as.
- A fração obtida tem no numerador e no denominador os dois lados de um triângulo de pitágoras, a e b
- A hipotenusa ser calculada com a fórmula: h = √(a² + b²)
Este algoritmo pode ser ilustrado, começando por escolher 3
- x = 3
- y = 5
- 1/3 + 1/5 = 8/15
- a = 8 (numerador), b= 15 (denominador)
- h = √(8² + 15²) = 17
Resulta, nesta ilustração do algoritmo, o rectângulo com os lados 8, 15 e 17.
Diga qual dos seguintes programas melhor implementa o referido algoritmo?
- Correta
do x = input("Numero impar?"); until (rem(x, 2) != 0); y = x + 2; a = lcm(x,y)/x + lcm(x,y)/y; b = lcm(x,y); h = sqrt(a^2 + b^2); printf("O triangulo de pitagoras tem os lados %d, %d e %d\n", a, b, h);
- Errada
do x = input("Numero impar?"); until (rem(x, 2) != 0); do y = input("Numero impar?"); until (rem(y, 2) != 0); if (y-x != 2) disp("y tem que ser igual a x mais 2"); else a = lcm(x,y)/x + lcm(x,y)/y; b = lcm(x,y); h = sqrt(a^2 + b^2); printf("O triangulo de pitagoras tem os lados %d, %d e %d\n", a, b, h); endif
- Errada
x = input("Numero impar?"); y = input("Numero impar?"); if (y-x != 2 & rem(x,2)!= 0) disp("y tem que ser igual a x mais 2"); else n1 = lcm(x,y)/x; n2 = lcm(x,y)/y; a = n1 + n2; b = lcm(x,y); h = sqrt(a^2 + b^2); printf("O triangulo de pitagoras tem os lados %d, %d e %d\n", a, b, h); endif
- Errada porque a expressão rem(x,0) dá sempre x
x = input("Numero impar?"); y = x+2; if (rem(x,0)==0) disp("x tem que ser impar"); else mmc = lcm(x,y); a = mmc/x + mmc/y; b = mmc; h = sqrt(a^2 + b^2); printf("O triangulo de pitagoras tem os lados %d, %d e %d\n", a, b, h); endif
Pergunta 2 (Escolha múltipla): Sequência de Fibonacci
Considere a seguinte função que gera uma sequência de Fibonacci:
function f = fibonacci(n) f = zeros(n,1); f(1) = 1; f(2) = 1; for k = 3:n f(k) = f(k-1) + f(k-2); end endfunction
Diga qual das seguintes sequências é gerada com a invocação:
fibonacci(8)
- Correta 1 1 2 3 5 8 13 21
- Errada 1 2 3 5 8 13 21 34
- Errada 1 2 3 4 5 6 7 8
- Errada 1 1 1 2 3 5 8 13
Pergunta 3 (Escolha múltipla): Gerar matriz
Considere a seguinte matriz:
Diga qual das seguintes expressões poderia ser utilizada para gerar a matriz C.
- Correta
C = [3:3:27; repmat([-1 0 1], 1, 3); linspace(0, 2, 9)]'
- Errada
C = [3 -1 0; 6 0 0.25; 9 1 0.5; 12 -1 0.75; 15 0 1; 18 1 1.25; 21 -1 1.5; 24 0 1.25; 27 1 2]
- Errada
C1 = [3:3:27]; C2 = [-1 0 1 -1 0 1 -1 0 1]; C3 = 0:0.25:2; C = vertcat(vertcat(C1', C2'), C3');
- Errada
[3:3:27; [-1 0 1 -1 0 1 -1 0 1]; 0:0.25:2]