Questões de Concurso
Comentadas sobre conceitos básicos e algoritmos em algoritmos e estrutura de dados
Foram encontradas 402 questões
inteiro soma, i
soma - 0
para i de 100 até 200 faça
se i mod 2 = 0 então
soma - soma + i
fimse
fimpara
escreva soma
fimalgoritmo
Considerando o algoritmo mostrado, é correto afirmar que, com relação à execução e ao valor impresso, esse algoritmo
public static void main(String args[]) {
System.out.println("Saida:");
xyz(5, 0);
}
static int xyz(int n, int m) {
int i;
for (i = 0; i < m; ++i) {
System.out.println(" " + i + " ");
}
System.out.println("xyz(" + n + "," + m + ")");
if (n == 1) {
return 1;
}
if (n % 2 == 0) {
return xyz(n / 2, m + 1);
}
return xyz((n - 1) / 2, m + 1) + xyz((n + 1) / 2, m + 1);
}
}
O resultado do código apresentado é
Sobre o conceito de Algoritmos Recursivos, analise as afirmações abaixo e, a seguir, assinale a alternativa correta.
I. Um programa tem um número limitado de procedimentos recursivos.
II. Recursividade é utilizada exclusivamente quando não se sabe solucionar um problema de maneira imediata, então é realizada a divisão em problemas menores para alcançar o resultado desejado.
III. Todos os problemas computacionais resolvidos de maneira iterativa gastam mais memória que se resolvidos de forma recursiva.
k=10
y=0
enquanto y < 10
k = k - 2
y = y + 3
x = 1 - y * k
fim_enquanto
Considerando que o algoritmo seguinte possui um arranjo A que armazena n > 3 elementos, é correto afirmar que a saída (s) será a soma dos elementos das células ímpares de A.
A[0] = 0;
para i = 2 até n-1 em incrementos de 3 faça
s = s + A [i]
retorna s
Considere a função Divide apresentada em pseudocódigo.

Considere o algoritmo em pseudocódigo no qual DIV calcula o quociente da divisão inteira e MOD o resto da divisão inteira:

Considere o algoritmo em pseudocódigo:

function f(n: inteiro) : inteiro
begin
if n = 1
then return(1)
else return(n+f (n-1))
end
O resultado retornado pela expressão f(10) é:
var i: inteiro
var j: inteiro
para i:= 1 até 2
begin
if i < 2
then k=i*2
else k=i
para j:= i até k
begin
print (i+j)
end
end
Sabendo-se que nesse código cada ocorrência do comando print produz uma linha na saída, está correto afirmar que o número de linhas produzidas é:
O valor da variável e no fim da execução do seguinte algoritmo será 143.
var
a, b, c, d, e: Integer;
begin
a := 0;
b := 1;
e := a+b;
for c := 3 to 11 do
begin
e := e + (a + b);
d := a;
a := b;
b := b + d;
end;
end.
. O código abaixo é usado para calcular o fatorial de números. Assinale a alternativa CORRETA sobre esse código:
função fatorial(n)
{
se (n <= 1)
retorne 1;
senão
retorne n * fatorial(n-1);
}
O resultado final do algoritmo em português estruturado apresentado abaixo é 13524.
X[1]:=4
X[2]:=2
X[3]:=5
X[4]:=3
X[5]:=1
PARA J:=5 ATE 1 PASSO -1 FACA
PARA I:=1 ATE J-1 FACA
SE (X[I] > X[I+1]) ENTAO
AUX:= X[I]
X[I]:=X[I+1]
X[I+1]:=AUX
FIMSE
FIMPARA
FIMPARA
PARA I:=1 ATE 5 FACA
ESCREVA( (X[I])
FIMPARA
