Академический Документы
Профессиональный Документы
Культура Документы
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".
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.
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.}
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;
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;
Function Soma(x,y:integer):integer;
{o Turbo Pascal possui diversas funes prdefinidas, mas o programador tambm pode definir as suas prprias}
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.
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:
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.
Nmeros: 0,1,2,3,4,5,6,7,8 e 9
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
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:
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 .
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.
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:
Formato Signed 8-bit Signed 16-bit Signed 32-bit Unsigned 8-bit Unsigned 16-bit
Bytes 6 4 8 10 8
III.1.6 - Strings
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
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.
Escalares Simples:
Char; Boolean;
todos os tipos de inteiros citados acima; todos os tipos de reais citados acima.
Escalares estruturados:
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.
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.
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;
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:
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:
nome1, nome2
*) *)