Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.122 questões
A*(B+C)/D-E
A expressão correta na referida notação é:
I. Qualquer operação de inserção de uma nova chave implica uma divisão (split) de algum nó. II. Qualquer operação de remoção de uma chave implica uma divisão (split) de algum nó. III. Qualquer operação de remoção de uma chave implica uma concatenação de dois ou mais nós em um.
Está correto o que se afirma em:
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.
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).
I. Em um algoritmo, toda condição tem que ser uma expressão lógica, algo que possamos pensar como “isto é verdadeiro ou isto é falso”.
II. Operadores lógicos podem ser de disjunção; conjunção; e, negação.
III. Para resolver um problema algoritmo precisamos de três estruturas básicas: estruturas sequenciais; estruturas de repetição; e, estruturas de decisão.
IV. São exemplos de tipos de dados: strings; caractere; inteiro; real; lógico; e, variável.
Está correto o que se afirma apenas em
Observe o pseudocódigo a seguir:
Trata-se do seguinte tipo de ordenação de dados:
Algoritmo "Alg1" Var num : real res : real soma : real Inicio soma <- 0 escreva("Digite um valor: ") leia(num) enquanto (num <> 0)faca res <- res + num escreva("Digite um valor: ") leia(num) fimenquanto escreva("Resultado> ", res) Fimalgoritmo
Nessa situação, será apresentado qual resultado da execução?
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,
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, é
var a, b, c, d: inteiro var x, y, z: lógico início a ←2 b ← 1 c ← 3 d ← 0 x ← NÃO(a + d > 0) E (c - b <= 5) y ← NÃO(x) OU (c / a > 2) z ← y E x E (c - b - a >= 0) exiba (x, y, z) fim
Em condições ideais, a instrução exiba (x, y, z) deve mostrar os valores
I. F28A05B16 II. 11111000001010102 III. 17894506.7583
Os tipos de variáveis que conseguem armazenar adequadamente e sem perdas os valores constantes em I, II e III são, correta e respectivamente:
O tempo de execução final do projeto foi de