Вы находитесь на странице: 1из 17

Prefcio

Este tutorial destina-se a todos aqueles que desejam aprender a linguagem Pascal, atravs do seu mais famoso compilador para a linha IBM/PC, o Turbo Pascal. O Turbo Pascal muito mais que um compilador, pois ele uma associao entre um compilador, um editor de textos e um linkeditor. Desta forma, o Turbo Pascal facilita sobremaneira o ato de programar. Alm de tudo isto, o Turbo permite muitas facilidades e atividades que, com certeza, no estavam planejadas por Niklaus Wirth, o criador da linguagem Pascal. Levando-se em conta todas essas consideraes, podemos at mesmo dizer que o Turbo Pascal seria uma nova linguagem, mais poderosa que a Pascal. Gostariamos de salientar que a melhor forma de aprender uma linguagem programando, assim como a melhor forma de aprender a dirigir entrar num automvel e sair com ele por a, ou seja, o simples fato de ler este pequeno e simples tutorial de linguagem Pascal, no basta para aprender a programar em Pascal. Por fim, estamos a disposio de todos, que se aventurem a aprender esta maravilhosa linguagem, para tirar dvidas, assim como para receber crticas: tpascal@ig.com.br ou faa uma visita ao nosso site http://www2.50megs.com/tpascal,

Obrigado,

Trabalhos em Pascal

Introduo
I.1 - A Linguagem Pascal
Consideramos que a programao deve ser entendida como uma arte ou tcnica de se construir algoritmos, sendo que estes so mtodos ou "receitas" para se resolver problemas. Existem diversas linguagens para se programar, umas mais adequadas a certos tipos de algoritmos, outras a outros tipos. No entanto, uma linguagem de programao no deve ser um fim em si mesma, mas um meio, uma ferramenta para se traduzir os algoritmos em programas a serem executados por computadores. Desta forma, importante que os cursos de programao no tenham como objetivo primordial, a perfeio do conhecimento de uma linguagem especfica. A linguagem

deve to somente, refletir de maneira clara e facilmente compreensvel os aspectos principais dos algoritmos. Por tudo isso, devemos ter a preocupao de ensinarmos aos estudantes a formulao sistemtica e metdica de algoritmos, atravs de tcnicas que so caractersticas da programao. Como j dissemos, existem diversas linguagens de programao, podemos aprender e utilizar quantas desejarmos. Dizer qual a melhor muito relativo. H os que defendem o Basic, o Cobol, a C, o Pascal e tantas outras. Bom, mas a pergunta crucial que fao aqui : Qual a primeira linguagem a ser aprendida? Neste ponto, defendemos a linguagem Pascal. De acordo com observaes feitas por diversos professores, inclusive por ns (alunos com uma certa experincia), a maior parte das pessoas ficam ligadas para sempre primeira linguagem que aprenderam, e quando aprendem uma nova linguagem, tm uma certa tendncia em desenvolver os algoritmos segundo o vocabulrio e regras sintticas da primeira linguagem, s que escritas na nova. Por este motivo, achamos que a escolha da primeira linguagem a ser ensinada deve ser feita de forma judiciosa. A primeira linguagem deve, desta forma, ser tal que fornea ao aprendiz a possibilidade de desenvolver algoritmos lgicos, sistemticos, facilmente compreensveis segundo os mtodos modernos de programao e deve at possibilit-lo a "dar asas sua imaginao".

I.2 - Por que Turbo Pascal?


Um computador no pode entender nem to pouco executar instrues em linguagens de alto nvel. Ele s entende linguagem de mquina. Desta forma, os programas em linguagens de alto nvel (Pascal, Cobol, Clipper,...) devem ser traduzidos antes de serem executados pelo computador. Quem faz essa traduo so os programas tradutores. Existem basicamente 2 tipos de programa tradutor: o interpretador; e o compilador; Os dois aceitam como entrada um programa em linguagem de alto nvel (fonte) e produzem como sada um programa em linguagem de mquina (objeto). A diferena entre eles est na forma de executar a tarefa de traduo. O interpretador traduz para a linguagem de mquina e roda uma linha por vez, at que todo programa seja executado. J o compilador traduz para a linguagem de mquina todo o programa fonte e s ento ele executado. Existem linguagens de programao interpretadas e compiladas. O Cobol compilado, o Basic pode ser tanto compilado como interpretado e assim por diante. A linguagem Pascal tradicionalmente compilada.

Por outro lado, o processo de compilao de certa forma lento, pois deve seguir as seguintes etapas: Devemos utilizar um editor de textos para escrever e armazenar em disco o nosso programa fonte. Utilizar um compilador para traduzir o programa fonte para um programa em linguagem de mquina. Finalmente, devemos juntar ao programa compilado as diversas rotinas necessrias que, normalmente, ficam armazenadas numa biblioteca.

Aps todo esse processo, suponha que voc chegue concluso de que o programa tenha que sofrer modificaes, pois bem, voc ter que repetir os trs passos descritos, e assim sucessivamente at que o programa fique ao seu gosto. O compilador Turbo Pascal facilita todo esse processo, pois ele possui numa forma integrada, um editor de textos compatvel com o Wordstar, um compilador e um linkeditor. O processo de compilao pode ser feito tanto em disco como em memria, o que faz com que ele seja muito rpido. Alm disso, o Turbo Pascal atende aos padres da linguagem Pascal definidos por Niklaus Wirth, como j foi dito: o pai da linguagem. Na realidade, o Turbo Pascal vai muito mais alm, pois ele possui inmeras procedures e funes a mais do que as existentes no padro da linguagem Pascal, conhecida como Pascal Standard.

I.3 - Equipamento necessrio.


Todos os exemplos e programas contidos neste tutorial, foram escritos num compatvel Pentiun 100 com dois acionadores de discos de dupla face e alta densidade, um winchester de 800 Mb, um monitor colorido e 16 Mb de memria RAM. No entanto, a configurao mnima poderia ser um IBM/PC-XT com um winchester de 20M.

Um programa em Pascal
II.1 - O primeiro programa

Bom, achamos que aqueles que nunca tiveram a oportunidade de fazer um programa em Pascal, devem estar muito curiosos para saber como deve ser o seu aspecto. Por isso, antes de prosseguir com os meandros da linguagem Pascal, ns mostraremos um pequeno programa devidamente comentado.

***************************************************************** ************************
PROGRAMA EXEMPLO.PAS -> Pequeno exemplo de um programa em Pascal. Tem a finalidade nica e exclusiva de mostrar os diversos componentes de um programa em Pascal.

***************************************************************** ************************

{Tudo que estiver entre chaves so comentrios e no so levados em conta pelo compilador.}

Program Primeiro_Exemplo; {este e o cabealho do programa} USES Crt; {Aqui estamos utilizando uma UNIT, chamada CRT, existem vrias, e inclusive voc pode criar as suas. Nestas units temos procedures e functions previamente compiladas.}

Label fim; {a partir deste instante podemos utilizar o label fim}

Const Meu_Nome = 'Thelmo'; {nesta rea podemos definir todas as constantes que quisermos utilizar no programa} Type n = (BRASILEIRA, PORTUGUESA, INGLESA, FRANCESA, ALEM, AMERICANA); {o Turbo Pascal possui diversos tipos de variveis predefinidas, mas tambm permite definir novos tipos na subrea type}

Var idade

: integer;

altura : real; nome sexo : string[30]; : char; : n;

nacionalidade

{todas as variveis que forem utilizadas no corpo do programa devero ser declaradas na subrea Var}

Procedure Linha; {a procedure equivale ao conceito de subrotina. Sua estrutura pode se tornar to complexa como de um programa. Esta procedure, traa uma linha na posio atual do cursor}

Var i : Begin

integer;

For i:=1 to 80 do Write('-'); end;

Function Soma(x,y:integer):integer;

{o Turbo Pascal possui diversas funes prdefinidas, mas o programador tambm pode definir as suas prprias}

Begin Soma:=x+y; end;

{Podemos definir quantas procedures e functions quisermos}

{Aqui comea o programa propriamente dito}

Begin ClrScr; {apaga a tela} Linha; {Executa a procedure linha}

Writeln('Meu nome e -------> ',Meu_Nome); Linha; Write('Qual o seu nome ----> '); Readln(Nome); Linha; Write('Qual a sua idade ---> '); Readln(idade); Linha; Writeln('nossas idades somam --> ',Soma(34,idade)); Linha; goto fim; {estas linhas sero puladas} nacionalidade:=BRASILEIRA; Write('Minha nacionalidade e brasileira'); fim: Write('Prazer em conhece-lo'); End.

II.2 - Estrutura de um programa em Pascal


Todo programa em Pascal subdividido em 3 reas:

cabealho do programa; rea de declaraes; corpo do programa.

Na definio padro da linguagem Pascal, o Cabealho do programa obrigatrio, no entanto, no Turbo Pascal ele opcional. A rea de declaraes subdividida em seis sub-reas, a saber:

Label; Const; Type; Var; Procedures; Functions.

Daremos agora, uma breve explicao de cada subrea, pois mais para frente estudaremos cada uma delas com profundidade. Na subrea Label, devemos declarar todos os labels que forem utilizados no corpo do programa. Os labels so utilizados em conjunto com a instruo goto. Todas as constantes que formos utilizar no nosso programa, podem se assim desejarmos, ser definidas na subrea Const. O Turbo Pascal tem basicamente 6 tipos de variveis pr-definidas a saber: Integer, Real, Byte, Boolean, Char e String. No entanto, podemos definir novos tipos de variveis na subrea Type.

Todas as variveis utilizadas no programa devem ser declaradas na subrea Var, pois a alocao de espao de memria para as variveis feita durante a compilao. Na subrea Procedures, podemos definir quantas sub-rotinas quisermos. Elas so chamadas durante o programa pelos seus respectivos nomes. Finalmente, na subrea Functions podemos definir novas funes que depois poderemos utilizar no programa embora o Turbo Pascal possua inmeras funes prdefinidas. Estas sub-reas s so obrigatrias caso ns estejamos precisando. Exemplo: se no vamos utilizar variveis no nosso programa (coisa rara) ento no precisamos utilizar a subrea Var. De acordo com a definio padro da Linguagem Pascal, estas sub-reas devem aparecer na seqncia que foi dada anteriormente, ou seja, Label Const - Type - Var - Procedures - Functions. Mas no Turbo Pascal isto livre. Por fim, como dito no programa exemplo, existe a possibilidade de se usar a declarao USES, que nos permite utilizar UNITS que nada mais so do que bibliotecas de funes e procedures previamente declaradas.

III - Noes Bsicas preliminares

III.1 - Elementos bsicos do Turbo Pascal


III.1.1 - Caracteres utilizados

Os caracteres que podem ser utilizados no Turbo Pascal so divididos em:

Letras: 'A' at 'Z', 'a' at 'z'

Nmeros: 0,1,2,3,4,5,6,7,8 e 9

Especiais: + - * / = ^ < > ( ) [ ] { } . , : ; ' # $

Obs: Turbo Pascal no faz distino entre letras maisculas e minsculas, de tal forma que no desenvolvimento deste curso eu utilizarei os dois tipos da forma que achar mais conveniente. Embora na maioria das linguagens o sinal de atribuio de valores a variveis seja o =, em Pascal, o smbolo de atribuio :=, exemplos:

A = 100

em Basic

A := 100 em Pascal

Dois pontos em seguida (..) indica um delimitador de faixa, exemplo:

1..30 --> todos inteiros entre 1 e 30 inclusive.

III.1.2 - Palavras reservadas

As palavras reservadas do Turbo Pascal so palavras que fazem parte da sua estrutura e tm significados pr-determinados. Elas no podem ser redefinidas e no podem ser utilizadas como identificadores de variveis, procedures, functions etc. Algumas das palavras reservadas so:

absolute(*) case downto file goto label

and const else for if mod

array div end forward in nil

begin do external(*) function inline(*) not

of program shl(*) to while

or record shr(*) type with

packed repeat string(*) until xor(*)

procedure set then var

(*) --> no definidos no Pascal Standard

III.1.3 - Identificadores pr-definidos

O Turbo Pascal possui inmeros identificadores pr-definidos, que no fazem parte da definio padro da linguagem Pascal. Esses identificadores consistem em Procedures e Functions, que podem ser utilizados normalmente na construo de programas. Exemplos:

ClrScr: DelLine:

limpa a tela de vdeo; deleta a linha em que est o cursor e assim por diante.

Constantemente, novas procedures e functions esto sendo criadas pela Borland International (criadora do Turbo Pascal), aumentando desta forma o nmero de identificadores. So UNITS que tornam o Turbo Pascal mais poderoso do que ele j .

Regras para formao de identificadores:

O usurio tambm pode definir seus prprios identificadores, na verdade ns somos obrigados a isso. Nomes de variveis, de labels, de procedures, functions, constantes, etc. so identificadores que devem ser formados pelo programador. Mas para isso existem determinadas regras que devem ser seguidas:

Primeiro caractere do identificador dever ser obrigatoriamente uma letra ou um underscore (_);

Os demais caracteres podem ser letras, dgitos ou underscores; Um identificador pode ter no mximo 127 caracteres; Como j dissemos anteriormente, no pode ser palavra reservada.

Exemplos de identificadores vlidos:

Meu_Nome MEU_NOME igual ao anterior __Linha EXemplo23

Exemplos de identificadores no vlidos:

2teste : comea com nmero; Exemplo 23 : tem um espao.

III.1.4 - Comentrios

