Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.729 questões
Seja o seguinte trecho de código em Python, que procura um valor em uma lista previamente ordenada de forma crescente:
lista = [4, 9, 15, 22, 31, 40]
alvo = 22
ini = 0
fim = len(lista) - 1
pos = -1
while ini <= fim:
meio = (ini + fim) // 2
if lista[meio] == alvo:
pos = meio
break
elif lista[meio] < alvo:
ini = meio + 1
else:
fim = meio - 1
print(pos)
Considerando a execução do código apresentado, qual será o valor exibido pelo comando print?
Considere o seguinte algoritmo escrito em pseudocódigo, que recebe a idade de uma pessoa (lida do teclado, por exemplo) e exibe uma mensagem na tela:
leia idade
se idade >= 18 então
escreva "Acesso permitido"
se não
escreva "Acesso negado"
fim-se
Considerando que o valor informado para a variável idade nesse código seja 15, qual será a mensagem exibida na tela ao final da execução?
Considerando as estruturas de dados nativas da linguagem Python, qual delas é a mais adequada para essa situação?
Analise as afirmativas abaixo sobre os pilares do pensamento computacional.
1. O pensamento algorítmico organiza a solução em uma sequência finita e ordenada de passos, que pode ser executada, testada e ajustada.
2. A decomposição consiste em dividir um problema complexo em partes menores e mais administráveis, que podem ser resolvidas e testadas separadamente.
3. A abstração permite focalizar os aspectos essenciais de um problema e desconsiderar os detalhes que não interferem na construção da solução.
4. O reconhecimento de padrões consiste em eliminar os detalhes irrelevantes de um problema e reter apenas os elementos essenciais à sua resolução.
Assinale a alternativa que indica todas as afirmativas corretas.
(__)Em uma linguagem como Python, uma variável pode receber valores de tipos diferentes ao longo da execução, pois a associação entre o nome e o objeto pode ser alterada durante o programa. Essa característica não elimina a necessidade de considerar os tipos envolvidos nas operações realizadas.
(__)Em Python, o operador lógico “and” produz necessariamente um valor do tipo booleano, independentemente dos operandos utilizados na expressão.
(__)Em ambientes de programação em blocos, como o Scratch, uma estrutura de repetição do tipo “repita até” mantém a execução dos comandos enquanto a condição de parada não for satisfeita, realizando nova verificação após cada ciclo.
(__)Na programação orientada a objetos, a herança ocorre quando uma classe derivada incorpora características de uma classe-base, enquanto o polimorfismo corresponde à criação de várias classes dentro de uma mesma hierarquia, sem relação necessária com o comportamento das operações.
(__)Uma pilha organiza operações segundo a lógica LIFO, enquanto uma fila utiliza a lógica FIFO; por isso, a remoção de um elemento em uma pilha e a retirada de um elemento em uma fila seguem posições distintas dentro de suas respectivas estruturas.
Assinale a alternativa que apresenta a sequência de V (verdadeiro) e F (falso) de cima para baixo.
Analise as afirmativas abaixo em relação aos pilares fundamentais do Pensamento Computacional e sua aplicação pedagógica.
1. A decomposição consiste em dividir um problema complexo em partes menores e mais gerenciáveis para facilitar a sua resolução.
2. A abstração envolve filtrar e ignorar características irrelevantes de um problema para focar apenas nos elementos essenciais.
3. O reconhecimento de padrões permite identificar similaridades ou tendências entre diferentes problemas para aplicar soluções anteriores.
Assinale a alternativa que indica todas as afirmativas corretas.
Considerando o funcionamento, a eficiência computacional e as vantagens comparativas dos algoritmos de otimização, assinale a afirmativa correta.
Nesse contexto, analise os itens a seguir.
I. Quando p = 1, a distância de Minkowski calcula o número de atributos diferentes entre dois vetores no espaço.
II. Quando p = 2, a distância de Minkowski calcula a distância euclidiana entre dois vetores no espaço.
III. Quando p = K, a distância de Minkowski calcula a distância média para os K vizinhos mais próximos.
Está correto o que se afirma em
Analise o algoritmo abaixo, escrito em pseudocódigo (Portugol):
algoritmo "laço"
var
cont, soma: inteiro
início
soma ← 0
para cont de 1 até 3 faça
soma ←soma + cont
fim_para
escreva (soma)
fim
Assinale a alternativa que apresenta o valor da variável “soma” ao final da execução do algoritmo.
Nessa estrutura, cada nó interno é obtido a partir do hash da concatenação dos dois hashes de seus nós filhos, até a obtenção de um único valor no topo da árvore, denominado raiz de Merkle.
Um auditor possui o conteúdo de uma determinada transação e a raiz de Merkle registrada no cabeçalho do bloco. Para verificar se essa transação pertence ao bloco, sem receber todas as demais transações, ele recebe os hashes necessários para reconstruir o caminho entre a transação e a raiz.
O número de hashes adicionais, que o auditor deve receber para realizar essa verificação, é
Qual representação demonstra corretamente o uso de abstração?
Coluna I
1.Fluxograma. 2.Pseudocódigo. 3.Descrição narrativa. 4.Código-fonte.
Coluna II
(__)Descreve o algoritmo em uma linguagem intermediária, próxima da estruturada, sem seguir a sintaxe de uma linguagem específica.
(__)Traduz o algoritmo em uma linguagem de programação real, pronta para ser executada pela máquina.
(__)Representa os passos do algoritmo por meio de símbolos gráficos ligados por setas que indicam a sequência.
(__)Expõe os passos em texto corrido, com frases da língua cotidiana, sem notação técnica.
Assinale a alternativa que apresenta a associação CORRETA, de cima para baixo:
I.As estruturas de repetição são recursos que evitam a reescrita de um mesmo bloco de comandos diversas vezes em um programa.
PORQUE
II.Uma estrutura de repetição permite executar um conjunto de instruções várias vezes enquanto uma condição definida permanecer verdadeira.
A respeito dessas asserções, assinale a alternativa CORRETA:
I.Um algoritmo deve possuir um número finito de passos, encerrando-se após a realização da tarefa a que se destina.
II.Cada passo de um algoritmo precisa ser descrito de forma precisa, sem deixar margem a ambiguidades na sua interpretação.
III.Um algoritmo pode receber dados de entrada e produzir resultados de saída ao término de sua execução.
Está CORRETO o que se afirma em:
(1)Elaboração de uma sequência de passos que resolve o problema de forma executável.
(2)Divisão do problema maior em subproblemas menores e tratáveis.
(3)Concentração nos aspectos essenciais, com remoção dos detalhes dispensáveis.
(4)Identificação de semelhanças e regularidades entre os subproblemas.
Assinale a alternativa que apresenta a ordem CORRETA em que essas operações são realizadas: