Você está na página 1de 3

Exercícios 04

1. O paradigma de programação imperativa é largamente caracterizado pelo fato de


seus programas expressarem instruções e comandos que o computador deve
executar para alcançar os objetivos. Outra característica importante do paradigma de
programção imperativa é:

Você acertou!
A. Mutação de estado (alterar os valores das variáveis).

Outra característica marcante de linguagens de programação imperativa é a alteração dos


valores de variáveis. Linguagens que implementam essa característica são imperativas,
mesmo que também atendam a outros paradigmas. Expressar o código por meio de
funções, implementação de subprogramas e herança e polimorfismo, apesar de ser possível
em linguagens imperativas, é característica que define outros paradigmas. Expressar
símbolos e letras é de linguagens lógicas

Resposta incorreta.
B. Costuma expressar o código principalmente por meio de funções.

Resposta incorreta.
C. Implementa recursos de herança e polimorfismo entre as classes.

Resposta incorreta.
D. As expressões são compostas por símbolos e letras.

Resposta incorreta.
E. Caracteriza-se pela implementação de subprogramas ou modularização de
programas.

2. As linguagens de programação imperativa podem ser classificadas como


completas quanto a Turing. Analise as questões e assinale a que representa uma
síntese do que significa ser completa quanto a Turing.

Resposta incorreta.
A. Possibilitar a implementação de recursos de reutilização de código.

Resposta incorreta.
B. Apresentar sintaxe semelhante a linguagens de baixo nível.

Você acertou!
C. Apresentar recursos que permitem expressar qualquer algoritmo computacional.

Uma linguagem é considerada completa quanto a Turing quando permite que qualquer
algoritmo seja expresso, implementando condicionais e controle de fluxo, por exemplo.
Reutilizar código não é uma necessidade para esse enquadramento, bem como escrita em
linguagem de baixo nível. Em linguagens imperativas, os dados ocupam a memória junto ao
programa, o que quebraria a regra, caso fosse uma necessidade.
Resposta incorreta.
D. Possibilitar que os dados de um programa fiquem fora da memória do computador.

Resposta incorreta.
E. Permitir tratar todas as exceções de código em um algoritmo.

3. As linguagens de programação imperativa são também chamadas de linguagens


procedurais devido ao fato de permitirem uma certa estruturação do código
construído. Acerca desse conceito, assinale a alternativa que apresenta uma
desvantagem dessa característica:

Resposta incorreta.
A. Falta de recursos de implementação de código recursivo.

Resposta incorreta.
B. Dificuldade em legibilidade do código.

Resposta incorreta.
C. Falta de recursos de comandos interativos.

Você acertou!
D. Falta de flexibilidade dado o caráter sequencial das instruções.

A falta de flexibilidade do código em linguagens imperativas procedurais, dado o caráter


sequencial das intsruções, é uma das desvantagens desse conceito. Existem muitas
linguagens de programação que implementam o paradigma no mercado e permitem
implementar recursividade, dispõem de comandos interativos e têm boa legibilidade do
código.

Resposta incorreta.
E. Dificuldade de disponibilidade de linguagens de programação no mercado.

4. A programação em linguagem imperativa se caracteriza por expressar a chegada a


um resultado e não como. Analise o código abaixo, acerca de um o trecho do código
de um programa em linguagem C, e assinale a alternativa correta sobre a
característica do paradigma imperativo que é possível perceber.

function join(array) { var text = ""; for (var i = 0; i < array.length; i++) {

text += array[i];

return text;
}

Resposta incorreta.
A. Uso de função.

Você acertou!
B. Instruções explícitas.

O código representa uma implementação em paradigma imperativo. Podemos observar que


é explícito como o comando interativo for vai fazer para percorrer o array e também
incrementar o valor da variável text. Apesar do uso de funções e comandos incrementais em
linguagens imperativas, isso por si só não é característica que justifique uma linguagem
imperativa. Já quanto a reuso e código enxuto, isso não é perceptível no trecho e também
não é justificativa para classificar uma linguagem como imperativa.

Resposta incorreta.
C. Comando incremental.

Resposta incorreta.
D. Reuso código.

Resposta incorreta.
E. Código enxuto.

5. Uma linguagem de programação pode dar suporte a mais do que um só paradigma


de programação. Nesse contexto, analise as alternativas a seguir e assinale a que
apresenta as características que justifiquem que uma linguagem forneça suporte à
implementação do paradigma imperativo.

Resposta incorreta.
A. Funções, estruturas de controle e abstração procedimentos.

Resposta incorreta.
B. Variáveis, implementação lógica e abstração de procedimentos.

Você acertou!
C. Variáveis, atribuição e execução sequencial de procedimentos.

Para que uma linguagem implemente características de programação imperativa, faz-se


necessário que, ao menos, implemente o conceito de atribuição a variáveis para
manipulação de seu estado e uma execução sequencial dos procedimentos. Implementação
lógica e alto nível de abstração são características de linguagens declarativas.

Resposta incorreta.
D. Alto nível de abstração e implementação sequencial de instruções.

Resposta incorreta.
E. Variáveis, estruturas de controle e alta abstração.

Você também pode gostar