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
Download

ADA