Ada (linguagem de programação)
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 , Simula2 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.
Índice |
Introdução [editar]
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.
Estrutura Básica [editar]
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]
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]
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]
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]
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]
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]
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
- ↑ 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
- ↑ 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
- ↑ 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
- ↑ 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
- ↑ 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