Questão de Programação — Conceitos básicos de programação — FCC 2020
Programação›Conceitos 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
Aas estruturas básicas de controle previstas nas linguagens estruturadas são: sequência, condição e repetição.
Bherança e polimorfismo são conceitos encontrados nesses dois tipos de linguagens.
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.
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.
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.