Ada (linguagem de programação)

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
NoFonti.svg
Este artigo ou se(c)ção cita uma ou mais fontes fiáveis e independentes, mas ela(s) não cobre(m) todo o texto (desde janeiro de 2012).
Por favor, melhore este artigo providenciando mais fontes fiáveis e independentes e inserindo-as em notas de rodapé ou no corpo do texto, conforme o livro de estilo.
Encontre fontes: Googlenotícias, livros, acadêmicoScirusBing. Veja como referenciar e citar as fontes.

Ada é uma Linguagem de programação estruturada, de tipagem estática, é uma linguagem imperativa, orientada a objetos e é uma linguagem de alto nível, originada de Pascal [1] , Simula[2] e outras linguagens. Foi originalmente produzida por uma equipe liderada por Jean Ichbiah da CII Honeywell Bull, contratados pelo Departamento de Defesa dos Estados Unidos durante a década de 70, com o intuito de substituir as centenas de linguagem de programação usadas pelo DoD.[3] Ada é uma aplicação com compiladores validados para uso confiável em missões criticas, tais como softwares de aviação. Normatizada internacionalmente pela ISO, sua versão mais atual é de 2005.

O nome Ada vem de Ada Lovelace, a mulher conhecida por ter escrito o primeiro algoritmo para ser processado por uma máquina na história da computação.

Introdução[editar | editar código-fonte]

No ano de 1974, o Departamento de Defesa dos Estados Unidos, criou um grupo para por em ordem a situação em que o DoD (Departament of Defense) se encontrava.[3] Eles utilizavam por volta de 450 linguagens ou dialetos de programação e não possuíam uma linguagem adequada para sistemas embutidos.

Formou-se então o Grupo de Trabalho de Linguagens de Alta Ordem (HOLWG, sigla em inglês). O resultado principal desse grupo foi que em 1979, a empresa francesa CII Honeywell Bull foi a campeã de uma disputa entre 17 empresas para o desenvolvimento de uma nova linguagem de programação, pois a idéia de adotar uma já existente havia sido descartada.[4]

E tentando realizar um sonho de uma linguagem universal, reunindo vários personagens desde a sua gestação até a sua publicação, após diversas propostas de desenvolvimento, várias revisões de especificações, em 1982, em homenagem a Condessa Ada Lovelace, que pode ser considerada a dama dos computadores pela sua contribuição a computação, surgiu Ada®, uma linguagem de programação patrocinada pelo Departamento de Defesa dos EUA, que teve uma base de Cobol e Basic e que anos mais tarde serviria de base para o Ruby.

No ano de 1982, foi publicado seu primeiro padrão ISO (Ada 83), [4] que ficou conhecido como Manual de Referência Ada. No ano de 1995, houve a primeira revisão da linguagem (Ada 95)[5] e em 2006 foi liberada a mais nova versão (Ada 2005), que incluiu conceitos usados na linguagem Java e algumas bibliotecas do C++. A próxima revisão deve ser liberada em meados de 2012 (atualmente chamada pela comunidade como Ada 2012). A linguagem foi também, a primeira linguagem de programação orientada a objetos padronizada internacionalmente.

Por motivo de esclarecimento, a grafia correta para a linguagem é a terminação Ada e não ADA como está referida em alguns lugares, pois se refere à homenageada Ada Lovelace.

Ada Lovelace

Estrutura Básica[editar | editar código-fonte]

A estrutura básica de um programa escrito em Ada é a seguinte:

--Declaracoes de bibliotecas
Procedure nome_do_programa is
--Declaracoes de variaveis
begin
--Corpo do programa com as instrucoes e calculos
end nome_do_programa;

Todo e qualquer comentário é iniciado com dois traços seguidos “--” e terminam no fim da linha.

Exemplos práticos de programas escritos em Ada[editar | editar código-fonte]

A partir de agora serão exemplificados alguns códigos de programas escritos usando Ada 95 e o compilador Ada+SQL Development Environment 3.0.

Programa Olá Mundo![editar | editar código-fonte]

No exemplo abaixo, temos um código básico de um programa escrito em Ada, usando a biblioteca Text_IO, que fornece procedimentos de entrada e saída para trabalhar com textos.

--Programa Alo Mundo
 
With Ada.Text_IO; Use Ada.Text_IO;
 
Procedure AloMundo is
 
begin
	Put("Programação em Ada!");
	New_Line;
	Put_Line("Exemplo do Olá Mundo!!");
end AloMundo;

No código acima, o comando Put_Line, imprime na tela toda a expressão que está entre aspas dentro dos parênteses, seguido de uma quebra de linha no final da expressão. No caso de querer implementar uma nova linha para identar melhor a saída, pode se fazer o uso do comando “New_Line;”. Esse comando realiza uma quebra de linha na saída do texto na tela.

