sexta-feira, 24 de abril de 2009

Linguagem Imperativa












Bom pessoal,
depois de conhecer sobre a linguagem funcional
vamos ter conhecimento de uma que a constrasta: A Linguagem Imperativa!
Mas antes de aprofundarmos nela,
vale ressaltar um fator que exerce um
efeito crucial nos projetos das linguagens de programação:




a arquitetura do computador.
Boa parte das linguagens de programação nos últimos anos foram projetadas em torno da arquitetura do computador, conhecidas por arquitetura de von Neumann.

Mas o quer dizer isso??

Nesta arquitetura( usada hoje nos microcomputadores comercializados), tanto os dados como os programas são armazenados na mesma memória, e a CPU que processa as instruções, é separada da memória. Dessa forma, os dados e instruções devem ser transportados da memória para a CPU e os resultados das operações realizadas na CPU devem ser devolvidos para a memória.
As linguagens imperativas estruturadas sofrem no entanto de uma falta de flexibilidade dadas o caráter sequencial das instruções. Contrariamente a programação declarativa, a programação imperativa introduz um paradigma de programação que descreve a computação em termos de um estado de um programa e acções que modificam esse estado, tal como o modo imperativo nas linguagens naturais (faladas e escritas) expressa comandos para perfazer acções, as linguagens imperativas expressam uma sequencia de comandos para um computador efetuar.

Conhecendo as características principais da linguagem imperativa....

* 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 instruções
* Forma interativa de repetição

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.

Técnicas em programação Imperativa:

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

Exemplos de programação imperativa...fortran, algol, pascal, c, ada , basic, cobol, python.

Analisando dois exemplos de Linguagem Imperativa:




FORTRAN e C!!!!!!!

FORTRAN.....

Valores, tipos e expressões....

- tipos: integer, real, double precision,
complex, logical; vetor: dimension
(dim1, dim2, dim3), real, integer
- constantes lógicas: true/false
- operadores: **,*,/,+,-,ge.,gt.,le.,eq., ne., and., or.

Comando e sequências....

- if () then
….
end if

if ()
….
else if ( ) then
….
else
….
end if
- comandos I/O: open, close, read, write, print, rewind, endfile
-goto, continue, pause, stop

Declaração, procedimentos e funções...

- declaração var:
- funções: function ()
- proc: procedure ()

Linguagem C....

Valores, tipos e expressões...

- tipos: char, int, float, double, struct, union
- operadores: -,+,*,/,%,++,>,>=,=,
!=,&&,,!,&
bit a bit: &,,^,~, <<,>>

Comandos e sequências....

if ()
else
for(inic; cond, incremento)

switch (){
case:....break;
case:....break;
default:...;
}
while () {…;}
do....

while ();
return , goto, break

Declarações, procedimentos e funções...

- declaração var: ...;
- cosntantes const = ;
- funções: ()

by Sara Mizraim Oliveia e Daniel Alex Rios









Referências.....
http://www.do.ufgd.edu.br
http://www.inf.unisinos.br

4 comentários:

  1. Gostei da postagem pela simplicidade das palavras, sinteticidade e clareza.
    Exemplos de mais de uma linguagem para facilitar o entendimento.
    Parabéns!

    ResponderExcluir
  2. Legal o post de vocês.
    Pelo que entendi a linguagem imperativa é baseada em variáveis jutamente com o uso de memória.....

    Bacana, parabéns!!!

    ResponderExcluir
  3. Gostei muito da Postagem de Vocês. Então pesquisei sobre o assunto e descobri o quanto a linguagem java esta sendo utilizado porque Java é uma linguagem Imperativa, isto é, uma linguagem baseada diretamente na arquitetura de von Neumann. E mais especificamente está construída sob o paradigma da Programação Orientada a Objetos que trás consigo uma série de conceitos tais como:

    CLASSE E OBJETO
    ENCAPSULAMENTO E ABSTRAÇÃO
    HERANÇA DE CLASSE
    MÉTODOS, MÉTODO CONSTRUTOR, SOBRECARGA E POLIMORFISMO.
    ASSOCIAÇÃO E COMPOSIÇÃO

    A correta aplicação de tais técnicas traz benefícios para nós programadore que passa a trabalhar com um maior nível de abstração, modularização e reutilização.

    Em um projeto orientado a objetos tem-se como meta identificar o melhor conjunto de objetos para descrever um sistema de software. O funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos.
    Espero ter contribuído para trabalho de vocês.
    Parabéns.

    ResponderExcluir
  4. A linguagem imperativa é muito interressante pelo fato de que as linguagem baseadas na arquitetura de Von Neuman são base das linguagens que hoje são as amis usadas.
    WLW!!!

    ResponderExcluir