Gigaflops :: Pascal
Make your own free website on Tripod.com

   Linguagens de Programação - Pascal

Linguagem Pascal

Histórico

A Linguagem Pascal foi criada a partir de uma linguagem chamada ALGOL. Esta linguagem, cuja primeira versão foi apresentada em 1958 e se chamava ALGOL 58, teve na sua linha evolutiva mais três versões o ALGOL 60, o ALGOL 68 e o ALGOL-W.

Esta última versão do ALGOL, foi desenvolvida por Niklaus Wirth e C. A. R. Hoare, num processo que se desenvolveu em separado do projeto oficial da linguagem, pois o grupo responsável pelo ALGOL achava que a evolução proposta pelo projeto de Wirth era mínima. Mas mesmo sem o apoio do grupo, Wirth concluiu seu pojeto resultando na linguagem ALGOL-W, que foi utilizada em algumas universidades americanas apenas como veículo de ensino de programação.

Mas Wirth não parou por aí, ele começou a projetar outra linguagem, a partir do ALGOL 60. O projeto desta linguagem foi concluído no ano de 1971 mas, durante a sua fase de implementação, sofreu diversas alterações incorporando recursos de outras linguagens. A esta linguagem deu-se o nome de PASCAL, que teve a sua implementação concluída no ano de 1973.

O Pascal ao longo de sua história foi ganhando muita importância, principalmente no ensino de programação, sendo em meados a década de 70 a linguagem mais utilizada para este fim. O desenvolvimento do compilador Turbo Pascal, pela Borland, teve grande importância neste sucesso da linguagem, já que ele não era um simples compilador, mas um ambiente de desenvolvimento, onde se podia construir e depurar o código, o que foi uma novidade para a época. Devido a sua grande utilização a linguagem foi incorporando as novas tecnologias na área de linguagens de programação, como por exemplo a orientação ao objeto, o que deu origem a uma versão da linguagem popularmente conhecida como "Object Pascal" (esta versão foi implementada junto com o IDE Delphi da Borland).

A sua popularidade fez com que a linguagem se tornasse de uso mais genérico, tornando-se uma linguagem também para desenvolvimento de aplicações de nível simples ou médio, mas isto só foi conseguido devido ao grande investimento que a linguagem recebeu ao longo de sua história.

Aplicabilidade e Uso

A linguagem Pascal, por ser uma linguagem imperativa, é ideal para a resolução de problemas cujas soluções sejam representadas por uma sequência de ações muito bem definidas. Uma linguagem imperativa é aquela baseada principalmente em comandos de atribuição, elas são tipicamente procedurais, isto é, executam uma sequência de ações que em conjuto realisam uma tarefa específica. Daí a facilidade para a resolução de problemas cuja solução se enquadre nestes moldes.

Como dito anteriormente, a linguagem Pascal teve como seu principal ambiente de uso o meio acadêmico. O que não é nenhuma surpresa, já que a linguagem foi projetada para o uso educacional. Devido a esta destinação educacional, o Pascal tem por característica ser muito simples e segura, sua sintaxe é bem expressiva o que juntamente com as suas estruturas de controle favorecem a construção de um código que seja auto documentado (i.e. não necessita de documentação extra para que possa ser compreendido).

Mas mesmo diante de algumas barreiras impostas pela sua simplicidade, a linguagem também é utilizada para o desenvolvimento de aplicações comerciais e científicas. Um dos principais fatores que possibilitaram esta utilização do Pascal para aplicações genéricas foi o suporte a orientação ao objeto, mesmo sendo este um suporte parcial, isto é, a linguagem "Object Pascal" permite a "convivência" de objetos de dados do tipo classe, com outros tipos de objetos de dados dentro de um mesmo programa.

A linguagem Pascal tem suporte a uma série de estruturas que facilitam a vida do programador e aumentam o poder de processamento da linguagem, tais como:

  • Declaração de tipos, ou estruturas de dados compostos.
  • Utilização de sub-rotinas, que são chamadas de funções e procedimentos.
  • Utilização de bibliotecas de funções (tanto padrões como definidas pelo prórpio usuário).
  • Alocação dinâmica de memória (uso de ponteiros).

Tutorial Simples

Este tutorial visa apenas apresentar algumas estruturas básica da linguagem, abrangendo uma sintaxe resumida do Pascal. Primeiramente apresentamos o código de um programa simples, e em seguida faremos uma breve discussão sobre o código.

O código abaixo recebe do usuário, via teclado, o valor de 5 números, depois extrái a média dos números, e identifica o maior e o menor dentre eles.

