[FCC 2010 TRT 20ª Região – Analista Judiciário – Especialidade Tecnologia da Informação – Questão 23] No contexto de subprogramação, é correto afirmar sobre a recursividade e a passagem de parâmetros:
[A] Na subprogramação, para se criar um procedimento é necessário um identificador, uma lista de parâmetros e as ações que nele serão executadas.
[B] Um procedimento pode ser ativado em qualquer parte do programa e sua ativação se dá por meio do uso de sua lista de parâmetros.
[C] Dentro de um procedimento ou de uma função, quando ocorre a passagem de parâmetro por valor, as alterações que a função ou procedimento efetuar afetarão diretamente a variável original.
[D] Para processar todos os “nós” de uma árvore, um procedimento chama a si mesmo recursivamente para todos os “nós” filhos, exceto o caso base, que é o nó usualmente chamado “folha”.
[E] Uma característica típica da recursão é que um conjunto, desde que finito, de sentenças ou outros dados pode ser definido, analisado ou produzido por um programa de computador.

Comentários

Letra A: “Na subprogramação, para se criar um procedimento é necessário um identificador, uma lista de parâmetros e as ações que nele serão executadas”.

Exatamente. Tanto um procedimento quanto uma função, para serem criados, necessitam-se:

  • Um identificador (o nome do procedimento);
  • Uma lista de parâmetros que possibilita a comunicação entre:
    • O programa principal; e
    • O procedimento; e
  • As ações a serem executadas;
    • Formam o corpo do procedimento.

Letra B: “Um procedimento pode ser ativado em qualquer parte do programa e sua ativação se dá por meio do uso de sua lista de parâmetros”.

Pessoal, poder pode. Um subprograma (procedimento ou função) pode ser ativado em qualquer parte do programa, porém, entretanto, em algumas linguagens somente depois de definido.

A questão não está errada. O verbo usado foi o “poder”. Se a banca tivesse usado o verbo “ser”, aí sim estaria errado, pois temos uma exceção de ativação de subprogramas: em algumas linguagens, a ativação ocorre apenas depois de definidos.

Com certeza, essa questão poderia ser anulada por haver dois gabaritos.

Letra C: “Dentro de um procedimento ou de uma função, quando ocorre a passagem de parâmetro por valor, as alterações que a função ou procedimento efetuar afetarão diretamente a variável original”.

A letra fala da passagem por referência e não por valor.

Letra D: “Para processar todos os ‘nós’ de uma árvore, um procedimento chama a si mesmo recursivamente para todos os ‘nós’ filhos, exceto o caso base, que é o nó usualmente chamado ‘folha’”.

O erro da questão é dizer que o nó folha não é chamado num procedimento recursivo que trata nós de uma estrutura de dados chamado árvore.

Letra E: “Uma característica típica da recursão é que um conjunto, desde que finito, de sentenças ou outros dados pode ser definido, analisado ou produzido por um programa de computador”.

Mais uma letra sobre recursividade.

Pessoal, a recursividade é bem exemplificada quando uma função é definida em termos de si mesma, ou seja, quando ela chama a si mesma para poder resolver algum problema, como, por exemplo, ao percorrer os nós de uma árvore.

Uma grande vantagem da recursividade é que um conjunto infinito (não finito, como diz a letra) de sentenças possíveis ou outros dados podem ser definidos, analisados ou produzidos por um programa de computador finito.

Gabarito: letra A, mas deveria ser ANULADO.

Testando resoluções de dispositivos.

PS4 e XBox.

PS4 e XBox.

PC.

PC.

WIII U.

WII U.

[]s e até a próxima!

_________________________
Sou eu!!!Rogério Araújo

Blog: https://rogerioaraujo.wordpress.com/
Gmail: rgildoaraujo@gmail.com
Twitter: http://twitter.com/rgildoaraujo
LinkedIn: http://br.linkedin.com/in/rgildoaraujo
Grupo de estudo no TIMasters 2.0: http://timasters.ning.com/group/dev