Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.238 questões
Um determinado algoritmo recebeu a seguinte sequência de valores de entrada:
44 23 31 51 92 77 45 37 61 17 83 0
O algoritmo produziu, como saída, os valores 92 e 17, respectivamente. Assinale a alternativa que contém, corretamente, o pseudocódigo do algoritmo que apresenta o comportamento descrito.
Um fluxograma pode ser entendido como um diagrama que ilustra de forma gráfica ou esquemática a sequência de passos para a realização de uma determinada tarefa ou processo, de maneira simples. Também são utilizados para ilustrar o fluxo de execução de algoritmos. Considere o fluxograma a seguir.
Assinale a alternativa que apresenta, corretamente, o pseudocódigo cujo fluxo de execução esteja representado por esse fluxograma.
Considere o algoritmo em pseudocódigo:
Os valores de R1, R2 e R3, após a execução do algoritmo são:
O gráfico abaixo mostra a relação de dominação assintótica entre funções de complexidade de algoritmos. Os valores de tempo e tamanho do problema são apenas referenciais. Considere apenas os seus valores crescentes.
Com base no gráfico, é correto afirmar que
A ordenação de elementos em um vetor pode ser executada a partir de diversos algoritmos conhecidos e que são adequados para situações específicas. Sobre algoritmos de ordenação, dadas as seguintes afirmativas,
I. O algoritmo Bubble Sort é eficiente para ordenar poucos elementos, mas é lento para ordenar muitos itens.
II. O algoritmo Selection Sort para ordenação crescente
consiste em mover o menor valor do vetor para a primeira
posição, depois o segundo menor para a segunda posição e
assim sucessivamente até os dois últimos valores.
III. O algoritmo Quick Sort ordena os valores de um vetor através de sucessivas seleções do elemento correto a ser posicionado em um segmento ordenado.
verifica-se que está(ão) correta(s)
Dada a figura abaixo, qual a ordem de visita nos nós do grafo seguindo a listagem pré-ordem?
Um robô foi programado para arrumar cada um dos 6 objetos diferentes em uma prateleira do móvel, representado a seguir, de modo que a arrumação de um dia nunca era a mesma dos dias anteriores.
Ele conseguiu fazer isso
Os exemplos de pseudocódigo a seguir resolvem Xn para X en inteiros maiores que 0:
ALGORITMO EXEMPLO 1
VAR A, N, X, CONT: INTEIRO
INÍCIO
LEIA (X, N)
CONT ← 1
A ← 1
ENQUANTO (CONT <=N) FAÇA
A ← A * X
CONT ← CONT + 1
FIM_ENQUANTO
IMPRIMA(A)
FIM
ALGORITMO EXEMPLO 2
VAR A, N, X, CONT: INTEIRO
INÍCIO
LEIA (X, N)
A ←1
PARA CONT ← 1 ATÉ N PASSO 1
A ← A * X
FIM_PARA
IMPRIMA(A)
FIM
Sobre os exemplos apresentados, é correto afirmar que:
Algoritmo "Fatorial";
variável:
RESULTADO,VAR1,VAR2: inteiro;
inicio
Escreva("Digite um numero");
Leia(VAR1);
RESULTADO ← 1;
Para VAR2 de 1 ate VAR1 faca
RESULTADO ← RESULTADO + VAR2;
Fimpara;
Escreva (“O fatorial de “, VAR1, “ e: “, RESULTADO);
fim.
O objetivo desse algoritmo é calcular o fatorial de um número informado pelo usuário. Embora o algoritmo esteja bem formatado (seguindo as regras de codificação), existe um erro lógico que impede o algoritmo de apresentar o resultado correto, que é:
1. for ( int i=0; i < n; i ++) {
2. for (int j=1; j < (n-i) ; j ++) {
3. if (intArray[ j-1] > intArray[ j ] ) {
4. temp = intArray[ j-1] ;
5. intArray[ j-1] = intArray[ j ] ;
6. intArray[ j ] = temp ;
7. }
8. }
9. }
Para expressar propriedades desse código, na linguagem da lógica proposicional, considere as proposições lógicas p, q e r e as seguintes interpretações:
• p é verdadeiro se e somente se i = 0
• q é verdadeiro se e somente se j ≠ (n-i)
• r é verdadeiro se e somente se intArray[j-1] > intArray[j]
Nesse contexto, os comandos de atribuição presentes neste trecho de código (linhas 4, 5 e 6) serão executados para:
Nesse contexto, considere a execução das instruções a seguir
push(pY, pop(pX));
push(pZ, pop(pX));
push(pY, pop(pX));
push(pZ, pop(pX));
push(pX, pop(pY));
push(pZ, pop(pY));
push(pZ, pop(pX));
Após a execução das instruções acima, quais os somatórios dos elementos em cada uma das pilhas pX e pZ, respectivamente?
I - Nas árvores B todas as folhas sempre estarão no mesmo nível.
II - Nas listas duplamente encadeadas, todos os nós apontam para os nós sucessores e antecessores.
III - Nas árvores binárias cada nó pode ter no máximo duas subárvores.