Teste de Avaliação
Índice
Pergunta 1: Escolha Múltipla
Considere a seguinte expressão matemática, onde os ângulos estão em graus:
Identifique as expressões do Octave que calculam corretamente a expressão dada.
- tan(45*pi/180)/sin(60*pi/180)
- tan(45)/sin(60)
- tan(45/sin(60))
- 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")
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")
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:
# 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