Há dois tipos de subalgoritmos que podem ser utilizados na pseudolinguagem portugol. Os subalgoritmos possibilitam ao desenvolvedor vários benefícios, entre os quais se destacam: o reaproveitamento do código já produzido em outros algoritmos, a facilidade de leitura do código gerado, entre outros.
Acerca dos subalgoritmos, analise as afirmativas a seguir:
I. Ao definir o nome de um subalgoritmo, este sempre deverá ser acompanhado de um par de parênteses.
II. Em um subalgoritmo, podem ser declaradas variáveis e constantes, conforme são declaradas no algoritmo.
III. Ao criar um subalgoritmo do tipo função, é importante definir o tipo de dados que ele retornará.
IV. O desenvolvedor, ao criar uma rotina que verifique se o número do CPF é válido, retornando ao final um valor verdadeiro ou falso, pode fazer uso de um procedimento.
V. As funções e procedimentos só serão executados se chamados pelo algoritmo principal.
É correto o que se afirma em:
A)
I, III e IV, apenas.
B )
I, II, III e IV, apenas.
C)
II e III, apenas.
D )
IV e V, apenas.
E )
II, III e V, apenas.

Passo 1

Beleza, vamos resolver esse exercício juntos! A questão fala sobre subalgoritmos na pseudolinguagem Portugol. Nosso objetivo é analisar cinco afirmações (I a V) e descobrir quais estão corretas. Para isso, vamos precisar entender o que são subalgoritmos, suas características principais e como eles funcionam dentro de um algoritmo maior.

Passo 2

Vamos começar com a Afirmação I:
I. Ao definir o nome de um subalgoritmo, este sempre deverá ser acompanhado de um par de parênteses.
Aqui, estamos falando sobre a sintaxe na definição de subalgoritmos. Em muitas linguagens de programação, incluindo o Portugol, quando você cria um subalgoritmo (seja uma função ou procedimento), o nome dele é seguido de parênteses, mesmo que não haja parâmetros. Por exemplo:
funcao calcularSoma()
Então, essa afirmação está correta.

Passo 3

Agora, a Afirmação II:
II. Em um subalgoritmo, podem ser declaradas variáveis e constantes, conforme são declaradas no algoritmo.
Isso significa que dentro de um subalgoritmo, você pode ter suas próprias variáveis e constantes, assim como no corpo principal do algoritmo. Essas variáveis são locais ao subalgoritmo e não afetam o restante do programa. Por exemplo:
procedimento mostrarMensagem()
    inteiro contador
    constante mensagem = "Olá!"
    escreva(mensagem)
fimprocedimento
Portanto, essa afirmação está correta.

Passo 4

Vamos para a Afirmação III:
III. Ao criar um subalgoritmo do tipo função, é importante definir o tipo de dados que ele retornará.
Uma função sempre retorna um valor específico, e para isso, é essencial definir o tipo de dado que será retornado (como inteiro, real, booleano, etc.). Isso ajuda o algoritmo principal a saber que tipo de valor esperar. Por exemplo:
funcao calcularMedia(nota1, nota2: real): real
    retorne (nota1 + nota2) / 2
fimfuncao
Assim, essa afirmação está correta.

Passo 5

Agora, a Afirmação IV:
IV. O desenvolvedor, ao criar uma rotina que verifique se o número do CPF é válido, retornando ao final um valor verdadeiro ou falso, pode fazer uso de um procedimento.
Aqui temos uma confusão entre funções e procedimentos. Se a rotina retorna um valor (verdadeiro ou falso), o ideal é usar uma função, já que procedimentos não retornam valores, apenas executam ações. Então, a afirmação sugere o uso de um procedimento para retornar um valor, o que está incorreto.

Passo 6

Por último, a Afirmação V:
V. As funções e procedimentos só serão executados se chamados pelo algoritmo principal.
Isso significa que, para que uma função ou procedimento seja executado, é necessário que o algoritmo principal faça a chamada dessa rotina. Se não for chamada, ela não será executada. Por exemplo:
inicio
    chamar mostrarMensagem()
fim
Se mostrarMensagem não for chamada, ela não executa. Portanto, essa afirmação está correta.

Resposta

E) II, III e V, apenas.

Exercícios relacionados