Magna Concursos

Foram encontradas 56.775 questões.

A modelagem orientada a objetos utilizando a Unified Modeling Language (UML) é uma ferramenta essencial na fase de análise e projeto de Software. O Diagrama de Classes, em particular, estabelece a estrutura estática do sistema por meio de classes, seus atributos, operações e os relacionamentos entre os objetos. Sobre as características, o nível de detalhamento e a semântica dos relacionamentos nesse diagrama, analise as assertivas abaixo e assinale V, se verdadeiras, ou F, se falsas.

( ) Para evitar os conflitos de interpretação entre os requisitos do cliente e o código que será efetivamente implementado pelos desenvolvedores, o nível de detalhamento do diagrama de classes (incluindo visibilidade de atributos, tipos de dados rigorosos e assinaturas completas de métodos) deve ser mantido invariavelmente alto desde as fases iniciais da modelagem conceitual.

( ) Na UML, o relacionamento de agregação estabelece um vínculo semântico restrito no qual ocorre uma coincidência de tempo de vida entre os objetos modelados. Nesse tipo de associação, se o objeto contêiner (o “todo”) for destruído da memória, as instâncias exclusivas que formam as suas “partes” também deverão obrigatoriamente ser destruídas, visto que não podem existir de forma independente no sistema.

( ) A relação de generalização permite a modelagem de herança estrutural e comportamental. Na construção do diagrama de classes UML, é totalmente válido modelar uma classe filha com herança múltipla (recebendo características de múltiplas superclasses), ainda que a equipe de desenvolvimento vá implementar o sistema em uma linguagem que não suporta herança múltipla de classes nativamente, como a linguagem Java.

A ordem correta de preenchimento dos parênteses, de cima para baixo, é:

 

Provas

Questão presente nas seguintes provas

Um modelo de processo de software é uma representação abstrata que descreve uma abordagem para o desenvolvimento. Na prática, compreender as diferenças estruturais desses modelos é essencial para a escolha da metodologia adequada a cada projeto. Considerando os modelos genéricos de processo de software, analise as assertivas abaixo:

I. No modelo em cascata, o fluxo de trabalho é estruturado de forma linear e sequencial, exigindo que cada etapa fundamental seja concluída e validada individualmente antes que a fase subsequente possa ser iniciada.

II. O modelo espiral caracteriza-se pela execução de iterações de desenvolvimento focadas na rápida entrega de código e na prototipação informal, dispensando a realização de análises de riscos formais para formar uma espiral de entregas e validações rápidas.

III. O modelo de desenvolvimento incremental baseia-se na divisão do sistema em incrementos funcionais (partes autônomas), permitindo que os requisitos mais críticos ou de maior prioridade para o negócio sejam desenvolvidos e entregues nas primeiras iterações do ciclo de vida.

Quais estão corretas?

 

Provas

Questão presente nas seguintes provas

Analise a função a seguir:

Enunciado 4681129-1

Qual é a complexidade assintótica de tempo da função acima no pior caso?

 

Provas

Questão presente nas seguintes provas

Analise o seguinte trecho de código escrito em HTML5 e JavaScript conforme a especificação ECMAScript 2015 (ES6) e o modelo de objetos do DOM:

<!DOCTYPE html>
<html>
<body>

<ul id="lista">
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>

<script>

function alterarLista() {
    const itens = document.querySelectorAll("#lista li");

    for (let i = 0; i < itens.length; i++) {
        let valor = parseInt(itens[i].textContent);

        if (valor % 2 === 0) {
            itens[i].textContent = valor * 2;
        } else {
            itens[i].textContent = valor + 1;
        }
    }
}

alterarLista();

</script>

</body>
</html>

Após a execução da função alterarLista(), quais serão os valores exibidos nos elementos da lista?

 

Provas

Questão presente nas seguintes provas

Na recursividade, o que acontece se uma função chama a si mesma sem que uma “condição de parada” (caso base) seja atingida?

 

Provas

Questão presente nas seguintes provas

Considere o seguinte vetor de inteiros:

V = {8, 3, 7, 4, 9, 2}.

Suponha que o algoritmo Quicksort seja aplicado a esse vetor utilizando a seguinte estratégia:

  1. o pivô é sempre o primeiro elemento do subvetor;
  2. a partição organiza os elementos de forma que valores menores que o pivô fiquem à esquerda e valores maiores fiquem à direita.

Após a primeira operação de partição, qual será a posição final do pivô no vetor? Considere o algoritmo de partição de Lomuto, onde o pivô é o primeiro elemento e, ao final da partição, o pivô é posicionado entre os elementos menores e maiores.

 

Provas

Questão presente nas seguintes provas

Analise o seguinte programa escrito em linguagem C conforme o padrão ANSI C, no qual arrays multidimensionais são armazenados em memória de forma contígua em ordem de linhas (row-major order):

Enunciado 4681109-1

Qual valor será impresso pelo programa?

 

Provas

Questão presente nas seguintes provas

Analise o vetor ordenado:

[3, 8, 12, 15, 19, 27, 31].

Aplicando busca binária para localizar o valor 19, quantas comparações serão realizadas até encontrar o elemento, considerando a estratégia padrão de busca binária que compara inicialmente com o elemento central? Considere a implementação clássica da busca binária que retorna o índice do elemento ou -1 se não encontrado. As comparações consideram apenas as verificações do elemento central.

 

Provas

Questão presente nas seguintes provas

Considere o algoritmo:

Enunciado 4681103-1

Qual é a complexidade assintótica?

 

Provas

Questão presente nas seguintes provas

Analise o pseudocódigo abaixo:

algoritmo "Repeticao"
var
   i, j, resultado : inteiro
inicio
   resultado <- 0
   para i de 1 ate 3 faca
      para j de 1 ate i faca
         resultado <- resultado + 1
      fimpara
   fimpara
   escreva(resultado)
fimalgoritmo

Qual é o valor final da variável resultado?

 

Provas

Questão presente nas seguintes provas