• Nenhum resultado encontrado

Informática para as Ciências e Engenharias - 2º semestre 2016/2017

N/A
N/A
Protected

Academic year: 2021

Share "Informática para as Ciências e Engenharias - 2º semestre 2016/2017"

Copied!
5
0
0

Texto

(1)

Informática para as Ciências e Engenharias - 2º semestre 2016/2017

1º Teste, 29 de Abril de 2017, 1h45m – versão B

ICE:______ Nome: ________________________________________________________________________________________ Nº ____________ Avisos: Sem consulta; a interpretação do enunciado é da responsabilidade do estudante; se necessário explicite na resposta a sua interpretação.

Questão 1 – 2,0 valores

Preencha a tabela seguinte, colocando na 2ª coluna a palavra: Correta: se na primeira coluna estiver uma instrução ou a assinatura de uma função sintaticamente correta na linguagem MATLAB; Incorreta: no caso contrário. Note que só importam os erros de sintaxe, pelo que o valor das variáveis é irrelevante nesta pergunta. v = vec[2,6,4,5] Incorreta i = 1; while i <= 100 i = i * 2; end Correta i + 2 = n; Incorreta v = 1 : 8 Correta y = g_5[x]; Incorreta

function x=fun ( a; b ) Incorreta

Questão 2 – 2,0 valores

Indique, no espaço ao lado, os valores das variáveis x, y, z e w após a execução de todas as seguintes instruções, pela ordem indicada.

x = sqrt(25) y = 3

z = (x-y)^ 3

y = z / (x + y)

