Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FUNDATEC 2023

ProgramaçãoLinguagens de programação
Código
qq891175
Banca
FUNDATEC
Órgão
FUMSSAR - RS
Ano
2023
Nível
Médio
Cargo
Técnico de Informática
Analise a estrutura de programação abaixo, em que foi ocultado, propositalmente, o nome que identifica o tipo de estrutura.Imagem associada para resolução da questão <nome> ( <parâmetros> ) <tipo_de_dado>var<variáveis locais>início<instruções>fimQue tipo de estrutura é essa que, quando executada, exige o retorno explícito de um valor?
  1. ABiblioteca.
  2. BFunção.
  3. CClasse.
  4. DProcedimento.
  5. EInterface.
Revelar gabarito e comentário

GabaritoB — Função.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Funções e Procedimentos em Programação

Gabarito: letra B. A estrutura apresentada é uma função, pois possui nome, parâmetros, tipo de dado de retorno, variáveis locais e um bloco de instruções — e, quando executada, exige o retorno explícito de um valor, característica que distingue função de procedimento.

O que é uma função?

Uma função é um bloco de código reutilizável que executa uma tarefa específica e retorna um valor ao ponto onde foi chamada. Ela é declarada com um nome, pode receber parâmetros (dados de entrada) e, ao final, devolve um resultado — esse retorno é obrigatório e explícito, geralmente usando a palavra-chave return (ou retorne, em pseudocódigo).

A estrutura mostrada na questão segue exatamente esse padrão:

<nome> ( <parâmetros> ) <tipo_de_dado>
var
<variáveis locais>
início
<instruções>
fim

O <tipo_de_dado> após os parâmetros indica o tipo do valor que a função deve retornar (inteiro, real, caractere, etc.). Isso é a assinatura típica de uma função em linguagens como Pascal, Visual Basic e em pseudocódigo.

Função × Procedimento

A distinção central está no retorno de valor:

Critério

Função

Procedimento

Retorno

Obrigatório — retorna um valor

Opcional — pode não retornar nada

Uso

Em expressões e atribuições

Como comando isolado

Exemplo

resultado <- soma(2, 3)

imprimirMensagem("Olá")

Enquanto a função sempre devolve um resultado, o procedimento é um subprograma que executa ações sem necessariamente retornar um valor — ele pode apenas modificar variáveis ou exibir informações.

Exemplo prático

Em pseudocódigo, uma função que calcula o dobro de um número seria:

funcao dobro(x: inteiro): inteiro
var
resultado: inteiro
início
resultado <- x * 2
retorne resultado
fim

Já um procedimento que apenas exibe uma mensagem seria:

procedimento saudacao()
início
escreva("Olá, mundo!")
fim

Note que a função tem : inteiro (tipo de retorno) e usa retorne; o procedimento não tem tipo de retorno e não usa retorne.

A pegadinha da banca

A banca explora exatamente a confusão entre função e procedimento. O candidato que não domina a diferença pode marcar "Procedimento" (letra D), mas o procedimento não exige retorno explícito de valor — essa é a característica exclusiva da função.

NÃO CAIA NESSA!

A banca troca os conceitos de função e procedimento. Lembre-se: função retorna valor obrigatoriamente; procedimento não. Se a estrutura tem <tipo_de_dado> e exige retorno, é função.

Análise das alternativas

Subprograma
  • 1Função
    • Retorno obrigatório
    • Usada em expressões
    • Tem tipo de dado
  • 2Procedimento
    • Retorno opcional
    • Comando isolado
    • Sem tipo de dado
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Biblioteca é um conjunto de funções, classes ou módulos prontos para uso, não uma estrutura de programação com essa sintaxe. Não se declara uma biblioteca com nome, parâmetros e tipo de retorno.

Alternativa B — ✅ Correta ⟵ GABARITO

A estrutura apresentada é uma função: possui nome, parâmetros, tipo de dado de retorno (<tipo_de_dado>), variáveis locais e bloco de instruções. A exigência de retorno explícito de um valor é a característica que define uma função.

Alternativa C — ❌ Incorreta

Classe é um conceito da programação orientada a objetos que agrupa atributos e métodos. A sintaxe mostrada (nome, parâmetros, tipo de retorno, var, início, fim) não corresponde à declaração de uma classe.

Alternativa D — ❌ Incorreta

Procedimento é um subprograma que executa ações, mas não exige retorno explícito de valor. A presença do <tipo_de_dado> e a exigência de retorno indicam que a estrutura é uma função, não um procedimento.

Alternativa E — ❌ Incorreta

Interface é um contrato que define métodos que uma classe deve implementar, sem fornecer implementação. Não é uma estrutura executável com variáveis locais e instruções como a apresentada.

Gabarito: letra B — a estrutura é uma função, pois exige retorno explícito de valor.

Link permanente: /questoes/qq891175