Diferenças entre edições de "Teste de Avaliação de 5 de novembro"

De GNU Octave
Ir para: navegação, pesquisa
 
(Há 5 edições intermédias do mesmo utilizador que não estão a ser apresentadas)
Linha 36: Linha 36:
 
# <span style="color: red;">63 minutos (1h03)</span>
 
# <span style="color: red;">63 minutos (1h03)</span>
 
# <span style="color: red;">69 minutos (1h09)</span>
 
# <span style="color: red;">69 minutos (1h09)</span>
 +
 +
==== Pergunta 3 (Escolha múltipla): Vetores em Octave ====
 +
 +
Considere o vetor notas que está armazenado no documento [http://octave.di.uminho.pt/images/files/ocv.m ocv.m] que está na pasta http://octave.di.uminho.pt/images/files/
 +
 +
É um vetor com as notas do ano passado da disciplina de informática, e contém valores inteiros, entre 0 e 20. Depois de o descarregar, leia o documento com o comando:
 +
 +
<syntaxhighlight>
 +
load ocv.m
 +
</syntaxhighlight>
 +
 +
Automaticamente é recuperada a variável <syntaxhighlight enclose="none">notas</syntaxhighlight>.
 +
 +
Quantos alunos tiveram uma nota igual ou superior a 10 valores?
 +
 +
# <span style="color: green;">32</span>
 +
# <span style="color: red;">28</span>
 +
# <span style="color: red;">30</span>
 +
# <span style="color: red;">34</span>
 +
 +
==== Pergunta 4 (Escolha múltipla): Matrizes ====
 +
 +
Queremos uma matriz de 20 por 20, com tudo a 3, excepto na diagonal, onde queremos todos os valores a zero.
 +
 +
Um extrato da matriz seria:
 +
 +
<math>
 +
M =
 +
\begin{bmatrix}
 +
  0 & 3 & \cdots & 3 \\
 +
  3 & 0 & \cdots & 3 \\
 +
  \vdots  & \vdots  & \ddots & \vdots  \\
 +
  3 & 3 & \cdots & 0
 +
\end{bmatrix}
 +
</math>
 +
 +
Que comando usaria para geral esta matriz?
 +
 +
# <span style="color: green;">ones(20)+2-eye(20)*3</span>
 +
# <span style="color: red;">(ones(3)-eye(3))*20</span>
 +
# <span style="color: red;">ones(20)+3-eye(2)*-3</span>
 +
# <span style="color: red;">ones(20,20)*3-eye(20)*2</span>
 +
 +
==== Pergunta 5 (Enviar programa): Desenvolver programa com strings ====
 +
 +
Uma sequência de DNA é uma série de letras representando a estrutura primária de uma molécula ou cadeia de DNA.
 +
 +
As letras possíveis são A, C, G e T, representando os quatro nucleotídeos (subunidades) de uma cadeia de DNA – as bases adenina, citosina, guanina e timina.
 +
 +
As sequências são escritas, sem espaços, como por exemplo: AAAGTCTGAC.
 +
 +
Escreva um programa <code>numeroocorrencias.m</code> que:
 +
 +
*leia uma sequencia de DNA
 +
* uma letra representando um dos nucleotídeos
 +
e responda com:
 +
* o número de ocorrências desse nucleotídeo na sequência.
 +
 +
Exemplo:
 +
Dada a sequência '''AAAGTCTGACAAAGTCTGAC''', e a letra '''T''', o programa deveria indicar que a mesma ocorre '''4''' vezes.
 +
 +
Nota: Tem que enviar o documento <code>numeroocorrencias.m</code> (com a extensão .m). Se enviar um documento com outra extensão (.doc, .txt ou outra qualquer) a resposta não será avaliada.
 +
 +
<syntaxhighlight>
 +
# calcular numero de ocorrencias numa string
 +
# ler:
 +
#  sequencia
 +
#  letra
 +
# Apresenta:
 +
#  numero de ocorrencias
 +
seq = input("Qual sequencia? ", "s");
 +
seqaux = lower(seq);
 +
letra = input("Qual letra? ", "s");
 +
letraaux = lower(letra);
 +
num = length(seqaux(seqaux == letraaux));
 +
printf("A letra %s ocorre %d vezes na sequencia %s.\n", letra, num, seq);
 +
</syntaxhighlight>
 +
 +
O programa está disponível em [http://octave.di.uminho.pt/images/files/numeroocorrencias.m numeroocorrencias.m].
 +
 +
Esta versão contempla o cálculo de ocorrências, independentemente se a sequência ou a letra estão ou não em maiúsculas. ''A resposta no teste poderia ser mais simples.''
 +
 +
==== Pergunta 6 (Enviar programa): Corrigir programa que calcula preço com IVA ====
 +
 +
Pretende-se calcular o preço final ao cliente, sabendo o preço sem IVA e a respetiva taxa do IVA. Por exemplo, se o preço base de um artigo for 100,00 €, com uma taxa de IVA de 23% o artigo ficará por 123,00 € ao cliente. Se for um produto alimentar que custe 5,00 €, com uma taxa de IVA de 13%, o mesmo ficará por 5,65 € ao cliente.
 +
 +
Para tal, já se escreveu um programa chamado [http://octave.di.uminho.pt/images/files/calculaprecocomiva.m calculaprecocomiva.m] mas apresenta alguns erros. Depois de corrigidos os erros, envie o programa a funcionar corretamente.
 +
 +
O programa está na pasta: http://octave.di.uminho.pt/images/files/
 +
 +
Grave-o com a extensão .m na pasta onde está a trabalhar com o Octave.
 +
 +
Nota: Tem que enviar o documento <code>calculaprecocomiva.m</code> (com a extensão .m). Se enviar um documento com outra extensão (.doc, .txt ou outra qualquer) a resposta não será avaliada.
 +
 +
<syntaxhighlight>
 +
# dado um valor e a taxa de IVA, calcula o total
 +
# o IVA pode ser 6, 13 ou 23
 +
valor = input("valor?");
 +
taxa = input("taxa?");
 +
# total = valor*(1+taxa/100);
 +
total = valor + valor*taxa/100;
 +
printf("%.2f com uma taxa de IVA de %d%% resulta em %.2f\n", valor, taxa, total);
 +
</syntaxhighlight>
 +
 +
O programa está disponível em [http://octave.di.uminho.pt/images/files/calculaprecocomiva.m calculaprecocomiva.m].

Edição atual desde as 11h14min de 12 de novembro de 2013

Pergunta 1 (Escolha múltipla): Transcrever uma fórmula para Octave

Um sistema é formado por uma mola pendurada verticalmente suportando um bloco de massa (m) 5kg. Sabendo que a constante k da mola é de 4.0284 N/m, calcule o período (T) ao fim do qual o sistema repete o seu movimento.

O período é dado pela fórmula:


T = 2 \pi \sqrt{\frac{m}{k}}

Qual o valor de T?

  1. 7
  2. 5
  3. 6
  4. 8

Pergunta 2 (Escolha múltipla): Cálculos simples em Octave

Em informática, o tamanho dos programas, imagens, músicas, etc, é geralmente medido em múltiplos do byte. Por exemplo, o filme "Os instrumentos mortais" ocupa cerca de 2,8 GB (gigabyte).

No entanto, a velocidade de transmissão (através da internet) é geralmente medida em múltiplos do bit por segundo (e não byte por segundo). Um bit é a unidade mais pequena de armazenamento. O byte é constituído por 8 bits.

Sabendo que dispõe de uma ligação de banda larga à internet de 6947 Kbps (quilobits por segundo), diga quantos minutos precisaria para descarregar referido filme.

Lembre que:

  • 1 GB (gigabyte) = 1024 MB (megabyte)
  • 1 MB (megabyte) = 1024 KB (quilobyte)
  • 1 KB (quilobyte) = 1024 B (byte)
  • 1 B (byte) = 8 b (bit)


  1. 56 minutos
  2. 59 minutos
  3. 63 minutos (1h03)
  4. 69 minutos (1h09)

Pergunta 3 (Escolha múltipla): Vetores em Octave

Considere o vetor notas que está armazenado no documento ocv.m que está na pasta http://octave.di.uminho.pt/images/files/

É um vetor com as notas do ano passado da disciplina de informática, e contém valores inteiros, entre 0 e 20. Depois de o descarregar, leia o documento com o comando:

load ocv.m

Automaticamente é recuperada a variável notas.

Quantos alunos tiveram uma nota igual ou superior a 10 valores?

  1. 32
  2. 28
  3. 30
  4. 34

Pergunta 4 (Escolha múltipla): Matrizes

Queremos uma matriz de 20 por 20, com tudo a 3, excepto na diagonal, onde queremos todos os valores a zero.

Um extrato da matriz seria:


 M =
 \begin{bmatrix}
  0 & 3 & \cdots & 3 \\
  3 & 0 & \cdots & 3 \\
  \vdots  & \vdots  & \ddots & \vdots  \\
  3 & 3 & \cdots & 0
 \end{bmatrix}

Que comando usaria para geral esta matriz?

  1. ones(20)+2-eye(20)*3
  2. (ones(3)-eye(3))*20
  3. ones(20)+3-eye(2)*-3
  4. ones(20,20)*3-eye(20)*2

Pergunta 5 (Enviar programa): Desenvolver programa com strings

Uma sequência de DNA é uma série de letras representando a estrutura primária de uma molécula ou cadeia de DNA.

As letras possíveis são A, C, G e T, representando os quatro nucleotídeos (subunidades) de uma cadeia de DNA – as bases adenina, citosina, guanina e timina.

As sequências são escritas, sem espaços, como por exemplo: AAAGTCTGAC.

Escreva um programa numeroocorrencias.m que:

  • leia uma sequencia de DNA
  • uma letra representando um dos nucleotídeos

e responda com:

  • o número de ocorrências desse nucleotídeo na sequência.

Exemplo: Dada a sequência AAAGTCTGACAAAGTCTGAC, e a letra T, o programa deveria indicar que a mesma ocorre 4 vezes.

Nota: Tem que enviar o documento numeroocorrencias.m (com a extensão .m). Se enviar um documento com outra extensão (.doc, .txt ou outra qualquer) a resposta não será avaliada.

# calcular numero de ocorrencias numa string
# ler:
#  sequencia
#  letra
# Apresenta:
#  numero de ocorrencias
seq = input("Qual sequencia? ", "s");
seqaux = lower(seq);
letra = input("Qual letra? ", "s");
letraaux = lower(letra);
num = length(seqaux(seqaux == letraaux));
printf("A letra %s ocorre %d vezes na sequencia %s.\n", letra, num, seq);

O programa está disponível em numeroocorrencias.m.

Esta versão contempla o cálculo de ocorrências, independentemente se a sequência ou a letra estão ou não em maiúsculas. A resposta no teste poderia ser mais simples.

Pergunta 6 (Enviar programa): Corrigir programa que calcula preço com IVA

Pretende-se calcular o preço final ao cliente, sabendo o preço sem IVA e a respetiva taxa do IVA. Por exemplo, se o preço base de um artigo for 100,00 €, com uma taxa de IVA de 23% o artigo ficará por 123,00 € ao cliente. Se for um produto alimentar que custe 5,00 €, com uma taxa de IVA de 13%, o mesmo ficará por 5,65 € ao cliente.

Para tal, já se escreveu um programa chamado calculaprecocomiva.m mas apresenta alguns erros. Depois de corrigidos os erros, envie o programa a funcionar corretamente.

O programa está na pasta: http://octave.di.uminho.pt/images/files/

Grave-o com a extensão .m na pasta onde está a trabalhar com o Octave.

Nota: Tem que enviar o documento calculaprecocomiva.m (com a extensão .m). Se enviar um documento com outra extensão (.doc, .txt ou outra qualquer) a resposta não será avaliada.

# dado um valor e a taxa de IVA, calcula o total
# o IVA pode ser 6, 13 ou 23
valor = input("valor?");
taxa = input("taxa?");
# total = valor*(1+taxa/100);
total = valor + valor*taxa/100;
printf("%.2f com uma taxa de IVA de %d%% resulta em %.2f\n", valor, taxa, total);

O programa está disponível em calculaprecocomiva.m.