Introdução pascal

download Introdução pascal

If you can't read please download the document

Transcript of Introdução pascal

  • 1. Introduo Programao em Linguagem Pascal Fundamentos, Expresses e Comandos de Entrada e Sada

2. Sumrio Introduo ................................................................................................................................... 2 Estrutura de um programa Pascal .............................................................................................. 2 Delimitadores de Comandos ...................................................................................................... 2 Palavras Reservadas .................................................................................................................. 2 Identificador ................................................................................................................................ 2 Linhas de comentrios ................................................................................................................ 3 Tipos de Comandos e Blocos de Comandos ............................................................................. 3 Tipos de dados predefinidos da linguagem Pascal .................................................................... 4 rea de Declaraes .................................................................................................................. 4 Declarao de Bibliotecas de Rotinas ........................................................................................ 4 Declarao de Constantes ......................................................................................................... 5 Declarao de Tipos Estruturados ............................................................................................. 6 Declarao de Variveis ............................................................................................................. 6 Expresses Pascal ..................................................................................................................... 7 Operador de Atribuio ............................................................................................................... 7 Operadores de Aritmticos ......................................................................................................... 8 Operadores de Relacionais ........................................................................................................ 9 Operadores Lgicos ................................................................................................................. 10 Funes Predefinidas ............................................................................................................... 10 Procedimentos Predefinidos ..................................................................................................... 12 Comandos de Entrada e Sada ................................................................................................ 13 O Comando READ.................................................................................................................... 13 O Comando WRITE .................................................................................................................. 13 Formatao da Sada de Dados ............................................................................................... 13 3. Introduo: Abordaremos aqui a utilizao dos conceitos da programao Pascal por meio de exemplos, enfocando os termos fundamentais da linguagem, a sintaxe dos principais comandos, a lgica envolvida em cada um deles e a aplicao de estruturas de dados que organizam o armazenamento e aperfeioam a recuperao rpida das informaes. 4. Estrutura de um programa Pascal: A estrutura de codificao de um programa em Pascal se apresenta da seguinte forma: Program ; [Uses ;] [Type ;] [Const ;] [Var ;] [Procedure ; Begin [ End;] [Function ; Begin [ End;] Begin ; End. 5. Exemplo: Program MenorPrograma; Begin Write(Oi!) End. ou Program MenorPrograma; Begin Write(Oi!) End. 6. Delimitadores de Comandos: Como se observa na estrutura do programa e no exemplo acima se usa no Pascal um ponto-e-vrgula (;) para delimitar o trmino de cada linha de comando, permitindo ao compilador identificar onde se inicia e onde se encerra uma instruo de programa. Ento possvel em uma nica linha de texto do cdigo-fonte, delimitarmos vrias linhas de comando. usado tambm pelo Pascal um ponto (.) para marcar o trmino do Bloco Principal de Comandos, determinando o trmino do programa. 7. Palavras Reservadas: As palavras em negrito nas notaes sintticas so palavras reservadas ou palavras chaves da linguagem. Elas definem um comando, atravs de um verbo ou substantivo, compondo a sintaxe de uma instruo de programa reconhecida pelo compilador. Veja as principais palavras reservadas do Pascal: and, asm, array, begin, case, const, constructor, destructor, div, do, downto, else, end, exports, file, for, function, goto, if, implementation, in, inline, interface, label, library, mod, nil, not, of, or, packed, procedure, program, record, repeat, set, shl, shr, 8. Identificador: Um identificador uma nica palavra que identifica qualquer dado ou rotina de programa. Para criarmos um identificador, devem ser respeitadas as seguintes regras: 1) No pode ser iniciado com um dgito numrico; 2) No pode conter espaos em branco nem smbolos especiais, exceto o sublinha (underline); 3) No pode ser uma palavra reservada; No h limite quanto ao tamanho de um identificador, porm, o compilador Pascal considera at 255 caracteres, desprezando os demais. No entanto, no se justifica criar um identificador to grande que no seja um termo sugestivo ao dado a ser armazenado ou a rotina a ser executada. 9. Exemplo: Program Potenciacao; Var potencia, base, expoente : Real; Onde Potenciacao o identificador do programa, e potencia, base e expoente so identificadores das variveis a serem utilizadas no programa. 10. Linhas de comentrios: Os comentrios so textos explicativos escritos no cdigo-fonte, delimitados pelos caracteres de { e }, ou pelos caracteres (* e *). Os textos de comentrio so ignorados pelo compilador na fase de traduo do programa, teis somente no sentido de documentar uma rotina de instrues dentro do programa, para torn-lo mais legvel e fcil de entender, quando retomado para correo ou alterao. 11. Tipos de Comandos e Blocos de Comandos: Um Comando Simples aquele formado por uma nica palavra reservada, seguido ou no de parmetros necessrios para sua funcionalidade e delimitado pelo ponto-e-vrgula (;). Um Comando Composto aquele formado por mais de uma palavra reservada e que contm em sua estrutura um ou mais Comandos Simples ou outros Comandos Compostos. Quando um Comando Composto inclui mais de um comando qualquer, esses devem ser embutidos em sub-blocos de comandos, delimitados entre seu incio e fim pelos termos BEGIN e END. 12. Esquema de estruturas de blocos em Pascal: Begin ; ; Begin ; Begin ; ; End; ; End; ; Begin ; ; End; ; End. 13. Exemplo de um programa estruturado: Program Fibonacci; {Programa para imprimir os 30 primeiros nmeros da seqncia de Fibonacci: (1, 1, 2, 3, 5, 8, 13, 21, ... , 1346269)} Uses WinCrt; Const max = 30; Var atual, anterior, proximo : LongInt; n : Byte; Begin Writeln('Seqncia de Fibonacci:'); Write('{'); atual := 1; anterior := 0; For n := 1 to max - 1 do Begin proximo := atual + anterior; anterior := atual; atual := proximo; Write(atual, ', '); End; atual := atual + anterior; Write(atual, '}'); End. 14. Observe a endentao dos comandos dentro de cada bloco delimitado pelos termos BEGIN e END. Esse alinhamento de grupos de comandos no considerado pelo compilador Pascal, no entanto, facilita extremamente a compreenso dos nveis de hierarquia dos comandos e a consecutiva assimilao da lgica do programa. 15. Tipos de dados predefinidos da linguagem Pascal: Para cada tipo de dado, o Pascal capaz de reservar um determinado nmero de bytes na memria. Para que ele possa reter corretamente uma determinada informao necessrio que ela seja adequada a um desses tipos. So eles: 16. Tipos de dados nmeros inteiros: Integer (Nmero inteiro de 2 bytes entre 32.768 e +32.767) ShortInt (Nmero inteiro de 1 byte entre 128 e +127) LongInt (Nmero inteiro de 4 bytes entre 2.147.483.648 e +2.147.483.647) Byte (Nmero inteiro positivo de 1 byte entre 0 e 255) Word (Nmero inteiro positivo de 2 bytes entre 0 e 65.535) 17. Tipos de dados nmeros reais: Real (Nmero real de 6 bytes variando de 2,9 E-39 a 1,7 E+38 incluindo o zero, podendo ser negativo ou positivo com 11 a 12 dgitos significativos) Single (Nmero real de 4 bytes variando de 1,5 E-45 a 3,4 E+38 incluindo o zero, podendo ser negativo ou positivo com 7 a 8 dgitos significativos) Double (Nmero real de 8 bytes variando de 5,0 E-324 a 1,7 E+308 incluindo o zero, podendo ser negativo ou positivo com 15 a 16 dgitos significativos) Extended (Nmero real de 10 bytes variando de 3,4 E-4932 a 1,1 E+4932 incluindo o zero, podendo ser negativo ou positivo com 19 a 20 dgitos significativos) 18. Tipos de dados alfanumricos: Char (Caracter ASCII de 1 byte) String[n] (Cadeia de caracteres ASCII de 2 a 256 bytes, sendo n um valor numrico determinando o comprimento da cadeia. Na omisso do valor n, o compilador do Pascal assume o comprimento mximo) 19. Tipos de dados lgicos: Boolean (Valor lgico de 1 byte que representa apenas: TRUE ou FALSE) 20. rea de Declaraes: Localizada aps o cabealho do programa e antes do bloco principal de comandos, a rea de declaraes a parte do programa destinada locao de memria para os dados que sero utilizados no decorrer do programa. O montante da memria locada est relacionado ao tipo de dado a ser utilizado. Podem ser declaradas aqui regies de memria que podem ter seu contedo alterado (as Variveis), regies de memria onde a alterao dos dados no permitida (as Constantes), outros tipos alm dos predefinidos da linguagem e tambm rotinas de programas denominadas Subprogramas (as Procedures e Functions). 21. Declarao de Bibliotecas de Rotinas: As Bibliotecas de Rotinas, chamadas no Pascal de UNITs (ou Unidades), so arquivos contendo um conjunto de pequenas rotinas, denominadas Procedures e Functions, reutilizveis em diversos outros programas, podendo ser predefinidas da linguagem ou definidas pelo usurio. Essas UNITs so compiladas separadamente e inseridas no programa principal atravs da linkedio. Um programador pode simplesmente associar as Units predefinidas que necessitar ou ter sua prpria biblioteca de rotinas criando uma Unit e associando-a a cada novo programa que fizer. Desta forma, no necessrio reescrever rotinas e sim, cham-las atravs de seu identificador. Para associar uma UNIT predefinida ou definida pelo usurio a um programa, utiliza-se o comando USES na rea de declaraes. 22. Veja as principais Units predefinidas do Pascal e os identificadores de suas rotinas predefinidas: 23. Sintaxe do comando Uses: Uses ; 24. CRT ou WINCRT (Unit com rotinas de tratamento de vdeo e som): ClrEol ClrScr DelLine GotoXY HighVideo InsLine KeyPressed LowVideo NormVideo NoSound Sound TextBackGround TextColor TextMode WhereX WhereY Window 25. DOS ou WINDOS (Unit com rotinas que envolvem acesso ao Sistema Operacional): DiskFree DiskSize DosExitCode DosVersion EnvCount EnvStr Exec FExpand FindFirst FindNext FSearch Fslip GetCBreak GetDate GetEnv GetFatTr GetFTime GetIntVec GetTime GetVerify Intr Keep MsDos PackTime SetCBreak SetDate SetFatTr SetFTime SetIntVec SetTime SetVerify SwapVectors UnpackTime 26. SYSTEM (Unit default do compilador Pascal, sem necessidade de declarao): Abs Addr Append ArcTan Assign BlockRead BlockWrite Chr Close Concat Copy Cos CSeg Dec Delete Dispose DSeg Eof Eoln Erase Exit Exp FilePos FileSize FillChar Flush Frac FreeMem GetDir GetMem Halt Hi Inc Insert Int IOResult Length Ln Lo MaxAvail MemAvail MkDir Move New Odd Ofs Ord ParamCount ParamStr Pi Pos Pred Ptr Random Randomize Read Readln Rename Reset Rewrite Round RunError ScrollTo Seek SeekEof SeekEolm Seg SetTextBuf Sin SizeOf SPtr Sqr Sqrt SSeg Str Succ Swap Trunc Truncate UpCase Val Write Writeln Exemplo: Uses Crt, Dos, MinhaUnit; 27. Declarao de Constantes: Constantes so entidades na memria RAM cujos seus contedos no se alteram durante a execuo do programa e devem ser declaradas pelo comando CONST na rea de declaraes juntamente com seu valor constante, podendo ou no ser tipadas. 28. Sintaxe do comando Const: Const [: ] = ; [: ] = ; Exemplo: Const num_pi = 3.1415; ano : Word = 1969; 29. Declarao de Tipos Estruturados: Alm dos tipos predefinidos da linguagem Pascal, existe a possibilidade de se definir outros tipos com estrutura prpria, chamados de Tipos Estruturados, a partir do comando TYPE na rea de declaraes, utilizando alguns dos tipos estruturados predefinidos no Pascal como: Array, Record, File, Set e Pointer, ou seja, Matrizes, Registros, Arquivos, Conjuntos e Ponteiros. 30. Sintaxe do comando Type: Type = ; = ; Exemplo: Type indices = 1..6; Sala = Array[indices] of String; Aluno = Record nome : String[30]; nota : Real; End; Turma = File of Aluno; Vogais = (a, e, i, o, u); Vogal = Set of Vogais; Var predio : Sala; registro: Aluno; classe : Turma; tecla : Vogal; 31. Declarao de Variveis: Variveis so entidades que assumem valores temporrios na memria RAM, distinguidas entre elas por identificadores declarados e associados a um tipo de dado predefinido ou definido pelo usurio, atravs do comando VAR na rea de declaraes: Sintaxe do comando Var: Var : ; : ; 32. Exemplo: Observe que cada item de uma lista de identificadores de mesmo tipo, deve ser separado por vrgula (,). Var nota, media : Real; i, x1, x2 : Integer; codigo, idade : Byte; flag, Sim : Boolean; letra1, letra2 : Char; nome : String[30]; e_mail : String; 33. Expresses Pascal: Uma Expresso similar a uma equao matemtica, na qual um conjunto de operandos, que podem ser variveis e/ou constantes, interagem com operadores resultando num nico valor. Do ponto de vista do Pascal, uma expresso pode resultar um dado de qualquer tipo predefinido; portanto, se uma expresso resulta um valor numrico, denominada Expresso Aritmtica; se resulta um valor lgico denominada Expresso Lgica e, se manipula ou resulta uma string ou caracter denominada Expresso Alfanumrica. Exemplo de uma frmula matemtica e sua equivalente Expresso Aritmtica Pascal, onde m, x e y so variveis numricas; 2, 3 e 5 so constantes e; *, + e / so operadores: 34. Faculdades Integradas Stella Maris FISMA Curso de Tecnologia em Anlise e Projeto de Sistemas Prof. Mrcio A. S. Torrente