Questões de Concurso
Comentadas sobre conceitos básicos e algoritmos em algoritmos e estrutura de dados
Foram encontradas 353 questões
Quanto à construção de algoritmos e estrutura de dados, assinale a alternativa que obedece corretamente à condição de heap para um array A.
I Um algoritmo é a solução específica para um problema específico. II Todo algoritmo recursivo tem um equivalente iterativo, e todo algoritmo iterativo tem um equivalente recursivo. III Um algoritmo possui uma quantidade de passos definidos, garantindo que ele possua um tempo máximo, possível de calcular, para terminar. IV Todos os dados, em um algoritmo, são armazenados em variáveis, através da operação de atribuição.
Estão corretas
Considere o pseudo-programa abaixo, em relação à sua execução completa.Considere o pseudo-programa abaixo, em relação à sua execução completa.
Assinale a alternativa que indica os valores para as variáveis "aux", "a", "b", e "i", respectivamente.
(Observação: a variável “i” incrementa de valores unitários:
0, 1, 2, 3, ...)
Para i = 1, 2, ..., n faça
Para j = i, i+1, ..., n faça
B;
Supondo que as variáveis i e j não sofram alterações no bloco de comandos B, o número total de vezes que B é executado é uma função:
algoritmo "MDA"
var
N : inteiro
C : caractere
L : logico
procedimento P14(var PN:inteiro;var PC:caractere;PL:logico)
inicio
PN <-65
PL <- FALSO
se (PN MOD 4 = 3) entao
PC < - "FLASH"
senao
PC < - "PHOTOSHOP"
fimse
fimprocedimento
inicio
N <-17
C<-"INDESIGN"
L <- FALSO
P14(N,C,L)
N <- N MOD 13
se L = VERDADEIRO entao
C<-"ILLUSTRATOR"
fimse
escreval(N:5,C:-10," ",L)
fimalgoritmo
Após a execução, o algoritmo ira gerar a seguinte saida:
algoritmo "ALG888"
var
N : inteiro
inicio
para N de 5 ate -2 passo -1 faca
se N MOD 2 = 0 entao
escreva(N)
fimse
fimpara
fimalgoritmo
Após a execução, o algoritmo irá gerar a seguinte saída:
Início
Leia a, b, c;
x ← 0;
Para i de 1 até 9 passo 2 faça
[
Se ((a mod 2) = 0)
Então x ← x + 2*b;
Senão x ← x - c;
a ← a - 1
]
Imprima x
Fim
Ao final do algoritmo, o valor impresso da variável x foi:
Início
Leia a, b, c;
x ← 0;
Para i de 1 até 9 passo 2 faça
[
Se ((a mod 2) = 0)
Então x ← x + 2*b;
Senão x ← x - c;
a ← a - 1
]
Imprima x
Fim
Para o algoritmo apresentado, assinale a alternativa que contém o número de vezes que o comando.
Então x ← x + 2*b;
foi executado, considerando os valores lidos para as variáveis de entrada.
A função retorna a posição da chave k em V, ou -1 se não for encontrada.
O símbolo *** denota uma expressão lógica propositalmente omitida.
define buscabinaria(k)
p=1
u=N
repeat
x=(p+u)\2
if k < V[x]
then u = x-1
else p = x+1
until ***
if k = V[x]
then return(x)
else return(-1)
Assinale a opção que apresenta o trecho que deve substituir o símbolo *** para que o algoritmo acima funcione de acordo com a especificação.
Início Inteiro a, b, c, i; Leia a; b ← 0; c ← 0; Para i de 1 até 5, faça
[
b ← b + 2*a + i; c ← c + 3*a - i; ] Imprima (b+c); Fim
Ao final da execução do algoritmo, o valor impresso será igual a:
Função teste(inteiro a, inteiro b): inteiro
var x: inteiro
Início
x ← a
a ← b
b ← x
retorna (b * (x + a) / 2)
Fim.
Algoritmo Principal
var a, b: inteiro Início
Leia (a, b)
imprima (teste(a,b))
Fim
Considerando que a e b receberam, respectivamente, os valores 4 e 3, conclui-se que será impresso o valor
soma = 39.
Esse resultado foi entregue ao professor. Indagado sobre com qual algoritmo tinha encontrado o resultado correto, Beto percebeu que não mais lembrava. E teve que repetir as experiências.
Qual foi o algoritmo utilizado pelo estudante?
2. Ler salario
3. Se salario >=1000
4. Então
5. salarionovo = salario * 1,05
6. Senão
7. salario = salario * 1,075
8. Fim Se
9. Exibir salario
10. Exibir salarionovo
11. Fim programa
Para qualquer salario que for maior que 1000, o valor final de salario será acrescido em 50% de seu valor anterior.
2. Ler salario
3. Se salario >=1000
4. Então
5. salarionovo = salario * 1,05
6. Senão
7. salario = salario * 1,075
8. Fim Se
9. Exibir salario
10. Exibir salarionovo
11. Fim programa
Caso a linha 5 fosse salarionovo = salario * * 2, o valor da variável salario seria multiplicado por 2 duas vezes, tal que, se o valor da variável salario fosse 1000, então o valor de salarionovo seria 4000.
2. Ler salario
3. Se salario >=1000
4. Então
5. salarionovo = salario * 1,05
6. Senão
7. salario = salario * 1,075
8. Fim Se
9. Exibir salario
10. Exibir salarionovo
11. Fim programa
O comando na linha 7 faz aumentar o valor da variável salario em 75%. Esse comando, contudo, não poderá ser implementado da forma apresentada, uma vez que não é possível atribuir valor à variável salario, pois ela já está sendo utilizada no cálculo.