Exercícios Práticos de Octave: Prova 18/04/2017
Classificado em Tecnologia
Escrito em em português com um tamanho de 3,59 KB.
Prova Prática - 18/04/2017
Exercício 1
A
A = 12:2:90;
disp(A);
j = 1;
for i = 12:2:90
if (floor(sin(i)) == 0)
B(1, j) = i;
j = j + 1;
end
end
disp("----------B----------");
disp(B);
Exercício 2
A = [0 2 5 8 9];
B = [2 3 5];
U = [0 1 2 3 4 5 6 7 8 9];
disp("----------A----------");
compA = setdiff(U, A);
disp(["Cardinalidade: " + string(length(compA))]);
disp("----------B----------");
conjunto = intersect(setdiff(union(A, B), intersect(A, B)), U);
disp(conjunto);
Exercício 3
A
function y = u(n)
y = ((n^2) + n) / 2;
endfunction
disp(u(4));
B
resultado = 0;
n = 1;
while (resultado < 9870)
resultado = u(n);
n = n + 1;
end
if (resultado == 9870)
disp(["9870 é um número triangular na posição: " + string(n)]);
else
disp("9870 não é um número triangular");
end
Exercício 4
function y = salario(n)
y = 600 * (1.05 .^ n);
endfunction
anos = 1:1:15;
scf(1);
plot(anos, salario(anos)', 'r+');
xtitle("Função polinomial f", "Eixo dos xx", "Eixo dos yy");
legend("Salário");
TESTE_EI_1
1
a)
function e = conjA(n)
e = 5 * n;
endfunction
for i = 1:99
A(i) = conjA(i);
end
disp(string(A));
b)
n = 0;
for i = 1:99
if (pmodulo(A(i), 3) == 1) then
n = n + 1;
B(n) = A(i);
end
end
disp(["Conjunto B: " + string(B)]);
2
A = [0, 1, 2, 4, 8];
B = [3, 5];
C = [4, 6, 8];
a)
disp(string(length(intersect(A, C))));
b)
difSim = setdiff(union(A, union(B, C)), intersect(A, union(B, C)));
disp(string(difSim));
3
a)
MR = [1, 1, 0, 0;
1, 0, 1, 0;
0, 1, 1, 0;
0, 0, 1, 0];
b)
RaposR = MR * MR;
for a = 1:4
for j = 1:4
if RaposR(a, j) > 1
RaposR(a, j) = 1;
end
end
end
disp("Matriz RaposR");
disp(string(RaposR));
c)
function matrizSimetrica = fsimetrico(M)
cont = 0;
contNaoNulos = 0;
for i = 1:size(M, "r")
for j = 1:size(M, "c")
if M(i, j) == 1 then
contNaoNulos = contNaoNulos + 1;
end
if M(i, j) == 1 && M(j, i) == 1 then
matrizSimetrica(i, j) = 1;
matrizSimetrica(j, i) = 1;
cont = cont + 1;
else
matrizSimetrica(j, i) = 0;
matrizSimetrica(i, j) = 0;
end
end
end
if cont == contNaoNulos then
disp("A matriz é simétrica.");
else
disp("A matriz não é simétrica.");
end
endfunction
OMS = [1, 1, 1, 0;
1, 1, 0, 0;
1, 0, 1, 0;
0, 0, 0, 1];
disp(fsimetrico(OMS));
d)
matrizSimetrica = fsimetrico(RaposR);
disp(matrizSimetrica);
4
a)
x = 1:20;
soma = 0;
soma = soma + (1/2)^x;
plot(x, soma);
b)
function soma = Z(n)
soma = 0;
for i = 1:n
soma = soma + (1/2)^i;
end
endfunction
n = 1;
while (Z(n) - Z(n - 1)) > 10^-10
n = n + 1;
end
disp(n);
Observação: O código original continha várias repetições e trechos comentados. A estrutura foi reorganizada para melhor clareza e legibilidade, removendo as redundâncias e comentários desnecessários. As funções foram mantidas para preservar a lógica original.