Comentrios so textos que introduzimos no meio do programa fonte com a inteno de torn-lo mais claro. uma boa prtica em programao inserir comentrios no meio dos nossos programas. No Turbo Pascal, tudo que estiver entre os smbolos (* e *) ou { e } ser considerado como comentrio.

III.1.5 - Nmeros

No Turbo Pascal, podemos trabalhar com nmeros inteiros e reais, sendo que os nmeros inteiros podem ser representados na forma hexadecimal, para tanto, basta

preced-los do smbolo $. Os nmeros reais tambm podem ser representados na forma exponencial. Isso tudo varia de verso para verso do turbo Pascal, citaremos aqui as faixas de valores vlidas para a verso 7.0:

Tipo Shortint Integer Longint Byte Word

Faixa -128..127 -32768..32767 -2147483648..2147483647 0..255 0..65535

Formato Signed 8-bit Signed 16-bit Signed 32-bit Unsigned 8-bit Unsigned 16-bit

Tipo Real Single Double Extended Comp

Faixa 2.9e-39..1.7e38 1.5e-45..3.4e38 5.0e-324..1.7e308 3.4e-4932..1.1e4932 -9.2e18..9.2e18

Digitos 11-12 7-8 15-16 19-20 19-20

Bytes 6 4 8 10 8

III.1.6 - Strings

Strings so conjunto de caracteres entre aspas simples, exemplos:

'isto uma string' '123456' etc.

III.1.7 - Caracteres de controle

Existem alguns caracteres que tm significados especiais. So os caracteres de controle. Exemplos:

Control G: Contorl L: etc.

Bell ou beep Form Feed

Em Turbo Pascal, tambm podemos utilizar estes caracteres. Para tanto, eles devem ser escritos pelo seus valores ASCII correspondentes, precedidos do smbolo #, ou ento a letra correspondente precedida do smbolo ^, exemplo:

Control G:

#7 ou ^G

III.2 - Definio de variveis

Como j dissemos, todas as variveis que forem utilizadas no corpo do programa, devem ser declaradas numa subrea especfica chamada Var. Para estudarmos essa subrea devemos primeiro ver os tipos de variveis prdefinidos em Turbo Pascal.

III.2.1 - Tipos de dados pr-definidos

Os tipos de dados pr-definidos em Turbo Pascal so divididos em duas categorias:

Escalares Simples:

Char; Boolean;

todos os tipos de inteiros citados acima; todos os tipos de reais citados acima.

Escalares estruturados:

String; Array; Record; File; Set; Text.

Inicialmente, iremos estudar os escalares simples e o tipo String pela sua utilizao prtica inicial. Os demais tipos estruturados sero vistos mais para a frente.

CHAR: O tipo char corresponde a todos os caracteres que podem ser gerados pelo teclado tais como dgitos, letras e smbolos tais como &, #,*, etc. Os caracteres devem vir entre aspas simples.

BOOLEAN: O tipo boolean s pode assumir os valores FALSE e TRUE.

STRING: Este tipo chamado de estruturado ou composto pois constitudo a partir de um tipo simples que o char. O tipo string composto por um conjunto de caracteres entre aspas simples.

SHORTINT - INTEGER - LONGINT - BYTE - WORD: Ver tabela acima.

REAL - SINGLE - DOUBLE - EXTENDED - COMP: Ver tabela acima.

III.2.2 - A declarao Var

Esta a subrea onde devemos declarar todas as variveis que iremos utilizar em nosso programa. Exemplo:

Program Exemplo;

(* cabealho do programa *)

Var idade,nmero_de_filhos : byte; altura sexo nome sim_ou_nao quantidade : real; : char; : string[30]; : boolean; : integer;

(* aqui comea o programa *)

Begin idade:=34; nmero_de_filhos:=2;

sexo:='M'; nome:='Jos'; sim_ou_nao:=TRUE; quantidade:=3245; End.

Observaes importantes:

A palavra reservada Var aparece uma nica vez num programa A sintaxe geral para declarao de variveis :

varivel_1,varivel_2,...,varivel_n : tipo;

Os espaos e comentrios separam os elementos da linguagem. Voc pode colocar quantos espaos quiser. Observe:

Varidade :integer; Var idade:integer; Var

o compilador no reconhece a palavra Var agora sim, ou se preferir idade: integer; d na mesma.

As instrues so separadas entre si por ponto e vrgula ';'. Se voc quiser, pode colocar mais de uma instruo numa nica linha. Lembre-se que o limite de caracteres numa linha de 127. Tipo string deve ser procedido da quantidade mxima de caracteres que a varivel pode assumir. Lembre-se que a alocao de espao de memria para as variveis feita durante a compilao, portanto o compilador precisa saber desse dado. Por outro lado, o fato de termos, por exemplo, atribudo o valor mximo de 30 no significa que tenhamos que utilizar os 30 caracteres e sim no mximo 30.

