Questões de Concurso
Sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 2.320 questões
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)
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:

Caso um contador, previamente inicializado com o valor zero, seja inserido no início do comando de repetição externo, qual será o seu valor imediatamente após o encerramento desse comando de repetição?
Cada uma das listas originais possui ponteiros para o primeiro e para o último elementos. Qual é a complexidade do algoritmo mais eficiente que esse programador pode produzir?
Então, o método apropriado para calcular G(z) é
Os atendentes podem cadastrar, atualizar e excluir pedidos. Todos os pedidos são cadastrados com o status “aberto”. O status de um pedido é único e corresponde à situação em que ele se encontra a cada momento. Após ter suas informações completamente fornecidas, um pedido é passado para o departamento de ativação, que muda seu status para “ativando” e muda, posteriormente, para “atendido” quando o atendimento se encerra. Uma vez que um pedido não está mais em aberto, ele não pode ser modificado para atender a solicitações externas. Sobre um mesmo pedido, considere as seguintes proposições e seu significado pretendido:
P: o pedido está em aberto.
Q: o pedido está ativando.
R: o pedido está atendido.
M: o pedido pode ser modificado.
Para os requisitos descritos, vale a seguinte fórmula da lógica proposicional:
Assumindo que a altura de uma folha é zero, qual será a altura resultante dessa árvore?
Comandos do-while (“faça-enquanto”), while-do (“enquanto-faça”) e for (“para-condição-atualização”), em linguagens de programação, permitem a execução de laços e são necessários em muitos algoritmos.
No comando do-while, a expressão lógica associada ao ________ é avaliada ________ execução do bloco de comandos; no ________, a expressão lógica de controle é avaliada ________.
Instruções para se tornar um milionário
1. Retire todo seu dinheiro do banco.
2. Vá a um cassino e compre fichas com esse dinheiro.
3. Jogue em máquinas caça-níqueis até ganhar 1 milhão de reais ou acabarem as fichas.
Este conjunto de instruções NÃO é um algoritmo porque não possui uma propriedade fundamental dos algoritmos, a qual assegura que, se as instruções são seguidas, é certo que o resultado final será atingido. O nome desta propriedade fundamental dos algoritmos é