Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.196 questões
Assinale a alternativa que define corretamente a técnica de função fatorial empregada no pseudocódigo a seguir.
1. funcao fatorial(n)
2. se n=1 então
3. fatorial = 1
4. senao
5. fatorial = n * fatorial(n-1)
6. fim funcao
Analise o algoritmo a seguir.
algoritmo "IPERON" var X, Y, K : inteiro início X <- 13 Y <- 17 para K de 1 ate 3 faca X<-X+1 Y<- Y -1 escreva (X:3, Y:3) fimpara fimalgoritmo |
Após a execução, a saída gerada pelo algoritmo está indicada na seguinte opção de resposta:
C * (B – A) <= D – B / C
Qual seria o resultado da execução dessa expressão, caso o valor das variáveis fossem: A=3; B=6; C=2 e D=9 ?
I - Toda expressão que possui um operador relacional, necessariamente, tem como resultado um valor do tipo “lógico”. II - O operador “mod” (ou “%”) retorna o resto da divisão entre dois números. III - É adequado o uso de variáveis cujo tipo de dados seja “inteiro” para armazenar nomes de pessoas.
Assinale a alternativa CORRETA.
Dado um pseudocódigo de uma função chamada FN1:
FN1 (V[], início, fim, e)
i recebe o índice do meio entre início e fim
se (v[i] = e) entao
devolva o índice i # elemento e encontrado
fimse
se (inicio = fim) entao
não encontrou o elemento procurado
senão
se (V[i] vem antes de e) então
faça a FN1 (V, i+1, fim, e)
senão
faça a FN1 (V, inicio, i-1, e)
fimse
fimse
Sobre o pseudocódigo foram feitas as seguintes afirmações:
I. FN1 é uma função é iterativa
II. Para FN1 devolver o índice i corretamente, o vetor V[ ] precisa estar ordenado.
III. Se o vetor V[ ] tiver 1024 elementos, podemos expressar que o número de suposições, no pior caso, como "o número de vezes que podemos reduzir pela metade, começando em n, até obter o valor 1, mais um" será de 11.
IV. A função matemática que representa a complexidade de FN1 é da ordem de log n.
Estão corretas
Considere a seguinte expressão lógica, a ser inserida em um programa.
R ← ((A and B) or (C and D)) or E
As variáveis A, B, C, D, E e R são do tipo booleano, podendo assumir valores verdadeiro (1) ou falso (0).
Assinale a alternativa que apresenta valores para A, B, C, D e E que resultem o valor falso (0) em R.
Considere o seguinte algoritmo:
Para i de 7 até 4 Faça
aux <- v[i]
v[i] <- v[7 - i]
v[7 - i] <- aux
i <- i - 1
Fim_Para
max = maior v
v[2] <- v[0]
v[max - v[2]] <- v[max - v[1]]
Assinale a alternativa que possui o estado final do vetor v inicialmente definido com os elementos de 32 a 39.
Considere o algoritmo abaixo.
static int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 2) + fibonacci(n - 1);
}
A complexidade deste algoritmo, na notação Big O, é
Analise as afirmativas a seguir a respeito de algoritmos recursivos.
I. Diz-se que uma rotina é recursiva se a sua definição envolver uma chamada a ela mesma. Neste sentido, o termo recursão é equivalente ao termo indução utilizado por matemáticos.
II. Cada algoritmo recursivo possui um algoritmo iterativo equivalente e vice-versa, mas que pode ter mais ou menos complexidade em sua construção.
III. Uma função recursiva possui duas partes: caso base e caso recursivo.
IV. Um algoritmo pode ser chamado de iterativo quando ele requer a repetição implícita de um processo até que determinada condição seja satisfeita.
V. A recursividade possibilita a escrita de um código mais enxuto, com maior legibilidade e simplicidade.
Assinale a alternativa que possui alguma afirmação INCORRETA.
Observe a expressão lógica abaixo:
((((true AND true) OR false) AND true) AND (true OR (true AND false)))
Considerando os operadores lógicos AND (e) e OR (ou), e os operandos lógicos true (verdadeiro) e false
(falso), é CORRETO afirmar que o valor lógico dessa expressão é: