Ada POR QUE ESSE NOME? • O nome Ada é uma homenagem a condessa de Lovelace, Augusta Ada Byron, filha de Lord Byron que trabalhou com Charles Babbage e é considerada como a primeira programadora de computadores da História. O QUE É ADA? • Ada é uma linguagem de programação de alto nível e imperativa baseada em Pascal e criada através de um concurso realizado pelo U.S. Departament of Defense (DoD) sendo o principal projetista da equipe o francês Jean Ichbiah. Esse concurso foi feito para por ordem na situação, o DoD em 1974 usava cerca de 450 linguagens ou dialetos de programação. A linguagem foi primeiramente padronizada em 1983 pelo ANSI e em 1985 a Organização Internacional de Padronozação (ISO) fez uma padronização semelhante e em 1995 a ISO padronizou uma nova versão melhorada. O QUE É ADA? • Sentia-se que as 2000 ou mais linguagens de programação em uso naquele momento poderiam ser substituídas em grande parte por uma linguagem bem planejada para uso em sistemas de Tempo-Real embutidos. O QUE É ADA 95? • 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. Desde que a versão mais nova pretende substituir a versão original, ela também é chamada Ada. ADA É UMA LINGUAGEM GRANDE • 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. ADA É UMA LINGUAGEM GRANDE • também foi feita para o desenvolvimento de grandes sistemas. • é especialmente apropriada para uso em equipe. 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. IDENTIFICADORES • 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. PALAVRAS RESERVADAS • Ada 95 usa 69 palavras reservadas (Ada 83 só tinha 63 palavras reservadas). O uso de palavras reservadas simplifica o enorme trabalho de fazer um compilador para Ada. • A seguir estão as palavras reservadas (ignorando distinções de upper/lower case): 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 procedu re protecte d raise range record rem renames requeue return reverse select separate subtype tagged task termina te then type until use when while with xor Estrutura Básica --Declaracoes de bibliotecas Procedure nome_do_programa is --Declaracoes de variaveis begin --Corpo do programa com as instrucoes e calculos end nome_do_programa; Obs: Todo e qualquer comentário é iniciado com dois traços seguidos “--” e terminam no fim da linha. O Comando If 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; O Comando If - Exemplo 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!"); elsif 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 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; Quem usa? • Departamento de defesa dos EUA. • A linguagem Ada é hoje em dia a muito utilizada nos sistemas de armamento e segurança nacional dos Estados Unidos. Porém também possui sistemas nãomilitares. Quem usa? • Na esfera comercial, vem sendo utilizado em sistemas financeiros, de transporte metroviário e de aviação, assim como também em sistemas espaciais. Tendo em destaque a programação do Boing 777, onde dois milhões de linhas de código fonte em Ada controlam seus diversos computadores de bordo. Programa Hello World! -- Programa Hello World with Text_IO; use Text_IO; procedure Hello_World is begin Put_Line(“Hello World!"); end Hello_World; 99 Bottles of Beer -- Ada version of 99 Bottles of Beer with Ada.Text_IO; use Ada.Text_IO; with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; procedure Bottles is count : Integer := 99; begin while count > 0 loop Put (count, Width=>0); Put_Line (" bottles of beer on the wall,"); Put (count, Width=>0); Put_Line (" bottles of beer."); Put_Line ("Take one down and pass it around."); count := count - 1; if count = 0 then Put_Line("No bottles of beer on the wall!"); else Put (count, Width=>0); Put_Line (" bottles of beer on the wall."); end if; New_Line; end loop; end Bottles; REFERÊNCIAS BIBLIOGRÁFICAS • • • • • • • • • http://www.inf.unisinos.br/~barbosa/linguagens/consipro2/ada/ada.pdf http://joselauro.tripod.com/ada.html http://www.99-bottles-of-beer.net/language-ada-20.html BARNES, J. Programming in Ada95. 2ª Edição, LOCAL: Editora Addison-Wesley, DATA. BURNS, A. Concurrency in Ada. 2ª Edição, New York: Cambridge University Press, 1998. LEDGARD, H. ADA – Uma introdução. Rio de Janeiro: Editora Campus, 1985. SEBESTA, R.W. Conceitos de Linguagem de Programação. 4ª Edição, Porto Alegre: Bookman, 2000. WATT, D. A. ADA Language and Methodology. Hertfordshire: Prentice Hall, 1987. LOPES, A. V. Introdução à Programação com ADA 95. Canoas: Editora Ulbra, 1997. FIM