Questões de Concurso Comentadas por alunos sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.764 questões
Resolva questões gratuitamente!
Junte-se a mais de 4 milhões de concurseiros!
Seja um array composto por 7 números inteiros.
[ 5, 15, 77, 21, 5, 25, 2 ]
Esse array foi usado por um profissional de teste de software para testar uma função que ordena, de forma ascendente, um array de números inteiros. Essa função implementa o algoritmo de ordenação por seleção.
Para avaliar a evolução do array sendo ordenado, o profissional de teste solicitou ao programador que criou a função de ordenação que fizesse uma modificação no código, de modo que o somatório dos elementos do array com índices 2, 3 e 4 seja exibido no console imediatamente antes do incremento da variável ( i ) que controla a execução do comando de repetição mais externo.
Feitas as modificações solicitadas, o código da função passou a ter a seguinte forma geral:
O que será exibido no console pelo comando print na 3ª iteração do comando de repetição mais externo?
int busca (int [ ] vet, int elem)
Isto é, a função busca recebe um array de números inteiros (vet) e um número inteiro (elem) como parâmetros, e retorna um número inteiro. Caso exista em vet um inteiro igual a elem, a função retornará o índice desse inteiro no array; caso contrário, a função retornará -1.
O algoritmo de busca binária produz um índice (ind) a cada iteração sobre o array, tendo em vista comparar o elemento que se deseja procurar (elem) com o elemento vet [ ind ]. Isto é:
if ( vet [ ind ] == elem ) return ind;
No comando acima, diz-se que houve uma visita ao elemento vet [ ind ].
Admita que a função busca foi chamada por meio do comando a seguir:
int resp = busca (vet, 50);
Sabendo-se que os elementos visitados foram 54, 17, 33 e 50, nesta ordem, qual array foi passado como parâmetro para a função busca?
Assinale a alternativa que completa corretamente o espaço pontilhado entre chaves do pseudocódigo abaixo.
função Ordena(v, t) { i ← 1 enquanto i < t faça { j ← i enquanto j > 0 e v[j-1] > v[j] faça { ..................... } i ← i + 1 } }
I. Na passagem de parâmetros por valor é feita uma cópia do parâmetro fornecido a uma função para uma variável interna à própria função.
II. Funções recursivas não podem conter laços de repetição.
III. A resposta da operação lógica x1 XOR x2 será verdadeira (true) se os valores das variáveis x1 e x2 forem diferentes entre si.
IV. A resposta da operação lógica x1 NAND x2 será sempre falsa (false) se x1 e x2 forem iguais.
V. Um programa estruturado é composto por um conjunto de funções.