Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.554 questões
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
I. Fluxogramas utilizam símbolos gráficos para representar passos de um algoritmo.
II. O símbolo de losango é usado para representar uma decisão ou condição.
III. Fluxogramas são úteis para visualizar a lógica de um algoritmo.
IV. O símbolo de oval é utilizado para representar uma operação de entrada ou saída.
V. Fluxogramas podem ser usados para representar estruturas de repetição.
Quais estão INCORRETAS?
( ) No pseudocódigo (Portugol), a estrutura de controle “se” é usada para criar loops de repetição.
( ) Um vetor é uma estrutura de dados que armazena uma coleção de elementos do mesmo tipo, acessíveis por índices.
( ) Em um fluxograma, o retângulo é utilizado para representar decisões.
( ) O comando “enquanto” é utilizado para executar repetidamente um bloco de instruções enquanto uma condição for verdadeira.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima
Assinale a opção que representa a complexidade O (n log n) mais comummente observada em algoritmos de ordenação eficientes.
A respeito de lógica de programação em pseudocódigo, julgue o item a seguir.
No algoritmo a seguir, escrito em pseudocódigo e utilizado para validar os possíveis casos de temperatura da água, as estruturas se senão podem ser substituídas por estruturas do tipo escolha caso sem prejuízo à lógica do algoritmo.
Início programaTermometro
ler temperatura;
se(temperatura <= 0) então
escreva("estado sólido");
senão
se(temperatura < 100) então
escreva("estado líquido");
senão
se(temperatura == 100) então
escreva("ponto de ebulição");
senão
escreva("estado gasoso");
fim se
fim se
fim se
Fim programaTermometro
A respeito de lógica de programação em pseudocódigo, julgue o item a seguir.
A estrutura se senão é classificada como estrutura de repetição.
A respeito de lógica de programação em pseudocódigo, julgue o item a seguir.
Na estrutura enquanto, o bloco interno de código será sempre executado uma vez; na estrutura faça enquanto, o bloco interno de código será executado somente se a condição for verdadeira.
O principal objetivo de utilizar algoritmos avançados em sistemas educacionais é
Analise o seguinte algoritmo de ordenação em JavaScript e marque a alternativa que apresenta a saída da console.
const numeros = [10, 2, 8, 1, 5];
numeros.sort((b, a) = > b - a);
console.log(numeros);
public class HeapSort { public void heapSort(int arr[]) { int n = arr.length; for (int i = n / 2 - 1; i >= 0; i--) { heapify(arr, n, i); } for (int i = n - 1; i > 0; i--) { int temp = arr[0]; arr[0] = arr[i]; arr[i] = temp; heapify(arr, i, 0); } } void heapify(int arr[], int n, int i) { int maior = i; int esquerda = 2 * i + 1; int direita = 2 * i + 2; if (esquerda < n && arr[esquerda] > arr[maior]) { maior = esquerda; } if (direita < n && arr[direita] > arr[maior]) { maior = direita; } if (maior != i) { int temp = arr[i]; arr[i] = arr[maior]; arr[maior] = temp; heapify(arr, n, maior); } } public static void main(String args[]) { int arr[] = {12, 11, 13, 5, 6, 7}; int n = arr.length; HeapSort heapSort = new HeapSort(); heapSort.heapSort(arr); System.out.println("Array ordenado: "); for (int i : arr) { System.out.print(i + " "); } } }
Considerando o algoritmo apresentado, qual é a principal característica deste algoritmo de ordenação?
Considere os dois pseudocódigos recursivos apresentados a seguir:
Código 01
função fibonacci(n: inteiro) -> inteiro:
se n <= 1 então
retornar n
senão
retornar fibonacci(n-1) + fibonacci(n-2)
fim se
Código 02
função fatorial(n: inteiro) -> inteiro:
se n <= 1 então
retornar 1
senão
retornar n * fatorial(n-1)
fim se
A partir da análise dos códigos apresentados, assinale a alternativa que apresenta a principal diferença entre os pseudocódigos recursivos 1 e 2 em termos de seu propósito e operação.
Considere o seguinte pseudocódigo:
// Pseudocódigo para calcular a média de duas notas
// ??? (1)
nota1, nota2, media: real
// ??? (2)
escrever("Digite a primeira nota: ")
ler(nota1)
escrever("Digite a segunda nota: ")
ler(nota2)
// ??? (3)
media <- (nota1 + nota2) / 2
// ??? (4)
escrever("A média das duas notas é: ", media)
Com base no pseudocódigo, assinale a alternativa que apresenta corretamente cada elemento (// ???) a sua respectiva parte no pseudocódigo.
Considere a seguinte função recursiva em pseudocódigo:
função fatorial(n: inteiro) -> inteiro:
se n = 0 ou n = 1 então
retornar 1
senão
retornar n * fatorial(n - 1)
fim se
Com base na análise da função, assinale a alternativa que apresenta o resultado da chamada da função fatorial(5).