Questão de Programação — Linguagens de programação — Quadrix 2025
- Código
- qg595096
- Banca
- Quadrix
- Órgão
- CFO
- Ano
- 2025
- Nível
- Médio
- Cargo
- Técnico em Tecnologia da Informação
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: ✅ CERTO. A afirmação está correta: em Java, os subprogramas são definidos por métodos, e a distinção entre funções (que retornam um valor) e procedimentos (que não retornam valor) é uma classificação válida e essencial para a modularização do código. Essa é uma característica fundamental da linguagem, amplamente documentada e cobrada em concursos.
O que a questão explora é o conceito de métodos em Java, que são os blocos de código que executam uma tarefa específica e podem ser chamados por outras partes do programa. A terminologia "função" e "procedimento" é herdada de linguagens procedurais, mas em Java ambos são implementados como métodos. A diferença crucial está no retorno: uma função retorna um valor (usando a palavra-chave return), enquanto um procedimento não retorna valor (declarado com o tipo void).
Essa distinção é importante porque permite ao programador organizar o código em unidades lógicas e reutilizáveis, promovendo a modularização. Em vez de escrever um bloco gigante de código, o programador divide o problema em métodos menores, cada um com uma responsabilidade clara. Isso facilita a leitura, a manutenção e o teste do software.
Na prática, um método que calcula a média de dois números é uma função, pois retorna um valor double. Já um método que apenas imprime uma mensagem na tela é um procedimento, pois não retorna nada (tipo void). A banca pode explorar essa distinção em questões que pedem para identificar qual método é função ou procedimento, ou qual a assinatura correta para cada caso.
A pegadinha que a banca pode explorar é a confusão entre a terminologia "função" e "procedimento" com a implementação em Java. Em Java, tudo é método — não existe a palavra-chave function ou procedure. A classificação é conceitual, baseada no tipo de retorno. O candidato que não domina esse conceito pode achar que a afirmação está errada por não existir "procedimentos" em Java, mas a classificação é válida e amplamente utilizada.
Guarde a fronteira: função = retorna valor (tipo de retorno diferente de void) e procedimento = não retorna valor (tipo de retorno void). É exatamente nessa distinção que a questão se apoia.
A afirmação está correta. Em Java, os subprogramas são definidos por métodos, que podem ser classificados como funções (retornam um valor) ou procedimentos (não retornam valor). Essa classificação é essencial para a modularização do código, pois permite organizar a lógica em blocos reutilizáveis e de responsabilidade única.
Para fixar, lembre-se: em Java, função é um método que retorna um valor (ex.: int somar(int a, int b) { return a + b; }), e procedimento é um método que não retorna valor, declarado com void (ex.: void imprimir(String msg) { System.out.println(msg); }). Essa distinção é cobrada em provas de programação Java.
Gabarito: ✅ CERTO
Link permanente: /questoes/qg595096