Você está na página 1de 7

Hortêncio Benedito da Rocha Ambrósio

O paradigma imperativo

Licenciatura em Engenharia Informática

Universidade Rovuma
Campus de Napipine
2022
Hortêncio Benedito da Rocha Ambrósio

O paradigma imperativo

Licenciatura em Engenharia Informática

Trabalho de carácter avaliativo da cadeira


de Paradigma no curso de Engenharia
Informática 1º ano

Universidade Rovuma
Campus de Napipine
2022
Índice
1. Introdução

2. Principais características da linguagem imperativa…………………………………………..5


3. Como funciona a programação imperativa…………………………………………………...6
4. Modelo computacional do paradigma imperativo……………………………………………7

5. Elementos da programação imperativa……………………………………………………….8


6. Técnicas em programação imperativa………………………………………………………..9
7. Vantagem……………………………………………………………………………………10
8. Desvantagem………………………………………………………………………………..11
Conclusão................................................................................................................................…...12
Ficha bibliográfica.........................................................................................................................13

Introdução
Principais características da linguagem imperativa
As linguagens imperativas também são chamadas de procedurais e se trata do modelo mais antigo
de todos, a execução é baseada em comandos e armazenamento de dados. O paradigma imperativo
foi predominante nas LP, pois são mais fáceis de traduzir para uma forma adequada para execução
da máquina. Um programa imperativo é mantido em variáveis que são associadas com localizações
de memória que correspondem a um endereço e um valor de armazenamento. O valor da variável
pode ser acessado direta ou indiretamente, e pode ser alterado através de um comando de atribuição.
O comando de atribuição introduz uma dependência de ordem no programa, ou seja, o valor da
variável pode se modificar antes e depois do comando e isso garante a sequencia de instruções.

As funções de linguagem de programação imperativa são descritas como algoritmos que


especificam como processar um intervalo de valores, a partir de um valor de domínio, com uma
série de passos descritos. A repetição é usada para processar os valores e laços para varrer uma
sequencia de localizações de memória (vetores, por exemplo), ou para acumular valor nas variáveis.

 Variáveis: modelam as células de memória

 Comandos de atribuição: são baseados nas operações de transferências de dados e


instruções.
 Execução sequencial de procedimentos
 Forma interativa de repetição

Como funciona a programação imperativa


A essência da programação imperativa e também da Máquina de Turing se resume a três conceitos:

 A descrição de estados de uma máquina abstrata por valores de um conjunto de variáveis


 Reconhecedores desses estados - expressões compostas por relações entre esses valores ou
os resultados de operações utilizando valores
 Comandos de atribuição e controle

O código fonte dos programas e computador, seguindo o paradigma imperativo possui marcações
especiais (implícitas ou explícitas) que direcionam a sua execução pelo sistema operacional e, em
última análise, pelo hardware. Embora as linguagens de programação modernas pertencentes a
outros paradigmas tendam a facilitar cada vez mais a escrita do código, camuflando operações mais
próximas às linguagens de baixo nível, podemos encontrar ainda a presença de estruturas de
controle da mesma forma que ocorria em linguagens de programação de vinte ou trinta anos atrás.
As marcações utilizadas para controlar a execução dos programas são chamadas de estruturas de
controle. As estruturas de controle são divididas em três grupos: sequência, seleção e repetição. A
estrutura de sequência é implícita nos programas e indica que as instruções são executadas uma
após a outra, seguindo uma sequência.

Modelo computacional do paradigma imperativo

Programas centrados no conceito de um estado (modelado por variáveis) e ações (comandos) que
manipulam o estado, são programas projetados em um paradigma imperativo, paradigma esse que
também é denominado de procedural, por incluir sub-rotinas ou procedimentos como mecanismo de
estruturação. Foi o primeiro paradigma a surgir e ainda é o dominante.

O paradigma imperativo está baseado na ideia de um estado que sofre modificações durante a
computação. O estado é representado por um conjunto de associações de identificadores (variáveis
globais e locais ativas do programa) em valores. A diferença fundamental com relação ao paradigma
funcional é que esta associação é dinâmica, sendo constantemente modificada durante a execução
de um programa. As linguagens imperativas oferecem uma variedade de comandos cuja execução
envolve aspectos de controle, mas essencialmente modificação do estado do programa.

O elemento central de um programa imperativo é o comando, que pode ser primitivo (como
atribuição, leitura e escrita) ou composto, como sequência, condicional e iteração. Um importante
mecanismo de estruturação das linguagens imperativas é o procedimento, que, como uma função,
pode ser parametrizado, mas tem como corpo um comando, ao invés de uma expressão. Em geral,
um programa em uma linguagem imperativa deixa de ser uma expressão e passa a ser um comando.

Elementos da programação imperativa


Os principais elementos da programação imperativa são:

 Definição de tipos de dados


 Expressões e atribuições
 Estruturas de controle de fluxo (programação estruturada)
 Definição de sub-rotinas (programação procedimental)

Técnicas em programação imperativa


 Modularidade dos Algoritmos (Programação estruturada)
 Modularidade das Estruturas de dados (Tipos abstratos de dados)
 Recorrência

Vantagens

 Eficiência (embute o modelo Von Neumann


 Paradigma dominante e bem estabelecido
 Modelagem natural de aplicações do mundo real
 Possui tipagem fraca e também muito flexível (alguns especialistas consideram isso uma
desvantagem)
 É fácil de se entender, sendo amplamente usada em cursos introdutórios de programação.

Desvantagens

 Possui difícil legibilidade


 Descrições demasiadamente profissional focaliza o "como" e não o "quê"
 Relacionamento indireto com a E/S (indução a erros/estados)
 Ainda se foca em como a tarefa deve ser feita e não em o que deve ser feito.
 Tende a gerar códigos confusos, onde tratamento dos dados são misturados com o
comportamento do programa.

Você também pode gostar