Teste de Avaliação

De GNU Octave
Revisão em 16h23min de 27 de janeiro de 2013 por Jgrocha (Discussão | contribs)

(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Ir para: navegação, pesquisa

Pergunta 1: Escolha Múltipla

Considere a seguinte expressão matemática, onde os ângulos estão em graus:


\frac{tan(45)}{sin(60)}

Identifique as expressões do Octave que calculam corretamente a expressão dada.

  1. tan(45*pi/180)/sin(60*pi/180)
  2. tan(45)/sin(60)
  3. tan(45/sin(60))
  4. tan(45*pi/180/sin(60*pi/180))

Nota: No teste haviam várias expressões trigonométricas diferentes, mas todas com os ângulos em graus, pelo que seria sempre necessário converter para radianos.

Pergunta 2: Preencha os Vários Espaços em Branco

Insira as expressões Octave em falta.

Considere um vetor d com os números de 30 a 11, que pode ser escrito como d= ?

d = 30:-1:11
d = fliplr(11:30)
d = [30   29   28   27   26   25   24   23   22   21   20   19   18   17   16   15 14   13   12   11]

A matriz D cuja diagonal são os elementos de d, pode ser escrita como D= ?

D = diag(d)

Uma matriz de 20x20, só com 5 na diagonal pode ser escrita como M= ?

M = eye(20)*5

e o produto de ambas as matrizes é dado por P= ?

P = D*M
P = M*D

Pergunta 3

Considere os vetores definidos em rio.m.

Depois de descarregar e guardar o ficheiro, leia o seu conteúdo com o comando:

load rio.m

Faça um gráfico usando o comando plot, com as seguintes características:

  • O eixo dos X deverá ser o intervalo 1 a 12 (meses do ano)
  • No eixo dos Y deverá mostrar as temperaturas máximas, a vermelho
  • No eixo dos Y deverá também mostrar as temperaturas médias, a amarelo
  • No eixo dos Y deverá também mostrar as temperaturas mínimas, a azul
  • O título do gráfico deverá ser: Temperaturas no Rio de Janeiro
  • A legenda no eixo dos Y deverá ser: Graus Celsius
  • A legenda no eiso dos X deverá ser: Meses do ano

Responda a esta pergunta enviando o gráfico obtido.

Para tal, use as teclas Alt+Print Screen para capturar a janela com o gráfico. Depois, usando o Paint, faça paste dessa janela para esta aplicação.

Grave a imagem no formato .jpg e envie a mesma.

meses = 1:12;
plot(meses, max, 'r', meses, med, 'y', meses, min, 'b')
title("Temperaturas no Rio de Janeiro")
ylabel("Graus Celsius")
xlabel("Meses do ano")

Figure 1 Temperaturas.png

Pergunta 3

Considere os vetores definidos em lisboa.m.

Depois de descarregar e guardar o ficheiro, leia o seu conteúdo com o comando:

load lisboa.m

Faça um gráfico usando o comando plot, com as seguintes características:

  • O eixo dos X deverá ser o intervalo 1 a 12 (meses do ano)
  • No eixo dos Y deverá mostrar as temperaturas máximas, a vermelho
  • No eixo dos Y deverá também mostrar as temperaturas médias, a amarelo
  • No eixo dos Y deverá também mostrar as temperaturas mínimas, a azul
  • O título do gráfico deverá ser: Temperaturas em Lisboa
  • A legenda no eixo dos Y deverá ser: Graus Celsius
  • A legenda no eiso dos X deverá ser: Meses do ano

Responda a esta pergunta enviando o gráfico obtido.

Para tal, use as teclas Alt+Print Screen para capturar a janela com o gráfico. Depois, usando o Paint, faça paste dessa janela para esta aplicação.

Grave a imagem no formato .jpg e envie a mesma.

meses = 1:12;
plot(meses, max, 'r', meses, med, 'y', meses, min, 'b')
title("Temperaturas em Lisboa")
ylabel("Graus Celsius")
xlabel("Meses do ano")

Figure 1 Temperaturas Lisboa.png

Pergunta 4: Celsius para Fahrenheit

Defina uma função chamada fahrenheit que, dada uma temperatura em graus celsius, calcula a correspondente temperatura em graus Fahrenheit.

Consultar fórmula de conversão na Wikipédia: °F = °C × 1,8 + 32

function fahr = fahrenheit(celcius)
fahr = celcius*1.8+32;

O ficheiro de resposta seria fahrenheit.m.

Pergunta 4: Celsius para Kelvin

Defina uma função chamada kelvin que, dada uma temperatura em graus celsius, calcula a correspondente temperatura em graus Kelvin.

Consultar fórmula de conversão na Wikipédia: K = °C + 273,15

function f=kelvin(c)
f = c+273.15;

O ficheiro de resposta seria kelvin.m.

Pergunta 5: Precipitacao diária

Escreva uma função precipitacaomedia que, dado um vetor com os valores de precipitacao para os 12 meses do ano, calcule a média da precipitação diária, para cada um dos meses, atendendo ao número de dias de cada mês, para o ano de 2012. A função recebe um vetor e devolve também um vetor com o mesmo número de elementos.

2012 é um ano bissexto, logo Fevereiro tem 29 dias.

Cálculos preliminares:

>>> dias = [31 29 31 30 31 30 31 31 30 31 30 31]
dias =
   31   29   31   30   31   30   31   31   30   31   30   31
>>> sum(dias)
ans =  366
>>>

A soma dos dias corresponde a um ano bissexto, como se esperava.

function media = precipitacaomedia(chuva)
dias = [31 29 31 30 31 30 31 31 30 31 30 31];
media = chuva ./ dias;

O ficheiro de resposta seria precipitacaomedia.m.

Pergunta 5: Temperatura média

Defina uma função chamada mediatemperaturas que, dadas as temperaturas máximas e mínimas para os 12 meses do ano, dá a média das mesmas para cada um dos meses. A função recebe dois vetores, de dimensão 12, e calcula 1 vetor com a mesma dimensão dos vetores dados.

function med=mediatemperaturas(max, min)
med = min + (max-min)/2

O ficheiro de resposta seria mediatemperaturas.m.

Pergunta 6

Escreva uma script Octave que leia a idade e em função disso, calcule a Função Cardíaca Máxima (FCmax) dada pela fórmula:


\mbox{FC}_\mbox{max} = 211 - (0,64 \times \mbox{idade})

# fcmax.m
# script octave
# calcula a FC máxima, consoante a idade
idade = input("Qual a idade?\n");
resultado = 211-(0.64*idade);
printf("A Função Cardíaca Máxima é de %.0f bpm para uma pessoa de %d anos\n", resultado, idade);

Esta script está disponível para download em fcmax.m

Pergunta 6

Numa prova de 10km, dado o tempo de uma atleta dividido em horas, minutos e segundos, calcule a velocidade que média do atleta em Km/h. Exemplo, se o atleta demorar 1 hora, 0 minutos e 0 segundos, a velocidade é de 10km/h. Escreva uma script Octave para o efeito.

# script octave
# calcula a velocidade media de um atleta numa prova de 10 km, dado o tempo de prova dividido em horas, minutos e segundos
horas = input("Qual as horas que o atleta demorou?\n");
minutos = input("Qual os minutos que o atleta demorou?\n");
segundos = input("Qual os segundos que o atleta demorou?\n");
distancia = 10;
tempo = horas + minutos/60 + segundos/3600;
vel = distancia / tempo;
printf ("A velocidade é %.2g Kilometros/hora\n", vel);

Esta script está disponível para download em k10.m