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.

Entradas relacionadas: