# Introdução
## O que vem a ser linguagem de Programação

Antes de falarmos em linguagem de programação, vamos falar primeiramente sobre o que é um programa. Chamamos de programas as sequências de instruções a serem seguidas (neste caso específico, pelo computador) para a realização de uma tarefa.
Existem diversas formas de escrever um programa para o computador. Podemos fazê-lo diretamente em código de máquina (codificado em binário) com o uso de mnemônicos e montadores (linguagens de baixo nível, como, por exemplo, assembly) ou com o uso de uma linguagem corrente, normalmente o inglês, e o uso de um interpretador que se encarrega de convertê-la em linguagem de máquina, o que é feito a cada comando quando ele for executado ( exemplo BASIC ).
Um programa ainda pode ser feito por compilador (exemplo: COBOL, FORTRAN, PASCAL) que fará a conversão de todo o programa escrito em alto nível em um programa contendo o código objeto que, uma vez compilado, pode ser executado várias vezes sem depender mais do uso do programa compilador.

## Algoritmo

Algoritmo é uma sequência de procedimentos que são executados sequencialmente com o objetivo de resolver um problema específico. Basicamente é um programa em linguagem mais próxima à nossa (alto nível).
Exemplo de algoritmo: "Como fazer um bolo"
Linguagem usada: Português (linguagem de alto nível) Elementos manipulados: ingredientes (ovos, leite, farinha, ...)
Algoritmos são usados para rascunhos de programas, como forma de idealizar, organizando e desenvolvendo sequências lógicas, em seguida são traduzidos para alguma linguagem de programação,

## A linguagem Pascal

Em cursos básicos de programação utilizamos a linguagem Pascal para praticar e executar algoritmos, pois esta linguagem foi criada com esta finalidade.
História do Pascal
Ano de 1971. O professor Niklaus Wirth projeta uma linguagem como trabalho escolar para estudantes de programação da Universidade Técnica de Zurique, Suíça. Essa linguagem vem a se chamar Pascal, homenageando o filósofo e matemático do século XVII, Blaise Pascal.
A partir dessa época, diversas versões de Pascal foram implementadas, com destaque especial a Borland / Inprise, que construiu os melhores e mais populares compiladores Pascal.
Turbo Pascal 1: Desde a sua primeira versão, o compilador pascal da Borland (chamado de Turbo Pascal) já possuía ambiente para digitação e depuração do código fonte, e fazia a compilação e linkedição do código em um único processo. Outra característica dos compiladores Turbo Pascal: são extremamente rápidos e geram executáveis enxutos, e com código nativo.
Turbo Pascal 2 e 3: Foram acrescentadas algumas funcionalidades nessas versões, como o acesso a diretórios através do ambiente de programação, para a localização de arquivos. Foi incluído novos procedimentos e funções.
Turbo Pascal 4: Foram introduzidas rotinas do DOS para leitura de diretórios, leitura e escrita de atributos de arquivos; ferramentas para acesso à memória e portas de hardware; facilidades para a construção de rotinas gráficas, com estilo de contornos e preenchimentos; foi implementado na versão 4 o conceito de unidade (Unit), fazendo com que um mesmo código fosse compartilhado entre vários programas fonte, e sem a necessidade da recompilação; esta versão ainda foi responsável pela implementação de novos tipos de dados e finalmente, a possibilidade de deixar o programa residente.
Turbo Pascal 5: Ocorreu uma importante evolução no compilador - a depuração. O programa agora pode ser executado passo a passo, inclusive com o acompanhamento do conteúdo das variáveis.
Turbo Pascal 5.5: Esta versão foi a responsável pela estréia do Pascal Orientado a Objetos, dando origem a primeira implementação do Object Pascal.

# Comandos

Conjunto de palavras-chave de uma linguagem de programação que tem por finalidade dizer ao computador como ele deve executar uma tarefa. No exemplo de algoritmo descrito acima (receita de bolo), os comandos eram palavras-chaves representados por verbos da língua portuguesa, em computadores os comandos são usualmente palavras originária da língua inglesa. Exemplo: write, read, do, ...

# Compiladores

Para que o computador execute o programa escrito em Pascal, é necessário traduzi-lo para a linguagem de máquina. Compiladores são estes tradutores, que além disso, ainda testam o código mostrando os erros.
Principais compiladores usados:
* Turbo Pascal 7 - Clássico compilador de Pascal, Utiliza interface DOS;
* Pascalzim - Desenvolvido no Departamento de Ciências da Computação da Universidade de Brasília,
Utiliza interface Windows, e tem como principal recurso a procura e substituição de palavras.
* Free Pascal - Compilador gratuito, compatível com Pascal e Object Pascal (linguagem usada no Delphi). É muito compatível com a linguagem usada no Turbo Pascal 7, e possui versões para sistemas Windows, GNU/Linux, Mac, DOS, OS/2, Haiku, e GNU/BSD. É um projeto de código livre (open source).

## Bibliotecas

Bibliotecas são um conjunto de funções e procedimentos chamadas por comandos nos programas. Por exemplo a biblioteca CRT responde ao comando clrscr (limpar a tela). No caso do compilador Turbo Pascal acessamos a biblioteca da seguinte forma:
Observação: o compilador Pascalzim já acessa a biblioteca CRT, não sendo necessário acessá-la.

## Construção do programa em Pascal

O programa se constitui num texto, que pode ser editado em qualquer editor de texto ou diretamente no compilador, sendo necessário ser salvo com a terminação .pas de pascal, em seguida compilado (traduzido para linguagem de máquina), para depois ser executado. Nos compiladores de hoje já é possível executar direto pulando todas estas etapas.
O programa em Pascal se constitui basicamente de:
No decorrer do livro serão apresentados mais detalhes
Exemplo de programa em Pascal: