Questões de Concurso
Comentadas sobre conceitos básicos e algoritmos em algoritmos e estrutura de dados
Foram encontradas 402 questões
Considere a função recursiva a seguir:
function f(n) {
if (n == 0) return 0; else return 3*f(n-1) - 1;
}
Qual o valor de f(3)?
Algoritmo Lógica
var a, b, c, d: inteiro
Início
a ← 2
b ← 5
c ← 10
d ← 3
Se (NÃO((a+c*b) < = (d*b/a)) E ((b+c/d) < (c/a*d-b*a))) então
imprima ("A")
Fim_se
Se (((a+c*b) < = (d*b/a)) OU ((b+c/d) < > (c/a*d-b*a)) E NÃO((c-d)=(d+a))) então
imprima ("B")
Fim_se
Se ((((a+c)*b) < = (d*b/a)) E ((b-c*d) < > (c/a*(d-b)*a))) então
imprima ("C")
Fim_se
Fim
Neste algoritmo será impresso
início
tipo TMAT = matriz [1..5,1..5] de inteiros;
inteiro: i, j, k;
TMAT: Mat;
leia k;
para i de 1 até 5 faça
[
para j de 1 até 5 faça
[
Mat[i,j] ← i-j;
]
]
imprima (Mat[2,3]*Mat[3,2]);
fim.
O valor impresso ao final da execução do algoritmo é:
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: