Foram encontradas 60 questões.
A ordenação de elementos facilita a busca e recuperação de dados. Uma estratégia adotada por alguns algoritmos de ordenação é “dividir para conquistar”, também chamada de estratégia de partição, que consiste em dividir um problema maior em problemas menores. Depois da divisão, os resultados dos problemas menores são combinados, até que se consiga a solução do problema maior. Nesse contexto, considere as seguintes afirmações:
I. O Heapsort é um algoritmo que usa partição e no pior caso tem complexidade O(n log n).
II. O Quicksort é um algoritmo que usa partição e no caso médio tem complexidade O(n log n).
III. O Bubblesort é um algoritmo que não usa partição e no caso médio tem complexidade O(n log n).
IV. O Selectionsort é um algoritmo que não usa partição e no caso médio tem complexidade O(n2).
Marque a alternativa correta.
Provas
Considere o algoritmo apresentado a seguir.
#include <stdio.h> |
Marque a alternativa que representa a saída para a entrada “1 8 9 2 3 5”.
Provas
Considere um conjunto de sapatos, de mesmo modelo e que estão todos misturados. Para cada sapato, é possível saber o número e se ele corresponde a um pé direito ou esquerdo. Avalie as seguintes soluções algorítmicas para saber se há algum sapato sem par.
I. Utiliza-se de uma variável composta heterogênea unidimensional que armazena o número do sapato e se ele corresponde a um pé direito ou esquerdo. Ordena-se a variável composta pelo número dos sapatos. Depois, para um dado número de sapato, busca-se formar os pares direito-esquerdo, mudando-se as células de posição. Ao final, é possível verificar as células que não formam pares.
II. Utiliza-se de duas variáveis compostas homogêneas unidimensionais, com índices correspondentes aos números dos sapatos. Uma variável composta armazena a quantidade de sapatos para pés direitos e a outra a quantidade de sapatos para pés esquerdos. Ao final, estão sem par aqueles sapatos cujas células de mesmo índice têm dados diferentes.
III. Utiliza-se uma variável composta homogênea bidimensional, com índices que correspondem aos números dos sapatos em uma dimensão e índices que correspondem ao pé, direito ou esquerdo, na outra dimensão. Armazena-se a quantidade de sapatos em cada célula, considerando o número do sapato e o pé correspondente. Percorre-se a variável composta, subtraindo-se os dados da primeira linha, daqueles da segunda linha, para colunas correspondentes. Ao final, estão sem par os sapatos em que o resultado da subtração é diferente de zero.
Com relação à complexidade no tempo (número de comparações), no pior caso, simbolizada pela notação O (O-grande), marque a alternativa correta.
Provas
Ao se pensar no design de uma aplicação computacional, um passo importante é a escolha da sequência de ações que o usuário deve realizar, de quais elementos de interface serão adotados e da forma como esses elementos serão apresentados aos usuários. Nessas etapas, os affordances dos elementos de interface devem ser considerados. Marque a alternativa incorreta com relação aos affordances.
Provas
Considere a abstração do processo de design de Dix e colaboradores, expressa na figura a seguir.
Marque a alternativa que melhor associa técnicas e métodos da área de Interação Humano-Computador aos momentos (A), (B), (C) e (D) representados na figura.
Provas
A Avaliação Heurística é um método analítico de avaliação de usabilidade, no qual um conjunto de avaliadores percorre a interface procurando por problemas na proposta de design. Nessa busca, os avaliadores são guiados por um conjunto de dez heurísticas, segundo a literatura de IHC. Neste contexto, considere as seguintes afirmações:
I. “Flexibilidade e eficiência de uso” é uma heurística relacionada com a oferta de recursos de atalho para usuários experientes.
II. “Controle e liberdade do usuário” é uma heurística relacionada com permitir que o usuário se recupere facilmente de erros cometidos durante a interação, por exemplo, por meio da oferta da opção “desfazer” (undo).
III. “Reconhecimento ao invés de memorização” é uma heurística relacionada com aumentar a carga de memória do usuário considerando a Teoria dos Chunks.
IV. “Modelo conceitual” é uma heurística relacionada com o uso de metáforas claras na especificação do sistema.
Marque a alternativa correta.
Provas
Considere as seguintes afirmativas:
I. Classes abstratas não devem possuir construtores, pois não é possível obter uma instância desta classe.
II. Em Java, uma classe abstrata pode implementar uma interface, mesmo não sendo possível alocar um objeto desta classe.
III. Só é possível acessar atributos definidos como “static” a partir de funções definidas como “static”.
IV. Devemos sempre instanciar pelo menos um objeto para poder utilizar um método definido como “static”.
É correto o que está afirmado apenas em:
Provas
No trecho de código em C++ a seguir, estão implementadas as classes “ponto” e “circulo”. Nestas implementações estão faltantes alguns trechos de código, rotulados por __A__, __B__, __C__, __D__ e __E__.
class ponto { ponto() {x=0.0; y=0.0;} | class circulo : public ponto { |
Assinale a alternativa que completa os trechos faltantes incorretamente, na ordem __A__, __B__, __C__, __D__ e __E__:
Provas
Em relação às funções virtuais das linguagens orientadas a objetos, considere as afirmações:
I. Se uma classe tem funções virtuais, é recomendado fazer um destrutor também virtual, ainda que não seja necessário um destrutor para essa classe.
II. Ao declarar um destrutor como virtual, é recomendado que o construtor também seja declarado como virtual.
III. Cada objeto de uma classe com funções virtuais contém um ponteiro para a tabela de funções virtuais daquela classe, garantindo assim a igualdade de desempenho entre chamadas de funções virtuais e não virtuais.
Sobre as afirmativas, pode-se concluir que:
Provas
Definir objetos mais complexos a partir de objetos mais simples é uma abordagem muito comum em modelagem virtual de objetos reais. Por exemplo, tendo construído as primitivas geométricas cone e esfera, podemos representar um “sorvete de casquinha” como a união de uma instância de cone e outra de esfera. Em aplicações como esta, podemos listar algumas características da modelagem orientada a objetos, conforme as enumeradas a seguir:
I. Permitir a criação e o uso de novos objetos (primitivos ou compostos).
II. Flexibilidade na restrição de determinados objetos na composição.
III. Diferençar objetos compostos dos objetos primitivos.
IV. Não alterar o modo que o cliente processa cada objeto.
Assinale a alternativa formada somente pelas características atendidas pelo padrão de projeto “Composite”.
Provas
Caderno Container