Questões de Concurso Comentadas para professor - informática

Foram encontradas 1.670 questões

Resolva questões gratuitamente!

Junte-se a mais de 4 milhões de concurseiros!

Q2432597 Engenharia de Software

Em relação à UML (Linguagem de Modelagem Unificada), analise as afirmações a seguir.


I - Os Diagramas estruturais devem ser utilizados para especificar detalhes da estrutura do sistema e seus aspectos dinâmicos.

II - São Diagramas de Interação o Diagrama de Sequência e o Diagrama de Implantação.

III - Os diagramas comportamentais da UML demonstram os aspectos estáticos do sistema. Podem especificar os conceitos do negócio e seus relacionamentos e os estados, sequência de atividade e colaborações.


Está CORRETO o que consta em:

Alternativas
Q2432596 Arquitetura de Software

Em relação a Padrões de Projeto, analise as afirmações a seguir.


I - O padrão Abstract Factory é usado quando o sistema deve ser independente da maneira como seus produtos são criados, relacionados e representados.

II - Template Method tem por objetivo definir o esqueleto de um algoritmo em uma operação, postergando a definição de alguns passos para subclasses.

III - Strategy é um tipo de padrão estrutural.


Está CORRETO o que consta em:

Alternativas
Q2432595 Programação

Código fonte em Java para as questões 36 e 37.

import java.util.ArrayList;

public class MyTestef

public static void main(Stringl] args) 1

Stack s = new Stack();

s.push(1):

s.push(2):

s.push(3):

s.clear ();

s.push(4):

s.push(5):

s.push(6);

System.out.println(s);

}

private static class Stack extends ArrayList<Object>1

private int top = 0;

public void push(Object element){

add(top++, element);

}

public Object pop (){

return remove(--top);

}

}

}

O código implementa de uma estrutura de dados que estende uma classe concreta ArrayList para outra classe concreta Stack. A classe ArrayList possui alguns métodos como o add() (adiciona elementos na lista), o remove() (remove elementos da lista) e o clear() (que remove todos os elementos da lista).

Considere as afirmações relacionadas ao código fonte.


I – O método clear() não é executado porque ele não foi implementado na classe Stack.

II – A herança entre essas classes gera um alto grau de acoplamento.

III – Após a execução do método clear(), a variável top ficará desatualizada.


Está CORRETO o que consta em:

Alternativas
Q2432594 Programação

Código fonte em Java para as questões 36 e 37.

import java.util.ArrayList;

public class MyTestef

public static void main(Stringl] args) 1

Stack s = new Stack();

s.push(1):

s.push(2):

s.push(3):

s.clear ();

s.push(4):

s.push(5):

s.push(6);

System.out.println(s);

}

private static class Stack extends ArrayList<Object>1

private int top = 0;

public void push(Object element){

add(top++, element);

}

public Object pop (){

return remove(--top);

}

}

}

O código implementa de uma estrutura de dados que estende uma classe concreta ArrayList para outra classe concreta Stack. A classe ArrayList possui alguns métodos como o add() (adiciona elementos na lista), o remove() (remove elementos da lista) e o clear() (que remove todos os elementos da lista).

Após executar o código, qual será o resultado?

Alternativas
Q2432593 Programação

Código fonte em Java para as questões 34 e 35.

package com.example. demo;

public class MyCalc {

public static void main(String[] args) {

double amount = 1000;

double intRate = 2;

int period = 12;

CalcSrv c = new CalcSrv(new CalcLC());

double fv = c.fValue (amount, intRate, period);

System.out.printf("VF of LC:%.2\n", fv);

c = new CalcSrv (new CalcCDB());

fv = c.fValue(amount,intRate, period);

System.out.printf("VE of CDB:%.2f", fv);

}

private static class CalcSrv {

private CalcFV calcsrv;

public CalcSrv(CalcFV calcsrv) {

this.calcsryv = calesrv;

}

public double fvalue(double amount, double intRate, int period) {

amount = amount + calcsrv.calc(amount, intRate, period);

return amount;

}

}

interface CalcFV {

double calc(double amount, double intRate, int period);

}

private static class CalcLC implements CalcFV{

@Override

public double calc(double amount, double intRate, int period)

return (amount * Math.pow(1 + intRate/100, period)) - amount;

}

}

private static class CalcCDB implements CalcFV{

@Override

public double calc(double amount, double intRate, int period){

double fv = amount * Math.pow(1 + intRate/100, period);

if (period >12)

return (fv - amount) * 0.85;

return (fv - amount) * 0.78;

}

}

}

Considere os princípios e padrões de projetos implementados no código.


I – Injeção de dependência

II – Inversão de controle

III – Injeção por construtor


Está CORRETO o que consta em:

Alternativas
Respostas
26: E
27: B
28: C
29: E
30: B