Questões de Concurso Público UFPE 2023 para Analista de Tecnologia da Informação - Área: Sistemas

Foram encontradas 80 questões

Q2290459 Programação
Numa certa linguagem, a programadora criou uma classe chamada vdiesel, para conter vários atributos e métodos a fim de tratar veículos de motor a diesel em geral. Tomando proveito de uma característica dessa linguagem, ela criou duas novas classes que aproveitavam todos os atributos e métodos de vdiesel, as quais ela chamou de ônibus e trem_a_diesel. Além dos atributos e métodos de vdiesel, cada classe tinha atributos e métodos adicionais, específicos para o seu tipo de transporte, se ônibus ou trem. Essa característica permitida pela linguagem acima referida é denominada 
Alternativas
Q2290460 Programação
Analise as seguintes afirmações sobre polimorfismo em Java.

1) Operadores aritméticos para tipos primitivos, como os destacados a seguir, +, –, * e / podem ser considerados um tipo de polimorfismo.
2) Suponha que, numa classe-pai, tenhamos um método: “…public void metodo1(){…}”. Numa classe-filha, suponha que reescrevamos o método herdado: “…public void metodo1 {...[código diferente]…}”. O polimorfismo ocorre porque, quando invocamos o método da classe-filha, o interpretador entende que deve executar o código de metodo1() da classe-pai, antes da execução do código metodo1() da classefilha.
3) Quando queremos fazer um polimorfismo utilizando sobrecarga, em Java, é obrigatório o uso da palavrachave “@overload” no preâmbulo do novo método.
4) Um polimorfismo de sobrecarga pode ser criado ao se fornecer na classe-filha um método com o mesmo nome do método da classe-pai, mas com o número de argumentos diferente

Estão corretas, apenas: 
Alternativas
Q2290461 Algoritmos e Estrutura de Dados
Considere a implementação de uma fila (FIFO) de forma estática (array) com indexação circular, iniciando em 0 e finalizando no índice N-1, onde N é o tamanho do array. Seja Ins o índice da posição livre na qual a próxima inserção na fila deve ocorrer; seja Prim o índice do elemento mais antigo a permanecer na fila; e seja (A MOD B) o resto da divisão inteira de A por B. Com base nesses dados, analise as afirmações a seguir.

1) Para inserção, caso a fila não esteja cheia, atribuímos o elemento ao array na posição Ins e, em seguida, atribuímos a Ins o valor de (Ins MOD N)+.
2) Para deleção, caso a fila não esteja vazia, atribuímos a Prim o valor de ((Prim+1) MOD N).
3) Se Prim=Ins, podemos concluir que a fila está vazia.
4) Se Prim=((Ins+1) MOD N), podemos concluir que a fila está cheia.

Estão corretas:
Alternativas
Q2290462 Algoritmos e Estrutura de Dados
Considere a implementação de uma fila (FIFO) de forma estática (array) com indexação entre 1 e 10, utilizando encadeamento simples nos campos do array, desobrigando, assim, que os elementos da fila estejam numa sequência de posições adjacentes do array. As posições livres são guardadas na forma de uma pilha (FILO), para facilitar a implementação. Neste exemplo em particular, cada elemento do array possui dois campos: o campo de dados (DADOS) e o índice do próximo elemento da estrutura (PROX), ou seja, o índice do elemento cuja inserção ocorreu imediatamente antes do referido elemento, para ambas: a fila e a pilha de elementos livres. O índice do último elemento inserido na fila de dados está na variável ULTIMO, e o índice do topo da pilha de elementos livres está na variável TOPO. O elemento mais antigo na fila de dados ou na pilha de posições livres é indicado por PROX= −1. Suponha que, após múltiplas inserções e deleções, ficamos com a configuração ilustrada na figura a seguir.




Suponha que queiramos inserir o dado de valor ‘13’ na fila. Considerando ULTIMO=4 e TOPO=8, após a inserção, teremos, com os dados listados na ordem padrão da fila (do mais antigo para o mais recente), a seguinte configuração: 
Alternativas
Q2290463 Algoritmos e Estrutura de Dados
Considere a implementação de uma fila (FIFO) de forma estática (array) com indexação entre 1 e 10, utilizando encadeamento simples nos campos do array, desobrigando, assim, que os elementos da fila estejam numa sequência de posições adjacentes do array. As posições livres são guardadas na forma de uma pilha (FILO), para facilitar a implementação. Neste exemplo em particular, cada elemento do array possui dois campos: o campo de dados (DADOS) e o índice do próximo elemento da estrutura (PROX), ou seja, o índice do elemento cuja inserção ocorreu imediatamente antes do referido elemento, para ambas: a fila e a pilha de elementos livres. O índice do último elemento inserido na fila de dados está na variável ULTIMO, e o índice do topo da pilha de elementos livres está na variável TOPO. O elemento mais antigo na fila de dados ou na pilha de posições livres é indicado por PROX= −1. Suponha que, após múltiplas inserções e deleções, ficamos com a configuração ilustrada na figura a seguir.




Muitas vezes o uso de encadeamento simples acarreta a necessidade de incluir um comando de repetição (laço) para fazer um ponteiro (ou indexador) percorrer a estrutura a partir do início até ele se posicionar no penúltimo elemento da estrutura, demandado possivelmente por uma inserção e/ou uma deleção. No exemplo em questão, pela forma de implementação escolhida, podemos afirmar que isso ocorre sempre que se fizer uma operação de
Alternativas
Respostas
36: B
37: C
38: D
39: E
40: B