01 program media_maior_menor;
02 var soma, maior, menor, indice: integer;
03   media : real;
04   numeros : array[1..5] of integer;
05 begin
06   soma := 0; {Inicia o valor de soma com zero}
07   for indice := 1 to 5 do
08    begin
09     write("Digite o número ",i,": ");
10     read(numeros[indice]);
11     soma := soma + numeros[indice];
12    end;
13   maior := numeros[1];
14   menor := numeros[1];
15   media := soma / 5;
16   indice := 0; {Zera o valor de indice para fazer nova pesquisa}
17   while (indice < 5) do
18    begin
19     indice := indice + 1; {Incrementa a variável indice}
20     if (numeros[indice] > maior)
21      then maior := numeros[indice]
22      else if (numeros[indice] < menor)
23       then menor := numeors[indice];
24    end;
25   writeln("A média dos números é: ",media);
26   writeln("O maior número é: ",maior);
27   writeln("O menor número é: ",menor);
28 end.

Primeiramente, os números das linhas exibidas no código acima não fazem parte do código do programa, elas foram inseridas aqui somente para facilitar a discussão do código. Os espaços em branco tem a única finalidade de melhorar a legibilidade do código, não tendo nenhuma influência na geração do arquivo executável (i.e. programa). Todas as palavras em negrito são palavras reservadas da linguagem Pascal, e não podem ser usadas para outro fim senão aquele especificado pela linguagem.

A declaração da linha 1 é origatória aos programas em Pascal, ela informa que o código em questão dá origem a um arquivo executável, o nome após a palavra "program" especifica o nome do programa, a linha acaba com um ponto-e-virgula (;), que deve sempre ser colocado ao final de cada instrução.

As linhas 2, 3 e 4 é onde declaramos as variáveis que utilizaremos em nosso programa, a palavra após o caractere de dois-pontos (:) ao final de cada uma das linhas informa o tipo das variáveis listadas à sua frente. A linha quatro em especial faz a declaração de um vetor de 5 posições. A declaração de variáveis é opcional ao programa, na ausência dela o programa não terá variáveis, o que é raro. É importante ressaltar que todas as variáveis utilizadas no programa devem ser declaradas com seus respectivos tipos.

O bloco de programa entre as linhas 5 e 28 representa o código do programa que será executado, isto é, o nosso programa começa a ser executado na linha 6 e prossegue sequêncialmente (respeitando é claro os comandos de mudança de fluxo) até encerrar a sua execução na linha 27.

Estes três blocos de texto descritos acima, (comando "program", a declaração de variáveis e o conjunto de comandos do programa) fazem parte da estrutura geral de um programa em Pascal. Agora entraremos no mérito das estruturas de controle e de manipulação de dados da linguagem Pascal.

O que temos na linha 6 é uma expressão de atribuíção, isto é, o valor da expressão, variável ou constante situada à direita do operador ':=', é gravado na variável situada a esquerda deste mesmo operador. O que se vê nesta linha após o ponto-e-virgula, entre os simbolos '{' e '}', é um comentário e tem a funcionalidade de melhorar a legibilidade do código.

A estrutura que compreende as linhas 7 a 12 é uma estrutura de repetição com o número de repetições definido em tempo de compilação. O código a ser repetido está entre as palavras "begin" e "end". Este laço solicita ao usuário que digite cinco números. A linha 10, a função "read();", faz a leitura dos dados digitados pelo usuário.

Nas linhas 13 e 14 atribuímos as variáveis maior e menor, o conteúdo da primeira posição do vetor declarado na linha 4.

A estrutura compreendida entre as linhas 17 e 24 é uma estrutura de repetição com o número de repetições desconhecidas em tempo de compilação, o bloco de código será executado enquanto a expressão entre parênteses for verdadeira. Dentro deste bloco, da linha 20 a linha 23 temos uma estrutura de decisão chamada "if", se a expressão entre parênteses na linha 20 for verdadeira, o código relacionado com a palavra "then" será executado, caso contrário será executado aquele relacionado com a palavra "else" . A presença do bloco relacionado com o "else" é optativa como podemos ver na estrutura mais interna, das linhas 22 e 23.

Nas linhas 25 a 27, utilizamos uma função própria da linguagem "write();" para enviar textos e números para o vídeo.

Finalmente na linha 28 temos a palavra "end" seguida de um ponto final. Este ponto é obrigatório e só deve ser usado no último "end" do código, que é aquele que encerra o programa.
 
   Menu Pascal