Linguagem Ada

Grupo responsável:

  • Jonathan Mathias Gonczoroski
  • Rafael Radunz Borba
  • Rodrigo de Brum Acosta

ADA

A linguagem de programação Ada é:

- Alto nível: Nível de abstração elevado.

- Imperativa: Descreve a computação como ações, enunciados ou comandos que mudam o estado (variáveis) de um programa.

- Tipicamente compilada: onde o código fonte nessa linguagem é executado diretamente pelo sistema operacional ou pelo processador.

É uma linguagem baseada em Pascal, que foi criada através de um concurso realizado pelo DoD (U. S. Departament of Defense) sendo o principal projetista o francês Jean Ichbiah. Tal concurso foi realizado para por ordem na situação em que o DoD se encontrava pois eles em 1974 usavam cerca de 450 linguagens ou dialetos de programação e não havia uma linguagem adequada. A linguagem foi primeiramente padronizada em 1983, pelo ANSI e em 1985 pela ISO (Organização Internacional de Padronização) e em 1995 a ISO padronizou uma versão melhorada conhecida como Ada 95. Ada 95 foi a primeira linguagem de programação orientada ao objeto padronizada internacionalmente.

Ada foi desenvolvida para ser mais do que apenas mais uma linguagem de programação, já que ela inclui muitos dos princípios modernos de engenharia de software. Por exemplo, o conceito de ocultação de informação foi inserido na linguagem ao invés de ser implementado como uma técnica de programação.

Identificadores

Um identificador é qualquer objeto em Ada e deve ser formado seguindo algumas regras bastante rígidas. Um identificador tem que começar com uma letra do alfabeto e pode ser formado de letras, números e underlines, contanto que não hajam underlines duplos ou triplos e assim por diante e que ele não seja o último caracter.

Ada não é “case-sensitive”. Não podem ser usados espaços em branco ou caracteres especiais como parte de um identificador. É desejável que os identificadores sejam significativos.

Estrutura Básica de um Programa em Ada

- Declarações de bibliotecas:

Procedure nome_do_programa is

- Declaracoes de variaveis

begin

- Corpo do programa

end nome_do_programa;

obs: Na linguagem Ada tanto faz escrever minusculo ou maiusculo.

Palavras Reservadas

De acordo com o “Ada 95 Reference Manual” essas são as palavras reservadas em Ada. Tanto faz letras maiusculas ou minusculas. Umas 47 dessas são abordadas nesse manual ou são de uso óbvio.

abort abs abstract accept access aliased all
and array at begin body case constant
declare delay delta digits do else elsif
end entry exception exit for function generic
goto if in is limited loop mod
new not null of or others out
package pragma private procedure protected raise range
record rem renames requeue return reverse select
separate subype tagged task terminate then type
untill use when while with xor

Bibliotecas

Algumas bibliotecas da linguagem Ada são:

Ada.Text IO (ou simplesmente Text IO)

Ada.Integer Text IO

Ada.Float Text IO

Exemplo para declarar uma biblioteca:

With Ada.Text IO;

Programa Alô Mundo

 with Ada.text_IO;
 Procedure AloMundo is
 begin
     Ada.text_IO.**Put_Line**("Alo Brasil!!!");
     Ada.Text_IO.**Put_Line**(“Alo Mundo!!!”);
 end AloMundo;

Declarações de Variaveis

Para declarar a variável x como sendo float, é só fazer:

  • x:float

Para declarar a variável y como sendo do tipo inteiro e atribuir o valor 5 e a constante PI de valor 2.1415 basta fazer:

  • y:integer :=5;
  • Pi : constant float :=3.1415;

As declarações em geral devem ficar entre o cabeçalho do programa e o begin, mas o mesmo pode ser feito para funções ou procedimentos sendo nesse caso variaveis locais e não globais.

Get

Para fazer o Get ler do teclado e por numa variável x basta fazer:

Get(x);

Exemplo:

  With Ada.Integer Text IO, Ada.Text IO;  
  Use Ada.Integer Text IO, Ada.Text IO; 
  Procedure mostraget is
       x : natural;            
  begin        
       Put_Line(“Entre um numero natural”); 
       Get(x);                           
       Put_Line(“O numero que voce entrou foi: ”);     
       Put(x);                         
  end mostraget;

Comentários

Exemplo de comentarios em Ada:

–Isso é um comentario.

Esse é o unico tipo de comentário existente em Ada. Não existe nada análogo ao /* e */ do C e ao { e } ou (* e *) do Pascal.

If

O if(se) pode ser usado assim:

  if condicao then
      sequencia de comandos (executada se a condição é verdadeira)
  else
      outra sequencia de comandos (executada se a comdição é falsa)

Exemplo:

  if x > 4 and x < 10 then
        y:=x+2;
        x:=3;
  else
        y:=0;
  end if;

For

O for (para) pode ser usado da seguinte forma: (Isso é um meio exemplo)

for **a** in 1..10 loop
   sequencia de comandos
end loop;

a não precisa estar declarado a menos que você o use explicitamente não só como indice. Esse meio exemplo executa uma sequencia de comandos para a=1 até a=10. Para fazer na ordem contraria basta fazer:

for a in reverse 1..10 loop

While

O While (enquanto) é usado da seguinte forma: (Outro meio exemplo)

  while a /=3 and b <=15 and c=3.0 loop;
        sequencia de comandos
  end loop;

onde “ /= ” quer dizer diferente.

Loop

O loop é usado para repetições infinitas

exemplo:

  loop
       sequencia de comandos
  end loop;
  

Mas é claro que podemos parar, veja:

  loop
       sequencia de comandos
  exit when a=3;
       outra sequencia de comandos
  end loop;
  

No exemplo acima o loop irá parar quando a for igual a 3. A primeira sequencia de comandos será executada quando for 3 mas a outra posterior ao exit não. Um aspecto agradável em Ada é que todas as repetições terminam em end loop; o que torna fácil modifica-las de uma para outra sem jamais confundir com um if ou case por exemplo.

Case

O case (caso) pode ser usado assim:

 case x is
        when 1 => executa alguma coisa
        when 2 => executa outra coisa
        when 3..10 => executa outra coisa ainda
        when others => Put Line(“Oi”);
 end case;
 

Nesse meio exemplo, se x for 1 vai executar alguma coisa, se for 2 outra, se estiver entre 3 e 10 incluindo 3 e 10 vai executar outra coisa ainda e irá escrever “Oi” caso não seja nenhum desses.

Null

Quando você não quer fazer nada use null.

Exemplo:

 Procedure nulo is
 begin
     null
 end nulo;
 
 

Strings

Strings são arrays (sequencias) de caracteres que você pode usar para conter textos.

Exemplo:

 Put(“Isso aqui é uma string”); 
 

Você também pode criar variaveis do tipo string como no exemplo de declaração abaixo.

 menssagem : string(1..9) :=“Oi gente!”;
 

Exemplo de um programa em Ada

Esse é um programa que escreve a tabuada.

With Ada.Text IO; Use Ada.Text IO;
With Ada.Integer Text IO; Use Ada.Integer Text IO;
Procedure Tabuada is
      A, B: Integer;
begin
for A in 1 .. 10 loop
     New Line;
     Put(“ Tabuada do ”);
     Put(A);
     New Line;
     New Line;
     for B in 1 .. 10 loop
         Put(A);
         Put(“ X”);
         Put(B);
         Put(“ =”);
         Put(A*B);
         New Line;
     end loop;
     New Line;
end loop;
end Tabuada;
 
ada-1-trabalho.txt · Last modified: 2012/03/19 19:21 by clp · [Old revisions]