SóProvas


ID
126466
Banca
ESAF
Órgão
Prefeitura de Natal - RN
Ano
2008
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Analise as seguintes afi rmações relacionadas a conceitos básicos de programação e de algoritmos:

I. Considerando entradas totalmente desordenadas, em um algoritmo de "Ordenação por Inserção", o tempo consumido no processamento para ordenar uma entrada de mil números é o mesmo que o tempo gasto para ordenar uma entrada de três números, quando executados em uma mesma máquina com arquitetura RISC.
II. Considerando o tempo de execução do pior caso de um algoritmo, na pesquisa de um banco de dados em busca de um determinado fragmento de informação, o pior caso do algoritmo de pesquisa ocorrerá, na maioria das vezes, quando a informação não estiver presente no banco de dados.
III. Um algoritmo é dito recursivo quando, para resolver um problema, ele chama internamente vários outros algoritmos duas ou mais vezes para lidar com subproblemas intimamente relacionados.
IV. Para qualquer número inteiro N e qualquer número inteiro positivo K, o valor N mod K é o resto do quociente N/K.

Indique a opção que contenha todas as afi rmações verdadeiras.

Alternativas
Comentários
  • I. Considerando entradas totalmente desordenadas, em um algoritmo de "Ordenação por Inserção", o tempo consumido no processamento para ordenar uma entrada de mil números é o mesmo que o tempo gasto para ordenar uma entrada de três números, quando executados em uma mesma máquina com arquitetura RISC.CERTO. A pegadinha aquí é a entrada de mil números. Na verdade a questão foi mal redigida. Deveria ser uma entrada de mil algarismos.II. Considerando o tempo de execução do pior caso de um algoritmo, na pesquisa de um banco de dados em busca de um determinado fragmento de informação, o pior caso do algoritmo de pesquisa ocorrerá, na maioria das vezes, quando a informação não estiver presente no banco de dados.ERRADO. O pior caso não é não encontrar, e sim quando a informação, ao longo do processo de busca, está na última localização checada pelo algorítmo.III. Um algoritmo é dito recursivo quando, para resolver um problema, ele chama internamente vários outros algoritmos duas ou mais vezes para lidar com subproblemas intimamente relacionados.CORRETO.IV. Para qualquer número inteiro N e qualquer número inteiro positivo K, o valor N mod K é o resto do quociente N/K.ERRADO. O Operador MOD retorna o resto da divisão inteira de N/K. A pegadinha da questão é quando diz qualquer númeri inteiro positivo K. Basta que ele seja inteiro.
  • Daniel considerando o seu comentário quanto ao item IV, qual seria o resultado de 20 mod 0? (Lembre-se, zero é número inteiro).Quanto ao item II, se eu tenho 2 algoritmos, A, B e,na execução de A eu chamo 3 vezes o algoritmo B, isto significa que A é recursivo? Você está certo disto?Entendo que seria mais ou menos o seguinte: "Um algoritmo é dito recursivo quando, para resolver um problema, ele chama A SI PRÓPRIO duas ou mais vezes para lidar com subproblemas intimamente relacionados.
  • Como eu pensei, o gabarito oficial mostra a alternativa E como sendo a correta.
  • Concordo. Algoritmo recursivo chama a SI PROPRIO. Resposta certa letra E.