Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.196 questões
C1: a função tem imagem definida no número k.
C2: o limite da função no número k existe.
C3: o valor da imagem e o valor do limite no número k são iguais.
Se uma das condições não for verificada, diz-se que a função é descontínua no número k.
Assinale a alternativa que apresenta a estrutura INCORRETA.
Analise o algoritmo abaixo escrito em pseudocódigo (Portugol).
algoritmo "Questão"
var
a, b, c: inteiro
inicio
a ← 0
b ← 1
c ← 2
repita
a ← a + 1
b ← b + a * 2
c ← c + b - a
até_que (a > 2)
fimalgoritmo
Ao final da execução do algoritmo acima, qual serão, respectivamente, os valores das variáveis "a",
"b" e "c"?
Um dos algoritmos utilizados nesse tipo de transação é conhecido originalmente como:
leia(x)
y = 0.0
m = 1.0
enquanto x > 1 faça
escreva(y, x, m)
y = y + (x % 2) * m
x = x / 2 m = m * 10
fim enquanto
escreva(y)
Assinale a opção que apresenta o valor de x para que o resultado do código precedente seja igual a 131.
soma = 0
função a(x):
soma = 0
se (x <= 1) então
retorne 1
fim se
soma = soma + x + a(x - 1) + a(x - 2)
retorne soma
escreva(a(3))
Assinale a opção que apresenta o resultado correto para o pseudocódigo precedente.
para j de 1 até t faça para i de 1 até t faça se v[i] > v[i+1] então aux ← v[i] v[i] ← v[i+1] v[i+1] ← aux fimse fimpara fimpara
Caso o operador relacional ">" (maior) fosse trocado pelo operador ">=" (maior ou igual), mais quantas linhas do algoritmo teriam que ser alteradas para que o resultado esperado (ordenação do vetor em ordem crescente) continuasse a ser o mesmo?
A*(B+C)/D-E
A expressão correta na referida notação é:
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.