A linha do código de saída poderia ser escrita da seguinte maneira, não sendo necessário então o uso da expressão “Use Ada.Text_IO;”:

Ada.Text_IO.Put_Line("Programação em Ada!");

Uma sugestão é ter cuidado ao usar a clausula USE, pois em programas complexos ou grandes, podemos ficar sem saber de que biblioteca vem o comando ou procedimento usado.

Usando Variáveis[editar | editar código-fonte]

A declaração de variáveis em Ada é feita da seguinte forma:

	variável : tipo de variável;

Para fazer a declarações de variáveis globais, ou seja, que valem para o programa todo, deve-se declará-las entre o nome do procedimento e o begin. Para usarmos variáveis, devemos saber usar os comandos de entrada e saída. O comando de entrada padrão do Ada é o Get, assim como o comando de saída padrão é o Put, esses comandos estão dentro da biblioteca Text_IO. Vamos a um exemplo prático:

With text_IO; Use text_IO;
With Ada.Integer_Text_IO; Use Ada.Integer_Text_IO;
Procedure uso_variaveis is
	n: natural;
	idade : integer;
	nome: string(1..100);
begin
	New_Line(3);
	Put("Digite o seu nome. (Ate 100 caracteres): ");
	Get_Line(nome,n);
	New_Line;
	Put("Digite sua idade: ");
	Get(idade);
	New_Line;
	Put_Line("Voce disse que: ");
	Put("  * Seu nome e': ");
	Put_Line(nome(1..n));
	Put("  * Sua idade e': ");
	Put(idade);
	Put(" anos.");
	New_Line(4);
end uso_variaveis;

O Comando If[editar | editar código-fonte]

Para o uso de condições, a estrutura básica é a seguinte:

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

Vamos a um exemplo prático, onde também será usado o comando elsif:

With text_IO; Use text_IO;
With Ada.Integer_Text_IO; Use Ada.Integer_Text_IO;
Procedure usando_if is
	x, y : integer;
begin
	New_Line(3);
	Put("Digite o primeiro valor: ");
	Get(x);
	Put("Digite o segundo valor: ");
	Get(y);
	New_Line;
 
	if x>y then
		Put_Line("O Primeiro valor digitado e' maior!");
	elseif x<y then
		Put_Line("O Segundo valor digitado e' maior!");
	else
		Put_line("Os dois valores são iguais.");
	end if;
	New_Line(3);
 
end usando_if;

Os comandos For, While e Loop[editar | editar código-fonte]

No exemplo abaixo, temos um código que faz o uso dos três comandos.

With text_IO; Use text_IO;
With Ada.Integer_Text_IO; Use Ada.Integer_Text_IO;
Procedure usando_for_while_loop is
	a: natural;
begin
	New_Line(3);
 
	for a in 1..3 loop 
		Put_Line("Usando o Comando For em Ada.");
	end loop;  
	New_Line(3);
	a := 1;
	while a /=5 loop 
		Put_Line("Usando o Comando While em Ada.");
		a := a + 1;
	end loop;  
	New_Line(3);
	a := 1;
	loop 
		Put_Line("Usando o Comando Loop em Ada.");
		exit when a=5;
		a := a + 1;
	end loop;  
	New_Line(3);
end usando_for_while_loop;

Exemplo de tabuada[editar | editar código-fonte]

Com os comandos apresentados acima, já é possível escrever alguns pequenos programas, como por exemplo, um código que imprime na tela do console a tabuada do 1 ao 10. Veja abaixo o código:

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(2);  
        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;
        New_Line(2);
end Tabuada;

Referências

  1. Pratt, Terrence W.; Zelkowitz, Marvin V. Programming Languages: Design and Implementation (em inglês). 4ª ed. Upper Saddle River, New Jersey: Prentice hall, 2001. 339-340 p. ISBN 0-13-027678-2
  2. Guezzi, Carlo; Jazayeri, Mehdi. Programming Languages Concepts (em inglês). 3ª ed. New York: John Wiley & Sons, 1998. 52 p. p. 16. ISBN 0-471-10426-4
  3. a b Smith, James F,; Frank, Thomas S. Introduction to Programming Concepts and Methods with Ada (em inglês). Nova Iorque, EUA: McGraw-Hill, 1994. 545 p. p. 7. ISBN 0-07-911725-2
  4. a b Sebesta, Robert W.. Conceitos de Linguagens de Programação. 9ª ed. Porto Alegre: Bookman, 2010. 792 p. p. 103-108. ISBN 978-85-7780-791-8
  5. Lopes, Arthur Vargas. Introdução à Programação com Ada 95 (em inglês). Canoas: Editora da Ulbra, 1997. 422 p. p. 54-58. ISBN 85-85692-38-3

Ligações externas[editar | editar código-fonte]