Questões de Informática · ProGPe UFSCAR

InformáticaLógica de programação e algoritmosProGPe UFSCAR 2014

UFSCAR

Questão de Informática

31

O algoritmo a seguir deve buscar um determinado elemento (variável X) em um conjunto ordenado de N elementos, armazenados contiguamente na memória em um vetor (variável V). Considere que as variáveis imin, imax, imid e N são de números inteiros. Entrada: N – Número de elementos da sequência ordenada V. V – Sequência de elementos ordenados, acessíveis pelas posições de [0,N-1]. X – Valor do elemento a ser consultado no vetor V. Saída do retorno: -1 – Caso o elemento X não pertença à sequência ordenada V. imid – Posição do elemento X na sequência ordenada V. Este algoritmo possui dois erros. 01 imin ← 0 02 imax ← N-1 03 enquanto imax > imin faça 04 imid ← (imax+imin)/2 05 se V[imid] < X então 06 imin ← imid + 1 07 senão 08 se V[imid] > X então 09 imax ← imid + 1 10 senão 11 retorne imid 12 fim-se 13 fim-se 14 fim-enquanto 15 retorne -1 Considere as possíveis alterações: I - Linha 01: imin ← 1 II - Linha 03: enquanto imax >= imin faça III - Linha 04: imid ← (imax+imin+1)/2 IV - Linha 06: imin ← imid - 1 V - Linha 09: imax ← imid - 1 Qual das alternativas corrige o algoritmo anterior?

Sua resposta

Mais questões de Lógica de programação e algoritmos

Ver as 2.029 questões de Lógica de programação e algoritmos

Questão de prova oficial, com o gabarito definitivo publicado pela banca. Reproduzida para fins de estudo.