Você está na página 1de 2

Programação imperativa

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 é:

R: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.

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.

R: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.

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:

R: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.

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;
}

R: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.

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.

R: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.

Você também pode gostar