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

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