Pular para o conteúdo principal

Questão de Programação — Conceitos básicos de programação — FCC 2020

ProgramaçãoConceitos básicos de programação
Código
fc058968
Banca
FCC
Órgão
AL-AP
Ano
2020
Cargo
Analista Legislativo - Desenvolvedor de Sistemas
Um Desenvolvedor de Sistemas precisa decidir qual tipo de linguagem de programação deve escolher para o desenvolvimento de um projeto e, para tanto, avaliou linguagens estruturadas e linguagens orientadas a objetos. Nessa avaliação, ele constatou que
  1. Aas estruturas básicas de controle previstas nas linguagens estruturadas são: sequência, condição e repetição.
  2. Bherança e polimorfismo são conceitos encontrados nesses dois tipos de linguagens.
  3. Ccom linguagens estruturadas, não se podem utilizar técnicas de subprogramação (ou modularização), para melhorar a clareza dos programas mais complexos, por meio da sua subdivisão em partes menores.
  4. Duma desvantagem de uma linguagem estruturada em relação a uma linguagem orientada a objetos é que a primeira promove o uso intensivo do comando de desvio condicional (GOTO), ao contrário da segunda.
  5. Euma linguagem estruturada permite diretamente a representação dos elementos do mundo real e suas interações, que se refletem no projeto na forma de classes e métodos.
Revelar gabarito e comentário

GabaritoA — as estruturas básicas de controle previstas nas linguagens estruturadas são: sequência, condição e repetiçã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”.

Paradigmas de Programação: Linguagens Estruturadas vs. Orientadas a Objetos

Gabarito: letra A. A alternativa A descreve corretamente as três estruturas básicas de controle da programação estruturada: sequência, condição (seleção) e repetição (iteração). Os conceitos de herança e polimorfismo são exclusivos da orientação a objetos; as linguagens estruturadas não os possuem. A programação estruturada, ao contrário do que afirma a alternativa D, foi uma reação contra o uso indiscriminado de GOTO, promovendo código mais organizado e legível. A modularização (subprogramação) é plenamente possível e incentivada em linguagens estruturadas. A representação de elementos do mundo real por meio de classes e métodos é característica da orientação a objetos, não das linguagens estruturadas.

Critério

Linguagem Estruturada

Linguagem Orientada a Objetos

Estruturas básicas de controle

Sequência, condição e repetição

Sequência, condição e repetição (também as possui)

Conceitos de herança e polimorfismo

Não possui

Possui

Suporte a subprogramação/modularização

Sim (funções, procedimentos)

Sim (métodos, classes)

Uso do comando GOTO

Desencorajado (reação contra seu uso)

Desencorajado

Representação de elementos do mundo real

Não diretamente (sem classes/métodos)

Sim (por meio de classes e métodos)

Alternativa A ✅ Correta ⟵ GABARITO

A definição clássica da programação estruturada, estabelecida por Edsger Dijkstra e outros, compreende três construções básicas: sequência (execução linear de instruções), seleção (condicional: if-else, switch-case) e repetição (laços: for, while, do-while). Essas estruturas permitem escrever programas claros e de fácil manutenção.

Alternativa B ❌ Incorreta

Herança e polimorfismo são conceitos fundamentais da programação orientada a objetos (POO). Linguagens estruturadas (como C, Pascal, Fortran) não oferecem suporte nativo a esses mecanismos. A afirmação de que ambos os tipos de linguagens os possuem é falsa.

Alternativa C ❌ Incorreta

As linguagens estruturadas permitem e incentivam a técnica de subprogramação (modularização) por meio de funções, procedimentos e módulos. Essa prática é essencial para dividir programas complexos em partes menores e mais gerenciáveis, melhorando a clareza e a reutilização de código.

Alternativa D ❌ Incorreta

NÃO CAIA NESSA!

A banca inverte a relação histórica. A programação estruturada surgiu justamente para eliminar o uso excessivo de GOTO, que gerava código espaguete. Linguagens estruturadas desencorajam GOTO; as orientadas a objetos também o evitam, mas não é uma diferença entre elas. Portanto, a alternativa D está errada ao afirmar que a linguagem estruturada promove GOTO.

Alternativa E ❌ Incorreta

A representação de elementos do mundo real por meio de classes (que definem atributos e métodos) e objetos (instâncias) é uma característica central da programação orientada a objetos. Linguagens estruturadas utilizam tipos de dados abstratos e funções, mas não classes e métodos no sentido da POO.

PEGA ESSA DICA!

Para fixar: lembre-se das palavras-chave – Estruturada: funções, procedimentos, sequência/condição/repetição. Orientada a Objetos: classes, objetos, herança, polimorfismo, encapsulamento. Na prova, desconfie de afirmações que misturam conceitos entre paradigmas.

Link permanente: /questoes/fc058968