quinta-feira, 7 de maio de 2009

Link que contém fontes Ada para baixar.

Links para baixar códigos prontos da linguagem ADA:

Fontes Completos ADA

sexta-feira, 24 de abril de 2009

A linguagem ADA 95

Ada é uma linguagem de programação relativamente nova desenvolvida pelo Departamento de Defesa dos Estados Unidos em uma tentativa de resolver a confusão de software que existia na década de 70. Nesse período, sentia-se que as 2000 ou mais linguagens de programação em uso poderiam ser substituídas em grande parte por uma linguagem bem planejada para uso em sistemas de Tempo-Real embutidos (embedded).
Ada 95 é uma atualização ISO da linguagem de programação Ada para incorporar o mais recente conhecimento de desenvolvimento de software. A versão de 1983 da linguagem foi chamada de Ada durante anos. A versão mais nova (revisada em 1995) que substituiu a versão original também é chamada de Ada.
A linguagem ADA 95 é o resultado do maior esforço despendido para a definição de uma linguagem de programação. É uma linguagem de propósito geral, onde a qualidade de um programa é o seu forte. Esta linguagem está fortemente associada aos princípios da engenharia de software e estimula a construção de softwares voltados ao reuse.
O nome ADA foi escolhido em homenagem a Augusta Ada Byron, Condessa de Lovelace e filha do poeta Lord Byoron. Ada trabalhou com Charles Babbage na programação da Difference Engine. Por isso, Ada é considerada a primeira programadora.

Notação BNF da linguagem Ada 95

Veja a sessão de downloads.

Palavras reservadas da Linguagem ADA 95

A seguir estão as 69 palavras reservadas (keywords) da linguagem ADA 95 (Ada 83 só tinha 63 palavras reservadas):

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 subtype tagged task
terminate then type until use
when while with xor

Tipo de Dados Pré-Definidos da Linguagem ADA 95

A linguagem Ada dá muita importância aos tipos de dados e suas operações, sendo por isso chamada de fortemente tipada. Isto quer dizer que a cópia e a associação de objetos é apenas permitida quando os respectivos objetos têm tipos compatíveis. A seguir, estão os tipos pré-definidos mais populares da linguagem (tipos primitivos):
Tipo Integer
O tipo Integer permite o armazenamento de números inteiros dentro do intervalo fechado [-32767, 32967] , e faz parte dos tipos elementares escalares discretos da linguagem.
Tipo Natural
O tipo Natural restringe os valores do tipo Integer. Os objetos definidos com o tipo Natural podem conter valores dentro do intervalo fechado [0,32767].
Tipo Positive
O tipo Positive, assim como o tipo Natural, restringe os valores do tipo Integer. Os objetos do tipo Positive podem conter valores dentro do intervalo fechado [1,32767].
Tipo Character
O tipo Character permite o armazenamento de 256 caracteres. Ele engloba todos os literais caracteres
Tipo Boolean
O tipo Boolean permite o armazenamento dos valore boleanos true e false.
Tipo String
O tipo String permite o armazenamento de um conjunto de elementos do tipo Character.
Tipo Float
O tipo Float permite o armazenamento de números, incluindo os literais numéricos com valores significativos à direita do ponto decimal, mais especificamente denominados de números de ponto flutuante, dentro do intervalo fechado [-1.67E+306,1.67E+307] com até oito dígitos decimais, fazendo parte dos tipos elementares escalares da linguagem.

Coleções

Arrays
Arrays permitem a representação de coleções de dados homogêneos sob a forma de vetores, matrizes e estruturas com mais de 02 dimensões.
A sintaxe simplificada de definição de arrays é dada por
array ( {, }) of ;
Cada intervalo discreto especifica o primeiro e o último subscrito de cada dimensão. O Subtipo especifica o tipo de todos os objetos do array.
Vetores
Os arrays com apenas uma dimensão são apelidados de vetores. Abaixo está um exemplo de definição de vetor:
Tot_Dias : array (1 .. 12) of Integer;
Podemos definer ainda da seguinte forma:
Tot_Dias : array (1 .. 12) of Integer := (15,31,20,35,35,32,35,1,56,65,12,12);
Para acessarmos um elemento do vetor Tot_Dias basta apenas utilizarmos o comando Tot_Dias[<índice>], onde <índice> pode ser qualquer número entre 1 e 12 (quantidade de posições do vetor Tot_Dias).

Matrizes
Arrays com duas ou mais dimensões são apelidadas de matrizes. Logo abaixo está um exemplo de definição de matrizes:
Despesas : array ( 1 .. 31, 1 .. 3 ) of Float;
Para armazenar um valor numa determinada posição em uma matriz, podemos usar uma sintaxe semelhante a Despesas(<índice 1>, <índice 2>), onde os índices 1 e 2 são valores inteiros que estejam dentro do intervalo definido para a matriz (1 .. 31 e 1 .. 3).

Definição de Novos Tipos de Dados

Assim como existem os tipos de dados pré-definidos, pode-se também definir novos tipos.

A construção SubType

Podemos definir tipos de dados que herdam as propriedades de tipos anteriormente definidos. Também é possível modificar estar propriedades. Um meio de redefinir um tipo de dado é através da construção subtype. A sintaxe parcial para a construção sybtype é dada por:
Subtype is ;
Onde
::= []
Exemplos:

- Define um tipo composto por um string de comprimento 4
Subtype Chave_de_Pesquisa is String ( 1 .. 4 );

- Integer mas restringe a capacidade de armazenamento pela metade.
Subtype Integer_Pequeno is Integer
range Integer’First/2 .. Integer’Lasta/2;

-Simplesmente renomeia o tipo Integer
SubType Inteiro is Integer;