Diferenças entre edições de "Teste de Avaliação de 22 de janeiro"

De GNU Octave
Ir para: navegação, pesquisa
(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?

  1. 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);
  2. 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
  3. 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
  4. 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)
  1. Correta   1 1 2 3 5 8 13 21
  2. Errada   1 2 3 5 8 13 21 34
  3. Errada   1 2 3 4 5 6 7 8
  4. Errada   1 1 1 2 3 5 8 13


Pergunta 3 (Escolha múltipla): Gerar matriz

Considere a seguinte matriz:


 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}

Diga qual das seguintes expressões poderia ser utilizada para gerar a matriz C.

  1. Correta
    C = [3:3:27; repmat([-1 0 1], 1, 3); linspace(0, 2, 9)]'
  2. 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]
  3. 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');
  4. Errada
    [3:3:27; [-1 0 1 -1 0 1 -1 0 1]; 0:0.25:2]