Questões de Algoritmos e Estrutura de Dados do ano 2023

Pesquise questões de concurso nos filtros abaixo

Listagem de Questões de Algoritmos e Estrutura de Dados do ano 2023

#Questão 899263 - Algoritmos e Estrutura de Dados, Algoritmos, FGV, 2023, PGM - Niterói, Analista de Tecnologia da Informação

João está trabalhando com uma base de dados que contém centenas de milhares de registros de pessoas, na qual a chave de busca é o CPF. Nesse contexto, o algoritmo/método de busca que, corretamente empregado, oferece a melhor complexidade é:

#Questão 899264 - Algoritmos e Estrutura de Dados, Algoritmos, UFSC, 2023, UFSC, 2023 - UFSC - Técnico de Tecnologia da Informação

Considere as seguintes definições relacionadas a algoritmos de ordenação e assinale a alternativa que identifica corretamente as três definições, considerando sua ordem.
1. O algoritmo consiste em percorrer o vetor de itens desordenados da esquerda para a direita, ordenando um item por vez. A cada passo, o item não ordenado é comparado aos itens à sua esquerda (os quais já estão ordenados) de modo a encontrar em qual posição ele deve ser colocado. Esses passos são repetidos para cada um dos itens não ordenados restantes. O algoritmo termina quando o último item do vetor é colocado na posição correta.
2. O algoritmo divide logicamente o vetor em duas partições: uma partição contendo itens ordenados, que é construída da esquerda para a direita na frente (esquerda) do vetor, e uma partição contendo itens restantes não ordenados que ocupam o resto do vetor. Inicialmente, a partição ordenada está vazia e a partição não ordenada é o próprio vetor de entrada. Em cada passo, o algoritmo encontra o menor item na partição não ordenada, trocando-o com o item não ordenado mais à esquerda da partição (colocando-o, portanto, em ordem). Então, o limite lógico entre as partições ordenada e não ordenada é incrementado em uma posição e os passos anteriores são repetidos. O algoritmo termina quando resta apenas um item a ser ordenado.
3. O algoritmo divide o problema em partes menores, resolvendo cada parte separadamente e juntando os resultados posteriormente. O vetor é dividido em duas partes iguais, sendo cada uma delas dividida em duas partes, e assim por diante, até restarem partes com um ou dois itens, cuja ordenação é trivial. Para juntar pares de partes ordenadas, os dois primeiros itens de cada parte são separados e o menor deles é selecionado e posicionado como primeiro elemento. Em seguida, os menores entre os restantes são comparados e posicionados e assim se prossegue até que todos os elementos tenham sido juntados. O procedimento é repetido até que todas as partes tenham sido tratadas.

Avalie as seguintes afirmativas associadas à programação estruturada:
I. Uma variável declarada no contexto de uma função é automaticamente acessível às demais funções do programa. II. A passagem de variável por valor a uma função permite que a função altere o valor da variável. III. Uma estrutura de seleção ou repetição, se fizer parte de outra estrutura de seleção ou repetição, deve estar completamente contida nesta.
Assinale a alternativa que contém a(s) afirmativa(s) CORRETA(S).  

Considere o algoritmo a seguir:
var x, y, z: inteiro início    para x ? 1 até 10 passo 1 faça    para y ? 1 até 10 passo 1 faça          z ? x * y;          exiba(z)      fim_para      exiba(y)    fim_para fim

Ao ser executado em condições ideais, o penúltimo valor exibido da variável z e o valor exibido da variável y serão, respectivamente,

Considere o seguinte algoritmo.
var renda: real início     leia(renda)     e (renda <= 1000)     então exiba("Categoria 1")    senão se (renda>1000 E renda<=2000)                     então exiba ("Categoria 2")                     senão exiba ("Categoria 3")               fim_se   fim_se fim

Uma alteração que pode ser feita para otimizar ou melhorar o algoritmo, sem alterar sua lógica, é

Navegue em mais matérias e assuntos

{TITLE}

{CONTENT}

{TITLE}

{CONTENT}
Estude Grátis