Pular para o conteúdo principal

Questão de Programação — Java — CESGRANRIO 2006

ProgramaçãoJava
Código
cg025632
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2006
Nível
Superior
Cargo
Petrobrás - Analista de Sistemas Pleno - Engenharia de Software
Imagem associada para resolução da questãoImagem associada para resolução da questãoO algoritmo recursivo (recFind) em Java, acima, que está sendo escrito por um analista, tem como objetivo localizar um elemento (searchKey) em um vetor (vetA). Para que o algoritmo funcione conforme especificado, qual das modificações propostas nas opções deve ser implementada, considerando que no exemplo acima o algoritmo tenta localizar o número 3 no vetor?
  1. AModificar a chamada do método "recFind (searchKey, 0, nElems - 1)" para "recFind(searchKey, 1, nElems)".
  2. BModificar a linha "curIn = (ow + up) / 2;" para "curIn = (up - ow) / 2;".
  3. CModificar a linha "else if (ow > up)" para "else if (ow >= up)".
  4. DModificar a linha "if (vetA[curIn] < searchKey)" para "if (vetA[curIn] > searchKey)".
  5. EModificar a linha "return recFind(searchKey, curIn, up)" para "return recFind(searchKey, curIn + 1, up)".
Revelar gabarito e comentário

GabaritoE — Modificar a linha "return recFind(searchKey, curIn, up)" para "return recFind(searchKey, curIn + 1, up)".

Link permanente: /questoes/cg025632