w = [x+y , x-y ; y , z; 2*y, z-4] x = round(exp(log(x-1))

Questão 3 – 2,0 valores

Indique, no espaço ao lado, os valores das variáveis x, y e vec após a execução de todas as seguintes instruções, pela ordem indicada. vec = ones(1,4) vec(2) = 3*vec(1) x = vec(2) + vec(4) vec(1) = vec(end) + 3 y = vec(1:3) x = 4 y = 1 z = 8 w = [6 4 ; 1 8 ; 2 4] x = 4 y = [4 3 1] vec = [4 3 1 1]

(2)

Questão 4 – 2,0 valores

Assuma que a função func1 está implementada como se indica % mOut = func1(mat) % mat é uma matriz quadrada isto é com o mesmo número de linhas e colunas % Restante documentacao omitida.

function mOut = func1( mat ) col = size( mat, 1); mOut = zeros(col,col); for i = 1: col

mOut(i,i) = mOut(i,i) + mat(i,i); end end Suponha que guardamos o código acima indicado num ficheiro func1.m na diretoria em que o interpretador está a executar e que se dão os seguintes comandos no interpretador Octave: Prompt Octave> p = [ 1 2 3 ; 4 5 6 ; 7 8 9 ]; Prompt Octave> out = func1( p ) Qual é o conteúdo de out que o Octave mostra ?

Questão 5 – 1,0 valor

Indique, no espaço ao lado, os valores das variáveis s1, s2 e s3 após a execução de todas as seguintes instruções, pela ordem indicada. s1 = 'abcd' s2 = [s1(2:3), s1(2:4)] s3 = [s2(3), s2(1)]

Questão 6 – 2,0 valores

Considere a função func2 implementada da seguinte forma: % vout = func2(vec1, vec2) % vec1 e vec2 sao vectores com o mesmo numero de elementos % Restante documentacao omitida.

function res = func2( vec1, vec2 ) n = length(vec1);

k = 1;

while k <= n && vec1(k) != vec2(k) k = k + 1; end if k > n res = 0; else res = k; end end

Indique, na 2ª coluna da tabela abaixo, o resultado devolvido pelo interpretador quando recebe o comando referido na 1ª coluna func2( [ 3 4 5], [ 5 4 3] ) ans = 2 func2( [ 3 4 5], [ 6 7 8 ] ) ans = 0 s1 = ‘abcd’ s2 = ‘bcbcd’ s3 = ‘bb’ out = [1 0 0; 0 5 0; 0 0 9]

(3)

Questão 7 – 2,0 valores

Como sabe da trigonometria, o seno da soma de dois ângulos, α e β, pode ser obtido a partir dos senos e cosenos desses ângulos através da fórmula

sin(α + β) = sinα  cosβ  + cosα  sin β

Pretende-se que escreva uma função de nome senoSoma que dados dois ângulos, em radianos, calcule o seno da sua soma pela expressão anterior. Não esqueça que a função deve estar completa e documentada.

Questão 8 – 2,0 valores

Numa fábrica de placas de metal analisa-se a qualidade das placas produzidas através de medições da sua espessura em vários pontos, que são guardadas num vetor de medidas. O critério para decidir se uma placa é aceite é o de que no máximo 3 medições, tenham um valor superior ao valor máximo ou inferior ao valor mínimo de referência. Pretende-se que complete a função seguinte que faz a análise da qualidade de uma placa indicando se deve ser aceite ou rejeitada. (Nota: Para obter a cotação máxima nesta pergunta o seu código não deverá ter de percorrer todas as medições, parando quando puder tomar a decisão de rejeitar) % aceita = qualidadePlaca( medidas, espMin, espMax ) % Entrada: medidas é um vetor com a espessura de uma placa (em mm) em vários pontos % espMin e espMax são as espessuras de referencia % Saída: 1 se não mais de 3 medições estao fora do intervalo [espMin .. espMax] % 0 no caso contrário function aceita = qualidadePlaca( medidas ) end c = 0; i = 1;

while c < 3 && i <=length(medidas)

if medidas(i) < espMin || medidas(i) > espMax c = c + 1; end; i = i + 1; end if c <= 3 aceita = 1; else aceita = 0; end % s = senoSoma (alfa, beta) % Entrada: 2 números reais, alfa e beta, representando dois ângulos (em radianos) % Saída: o seno da soma dos ângulos alfa e beta function s = senoSoma(alfa, beta)

s = sin(alfa) * cos(beta) + cos(alfa) * sin(beta)

(4)

Questão 9 – 2 x 2,5 valores

a) Complete o código da função abaixo que, para um dado vetor de entrada, retorna dois números reais, tMin e tMed, representando, respectivamente o menor elemento e a média dos elementos do vetor. % [ tMin, tMed ] = func10(linha) % Entrada: linha é um vetor de números reais % Saída: tMin é o menor valor da linha % tMed é o valor médio dos elementos da linha function [tMin, tMed]= func10( linha) end b) Considere agora uma matriz temps, com m linhas e n colunas representando os valores das temperaturas medidas em várias localidades e em vários dias. Mais precisamente, temps(i,j) representa o valor da temperatura medida na localidade i ( 1 ≤ i ≤ m) no dia j ( 1 ≤ j ≤ n). A temperatura pode tomar qualquer valor real. No exemplo abaixo está representado o caso das medições em 5 localidades durante 7 dias. 25.0 11.2 13.0 16.7 22.5 18.6 17.4 15.5 21.1 20.1 16.9 12.6 16.0 29.3 22.4 12.5 14.1 21.0 29.0 17.5 15.5 25.2 20.2 20.8 24.0 22.6 21.8 15.6 10.4 25.6 13.8 29.3 25.9 17.9 23.0 Utilizando a função da alínea a) pretende-se determinar, para uma matriz temps como a ilustrada acima, qual a localidade com maior temperatura média no período de tempo representado na matriz. Note que deve completar a função que se mostra a seguir. Se não resolveu a alínea a) assuma na mesma que func10 está disponível e tem a assinatura referida na alínea a). % local = func11( temps ) % Entrada: temps é uma matriz de reais % Saída: local é o numero da linha com o maior valor médio function local = func11( temps ) end tMin = +Inf; soma = 0; for i = 1:length(linha) if linha(i) < tMin tMin = linha(i); end

soma = soma + linha(i); end

tMed = soma / length(linha);

n = size(temps,1); maxMed = -Inf for i = 1:n [tMin,tMed] = func10(temps(i,:)) if tMed > maxMed maxMed = tMed; local = i; end end

(5)

Referências

Documentos relacionados

M ATERIAIS RESTAURADORES DEFINITIVOS : RESINAS COMPOSTAS FOTOPOLIMERIZÁVEIS  Usadas para todas as classes de cavidades  Sistema de polimerização física-luz.  Compostas

SIEMPRE QUE LIMPIAR LAS COMPONENTES DE HORMIGÓN, QUITE LOS COMPONENTES METÁLICOS QUE PUEDEN ESTAR EXPUESTOS A AGUA, PARA QUE NO OXIDEN.. POR FAVOR, GUARDE ESTE ESQUEMA PARA FUTURA

[r]

O browser contacta a máquina com aquele endereço IP na porta 80 para o protocolo HTTP... World

•   Neste caso, se as strings não tiverem o mesmo comprimento, as mais pequenas são preenchidas com brancos.. Acesso

l  Propagar os focos do incêndio.. Para todas as células internas da matriz que estejam a arder. Nota: Não queremos propagar as da fronteira para evitar sair dos limites da

l  Os parâmetros da função são variáveis, separadas por vírgulas l  A variável nomeResultado, recebe o valor da função..

l  Pegar no pão l  Obter faca l  Cortar fatia.. l  Pôr na