Como ltima observao, achamos muito mais claro e elegante declarar variveis e ao mesmo tempo informar com linhas comentrios os devidos motivos. Exemplo:

Var idade, i,j (* idade de determinada pessoa *) (* utilizadas em loops : integer; *)

nome1, nome2

(* nome genrico de pessoas (* nome genrico de pessoas : string[50];

*) *)

Вам также может понравиться

  • Aula1 C#
    Aula1 C#
    Документ21 страница
    Aula1 C#
    Sergio Luis Brockveld Jr.
    Оценок пока нет
  • Delphi 5 - Guia Do Desenvolvedor
    Delphi 5 - Guia Do Desenvolvedor
    Документ1 233 страницы
    Delphi 5 - Guia Do Desenvolvedor
    Luciano Marwell
    Оценок пока нет
  • Apostila Programacao I Pascal Parte 02 PDF
    Apostila Programacao I Pascal Parte 02 PDF
    Документ84 страницы
    Apostila Programacao I Pascal Parte 02 PDF
    Magda Rodrigues Rod
    Оценок пока нет
  • Untitled
    Untitled
    Документ390 страниц
    Untitled
    Pedro Miguel Miguel
    Оценок пока нет
  • Turbo Pascal Avancado
    Turbo Pascal Avancado
    Документ417 страниц
    Turbo Pascal Avancado
    Mauricio Mfriend
    0% (1)
  • Comandos Pascal PDF
    Comandos Pascal PDF
    Документ2 страницы
    Comandos Pascal PDF
    Mario
    Оценок пока нет
  • Apostila de Programação Pascal - Parte1
    Apostila de Programação Pascal - Parte1
    Документ28 страниц
    Apostila de Programação Pascal - Parte1
    Lucatto123
    Оценок пока нет
  • Delphi PDF
    Delphi PDF
    Документ10 страниц
    Delphi PDF
    Márcio Gonçalves Vieira
    Оценок пока нет
  • Oque É Um Programa
    Oque É Um Programa
    Документ8 страниц
    Oque É Um Programa
    Melo Chinai
    Оценок пока нет
  • Delphi 3.0 - 47p
    Delphi 3.0 - 47p
    Документ44 страницы
    Delphi 3.0 - 47p
    Tales Kunz Cabral
    Оценок пока нет
  • Uso de Units em Turbo Pascal
    Uso de Units em Turbo Pascal
    Документ2 страницы
    Uso de Units em Turbo Pascal
    restinpeaceAMEM
    Оценок пока нет
  • Delphi Aplicado Módulo 1A
    Delphi Aplicado Módulo 1A
    Документ104 страницы
    Delphi Aplicado Módulo 1A
    Mauricio Oliveira
    Оценок пока нет
  • Apostila Programacao Basica
    Apostila Programacao Basica
    Документ52 страницы
    Apostila Programacao Basica
    Sergio Feitosa
    Оценок пока нет
  • Livro - Programacao Orientada A Objetos1
    Livro - Programacao Orientada A Objetos1
    Документ274 страницы
    Livro - Programacao Orientada A Objetos1
    sysleno
    Оценок пока нет
  • Pzim
    Pzim
    Документ166 страниц
    Pzim
    EU SO QUERO O TRABALHO
    Оценок пока нет
  • Apostila de Delphi
    Apostila de Delphi
    Документ54 страницы
    Apostila de Delphi
    Jose Silva
    Оценок пока нет
  • Apostila Delphi - 2005
    Apostila Delphi - 2005
    Документ152 страницы
    Apostila Delphi - 2005
    osvaldo_alves
    Оценок пока нет
  • ApPascal Jan 2000
    ApPascal Jan 2000
    Документ227 страниц
    ApPascal Jan 2000
    Leonardo
    Оценок пока нет
  • Apostila Delphi
    Apostila Delphi
    Документ83 страницы
    Apostila Delphi
    Oswaldo Ricardo Rocha Junior
    Оценок пока нет
  • PV Iiia Apostila - pp2017
    PV Iiia Apostila - pp2017
    Документ42 страницы
    PV Iiia Apostila - pp2017
    Flormino Salato
    Оценок пока нет
  • Apostila Turbo Pascal
    Apostila Turbo Pascal
    Документ46 страниц
    Apostila Turbo Pascal
    Levi Ricardo
    Оценок пока нет