SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
APOSTILA DE PASCALAPOSTILA DE PASCAL
1.1. MMAPEAMENTOAPEAMENTO DEDE AALGORITMOSLGORITMOS PARAPARA PPASCALASCAL
Algoritmo Exercicio1 Program Exercicio1;
declare var
nome : caracter; nome : string;
aux : inteiro; aux : integer;
salario : real; salario : real;
nivel_superior : lógico; nivel_superior : boolean;
início begin
para aux ← 1 até 10 faça for aux := 1 to 10 do
begin
escrever(‘Digite nome: ‘); writeln(‘Digite nome : ‘);
ler(nome); readln(nome);
escrever(‘Digite salario : ‘); writeln(‘Digite idade : ‘);
ler(salario); readln(idade);
escrever(‘Tem nível superior : ‘); writeln(‘Tem nível superior : ‘);
ler(nivel_superior); readln(nivel_superior);
se nivel_superior então if nivel_superior then
salario ← 1000 * 1.15; salario := 1000 * 1.15
senão else
salario ← 1000; salario := 1000;
fim-se;
fim-para; end;
aux ← 0; 2 aux := 0;
enquanto aux <= 10 faça while aux <= 10 do
escrever(aux); write(aux);
fim-enquanto
fim end.
2.2. SSINTAXEINTAXE DODO PPASCALASCAL
Estrutura de um programa em Pascal
Program nome_Programa;
uses nome_unit1, nome_unit2, ... , nome_unit3;
< Bibliotecas usadas pelo programa >
const
< declaração de constantes >
identificador = valor_constante;
var
< declaração de variáveis >
variavel1, variavel2, ... , variaveln : tipo;
type
< declaração de tipos >
Identificador1, identificador2, ... , identificadorn = <descrição do tipo>;
begin
< comandos >
end.
Tipos básicos de dados
Integer, real, boolean, char, string
Atribuição em Pascal
variavel := valor;
Comentários
{ os comentários são colocados entre chaves }
(* ou são colocados entre parênteses e asteriscos *)
Operadores relacionais
Algoritmo Pascal
e and
ou or
x-ou xor
não not
Funções numéricas
Nome Descrição
ABS(número) : real ou inteiro valor absoluto de <número>
TRUNC(número) : inteiro trunca o valor real de
<número>
ROUND(número) : inteiro arredonda o valor real de
<número>
SQR(número) : real ou inteiro quadrado de <número>
SQRT(número) : real raiz quadrada de <número>
SUCC(X) o sucessor de X no conjunto
de valores considerado, se
existir
PRED(X) o predecessor de X no
conjunto de valores
considerado, se existir
Outras funções:
ORD(C) : inteiro
Indica a ordem de <C> (variável ou constante literal) no conjunto de caracteres usado na
implementação.
Exemplo:
TYPE Letras = (‘A’, ‘B’, ‘C’, ‘D’);
minhaLetra : Letras;
minhaLetra := ‘B’;
writeln(Ord(minhaLetra));
writeln(Ord(‘B’));
Resultado:
1
66
**********************
O resultado 1 corresponde à posição no conjunto de letras (A..D).
O resultado 66 corresponde à posição na tabela ASCII.
CHR(número) : char
Caractere que corresponde à ordem, dada pelo valor do <número>, se existir, no conjunto de
caracteres utilizados.
DELETE(nome_string, pos, número)
Remove uma substring contedo “número” caracteres da String especificada em “nome_string”,
a partir da posição “pos”.
INSERT(string_origem, string_destino, pos)
Insere a string “string_origem” na string “string_destino” a partir da posição “pos”.
COPY(String, Pos, Num)
Retorna uma substring contendo “Num” caracteres a partir da posição “Pos”. Se “Pos” excede
o tamanho da string, uma string vazia é retornada.
LENGTH(St)
Retorna o número de caracteres de string “St”, representado por um valor inteiro.
POS(Obj, Dest)
Procura a primeira ocorrência da String “Obj” dentro da String “Dest”. O resultado é um valor
inteiro indicando a partir de qual caractere de “Dest” foi encontrada a String “Obj”. Se a String
“Obj” não for encontrada, o valor retornado é zero.
Comandos de Entrada
read ( <lista de identificadores> );
readln ( <lista de identificadores> );
O comando READLN posiciona o cursor no início da próxima linha da tela.
Comandos de Saída
write ( <lista de identificadores> );
writeln ( <lista de identificadores> );
O comando WRITELN posiciona o cursor na próxima linha da tela.
Comando Condicional
If <condição> then
<comandos para condição verdadeira>
else
<comandos para condição falsa>;
Se houver mais de um comando, eles devem ser colocados entre BEGIN e
END.
If <condição> then
begin
<comando1>;
<comando2>;
<comandon>;
end
else
begin
<comando1>;
<comando2>;
<comandon>;
end;
Estruturas de repetição
for <variavel> := <valor_inicial> to <valor_final> do
<comando1>;
ou
for <variavel> := <valor_inicial> downto <valor_final> do
<comando1>;
while <condição> do
<comando>;
repeat
<comandos>;
until <condição>;
Nas estruturas while e for, se houver mais de um comando a ser processado,
eles devem ser colocados entre BEGIN e END.
while <condição> do
begin
<comando1>;
<comando2>;
<comandon>;
end;
for <variavel> := <valor_inicial> to <valor_final> do
begin
<comando1>;
<comando2>;
<comandon>;
end;
Vetores
var
array [ lim_inf .. lim_sup ] of <tipo>;
− Exemplo:
var
Alunos : array [1..100] of string;
Alunos[1] := ‘Valeria’;
Matrizes
var
array [ li1 .. li1 , li2 .. li2, lin .. lin] of <tipo>;
− Exemplo:
var
Valores : array [1..4,1..5] of integer;
Valores[1,1] := 100;
Valores[1,2] := 115;
Registros
var
nome_registro : record
campo : tipo;
end;
ou
type
nome_registro = record
campo : tipo;
end;
− Exemplo 1(a):
var
CadFunc : record
nome, endereco : string;
cpf : string;
sexo : char;
TemDependentes : boolean;
end;
begin
...
CadFunc.nome := ‘Alvaro’;
...
− Exemplo 1(b):
type
CadFuncionario = record
nome, endereco : string;
cpf : string;
sexo : char;
TemDependentes : boolean;
end;
var
CadFunc : CadFuncionario;
begin
...
CadFunc.nome := ‘Alvaro’;
...
− Exemplo 2:
var
CadFunc : record
nome : string;
endereco : record
rua : string;
numero : integer;
cep : string;
end;
cpf : string;
end;
begin
...
CadFunc.nome := ‘Alvaro’;
CadFunc.endereco.rua := ‘Rua da Paz’;
...
Arquivos
− Exemplo:
type
registro = record
nome, rua : string;
numero : integer;
cidade : string;
end;
arquivo = file of registro;
var
Agenda : arquivo;
Para abrir um arquivo, usa-se o comando:
Reset (nome-do-arquivo);
Para reescrever no arquivo, passando por cima dos registros anteriores, usa-se
o comando:
Rewrite (nome-do-arquivo);
Para se fazer a associação desta identificação interna com a identificação
externa, usa-se o comando:
Assign (nome-do-arquivo, ‘nome externo do arquivo’);
Para fechar o arquivo, usa-se o comando:
Close (nome-do-arquivo);
Para acessar um registro, na organização seqüencial, usa-se o comando:
Read (nome-do-arquivo, registro);
Para gravar um registro, na organização seqüencial, usa-se o comando:
Write (nome-do-arquivo, registro);
− Exemplo:
PROGRAM COPIA;
TYPE
REG = RECORD
NOME : STRING;
SALARIO : REAL;
END;
FONTE = FILE OF REG;
VAR
A, B : FONTE;
T : REG;
BEGIN
ASSIGN(A, ‘FONTE.PAS’);
ASSIGN(B, ‘COPIA’);
{ ABERTURA DE A }
RESET(A);
{ ABERTURA DE B }
REWRITE(B);
READ(A, T);
WHILE NOT EOF(A) DO
BEGIN
WRITE(B, T);
READ(A, T);
END;
CLOSE(A);
CLOSE(B);
END.
Comandos Especiais do Turbo Pascal
CLRSCR;
Limpa a tela e posiciona o cursor no canto esquerdo/superior do terminal.
CLREOL;
Limpa todos os caracteres da posição do cursor até o final da linha.
GOTOXY (Xpos , Ypos);
Move o cursor para a posição na tela especificada pelas expressões inteiras
“Xpos” (coluna) e “Ypos” (linha). Um terminal de vídeo normalmente possui 25
linhas e 80 colunas. O canto esquerdo/superior da tela tem coordenadas (1,1).
RREFERÊNCIASEFERÊNCIAS BBIBLIOGRÁFICASIBLIOGRÁFICAS
MECLER, Ian, MAIA, Luiz Paulo. Programação e lógica com Turbo Pascal. Rio de
Janeiro: Campus, 1989.

Weitere ähnliche Inhalte

Was ist angesagt?

0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
EvelyneBorges
 
Biblioteca strings profª ms
Biblioteca strings profª msBiblioteca strings profª ms
Biblioteca strings profª ms
Joelsa Soares
 
Controle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, AssertivasControle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, Assertivas
Elenilson Vieira
 

Was ist angesagt? (19)

Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
12 aula - shell script-2015
12   aula - shell script-201512   aula - shell script-2015
12 aula - shell script-2015
 
Strings em php
Strings em phpStrings em php
Strings em php
 
Fpar aula5
Fpar aula5Fpar aula5
Fpar aula5
 
GSO II Aula 3 - Principais Comandos Linux (ubuntu)
GSO II Aula 3 - Principais Comandos Linux (ubuntu)GSO II Aula 3 - Principais Comandos Linux (ubuntu)
GSO II Aula 3 - Principais Comandos Linux (ubuntu)
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
PowerShell
PowerShellPowerShell
PowerShell
 
Shell script
Shell scriptShell script
Shell script
 
Tutorial Shell Script
Tutorial Shell ScriptTutorial Shell Script
Tutorial Shell Script
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
Algoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetiçãoAlgoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetição
 
Linguagem C 10 Arquivos
Linguagem C 10 ArquivosLinguagem C 10 Arquivos
Linguagem C 10 Arquivos
 
Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1
 
Biblioteca strings profª ms
Biblioteca strings profª msBiblioteca strings profª ms
Biblioteca strings profª ms
 
Curso shell
Curso shellCurso shell
Curso shell
 
Controle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, AssertivasControle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, Assertivas
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Shell script i
Shell script iShell script i
Shell script i
 

Andere mochten auch (10)

Peri festival final
Peri festival finalPeri festival final
Peri festival final
 
O que a bíblia diz
O que a bíblia dizO que a bíblia diz
O que a bíblia diz
 
Redes sociales y menores
Redes sociales y menoresRedes sociales y menores
Redes sociales y menores
 
Ls tractor
Ls tractorLs tractor
Ls tractor
 
Cantar os reis
Cantar os reisCantar os reis
Cantar os reis
 
Creación o coincidencia natural
Creación o coincidencia naturalCreación o coincidencia natural
Creación o coincidencia natural
 
Atos
AtosAtos
Atos
 
Fotos mandarim aemt_2014
Fotos mandarim aemt_2014Fotos mandarim aemt_2014
Fotos mandarim aemt_2014
 
El romanticismo
El romanticismoEl romanticismo
El romanticismo
 
Simbolismo
SimbolismoSimbolismo
Simbolismo
 

Ähnlich wie Pascal apostila

Aula 6 1 linguagem pascal-parte_1
Aula 6   1 linguagem pascal-parte_1Aula 6   1 linguagem pascal-parte_1
Aula 6 1 linguagem pascal-parte_1
Duane Bertoldo
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdf
AntonioSvio1
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++
Verônica Veiga
 

Ähnlich wie Pascal apostila (20)

15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao
 
Aula 6 1 linguagem pascal-parte_1
Aula 6   1 linguagem pascal-parte_1Aula 6   1 linguagem pascal-parte_1
Aula 6 1 linguagem pascal-parte_1
 
Algop - aula 04 pascal 1
Algop - aula 04 pascal 1Algop - aula 04 pascal 1
Algop - aula 04 pascal 1
 
While e For.pdf
While e For.pdfWhile e For.pdf
While e For.pdf
 
Javafx Introdução
Javafx IntroduçãoJavafx Introdução
Javafx Introdução
 
Aula4
Aula4Aula4
Aula4
 
Exercicios facebook
Exercicios facebookExercicios facebook
Exercicios facebook
 
Visual g comandos
Visual g comandosVisual g comandos
Visual g comandos
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdf
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Php
PhpPhp
Php
 
Ruby - Criando código para máquinas e humanos
Ruby - Criando código para máquinas e humanosRuby - Criando código para máquinas e humanos
Ruby - Criando código para máquinas e humanos
 
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoLidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
 
3ª aula php
3ª aula php3ª aula php
3ª aula php
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Apostila c
Apostila cApostila c
Apostila c
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++
 

Kürzlich hochgeladen

Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
lenapinto
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 

Kürzlich hochgeladen (20)

Poesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPoesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDF
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 

Pascal apostila

  • 1. APOSTILA DE PASCALAPOSTILA DE PASCAL 1.1. MMAPEAMENTOAPEAMENTO DEDE AALGORITMOSLGORITMOS PARAPARA PPASCALASCAL Algoritmo Exercicio1 Program Exercicio1; declare var nome : caracter; nome : string; aux : inteiro; aux : integer; salario : real; salario : real; nivel_superior : lógico; nivel_superior : boolean; início begin para aux ← 1 até 10 faça for aux := 1 to 10 do begin escrever(‘Digite nome: ‘); writeln(‘Digite nome : ‘); ler(nome); readln(nome); escrever(‘Digite salario : ‘); writeln(‘Digite idade : ‘); ler(salario); readln(idade); escrever(‘Tem nível superior : ‘); writeln(‘Tem nível superior : ‘); ler(nivel_superior); readln(nivel_superior); se nivel_superior então if nivel_superior then salario ← 1000 * 1.15; salario := 1000 * 1.15 senão else salario ← 1000; salario := 1000; fim-se; fim-para; end; aux ← 0; 2 aux := 0; enquanto aux <= 10 faça while aux <= 10 do escrever(aux); write(aux); fim-enquanto fim end.
  • 2. 2.2. SSINTAXEINTAXE DODO PPASCALASCAL Estrutura de um programa em Pascal Program nome_Programa; uses nome_unit1, nome_unit2, ... , nome_unit3; < Bibliotecas usadas pelo programa > const < declaração de constantes > identificador = valor_constante; var < declaração de variáveis > variavel1, variavel2, ... , variaveln : tipo; type < declaração de tipos > Identificador1, identificador2, ... , identificadorn = <descrição do tipo>; begin < comandos > end. Tipos básicos de dados Integer, real, boolean, char, string Atribuição em Pascal variavel := valor; Comentários { os comentários são colocados entre chaves } (* ou são colocados entre parênteses e asteriscos *) Operadores relacionais Algoritmo Pascal e and ou or x-ou xor não not
  • 3. Funções numéricas Nome Descrição ABS(número) : real ou inteiro valor absoluto de <número> TRUNC(número) : inteiro trunca o valor real de <número> ROUND(número) : inteiro arredonda o valor real de <número> SQR(número) : real ou inteiro quadrado de <número> SQRT(número) : real raiz quadrada de <número> SUCC(X) o sucessor de X no conjunto de valores considerado, se existir PRED(X) o predecessor de X no conjunto de valores considerado, se existir Outras funções: ORD(C) : inteiro Indica a ordem de <C> (variável ou constante literal) no conjunto de caracteres usado na implementação. Exemplo: TYPE Letras = (‘A’, ‘B’, ‘C’, ‘D’); minhaLetra : Letras; minhaLetra := ‘B’; writeln(Ord(minhaLetra)); writeln(Ord(‘B’)); Resultado: 1 66 ********************** O resultado 1 corresponde à posição no conjunto de letras (A..D). O resultado 66 corresponde à posição na tabela ASCII.
  • 4. CHR(número) : char Caractere que corresponde à ordem, dada pelo valor do <número>, se existir, no conjunto de caracteres utilizados. DELETE(nome_string, pos, número) Remove uma substring contedo “número” caracteres da String especificada em “nome_string”, a partir da posição “pos”. INSERT(string_origem, string_destino, pos) Insere a string “string_origem” na string “string_destino” a partir da posição “pos”. COPY(String, Pos, Num) Retorna uma substring contendo “Num” caracteres a partir da posição “Pos”. Se “Pos” excede o tamanho da string, uma string vazia é retornada. LENGTH(St) Retorna o número de caracteres de string “St”, representado por um valor inteiro. POS(Obj, Dest) Procura a primeira ocorrência da String “Obj” dentro da String “Dest”. O resultado é um valor inteiro indicando a partir de qual caractere de “Dest” foi encontrada a String “Obj”. Se a String “Obj” não for encontrada, o valor retornado é zero. Comandos de Entrada read ( <lista de identificadores> ); readln ( <lista de identificadores> ); O comando READLN posiciona o cursor no início da próxima linha da tela. Comandos de Saída write ( <lista de identificadores> ); writeln ( <lista de identificadores> ); O comando WRITELN posiciona o cursor na próxima linha da tela.
  • 5. Comando Condicional If <condição> then <comandos para condição verdadeira> else <comandos para condição falsa>; Se houver mais de um comando, eles devem ser colocados entre BEGIN e END. If <condição> then begin <comando1>; <comando2>; <comandon>; end else begin <comando1>; <comando2>; <comandon>; end; Estruturas de repetição for <variavel> := <valor_inicial> to <valor_final> do <comando1>; ou for <variavel> := <valor_inicial> downto <valor_final> do <comando1>; while <condição> do <comando>; repeat <comandos>; until <condição>;
  • 6. Nas estruturas while e for, se houver mais de um comando a ser processado, eles devem ser colocados entre BEGIN e END. while <condição> do begin <comando1>; <comando2>; <comandon>; end; for <variavel> := <valor_inicial> to <valor_final> do begin <comando1>; <comando2>; <comandon>; end; Vetores var array [ lim_inf .. lim_sup ] of <tipo>; − Exemplo: var Alunos : array [1..100] of string; Alunos[1] := ‘Valeria’; Matrizes var array [ li1 .. li1 , li2 .. li2, lin .. lin] of <tipo>; − Exemplo: var Valores : array [1..4,1..5] of integer; Valores[1,1] := 100; Valores[1,2] := 115;
  • 7. Registros var nome_registro : record campo : tipo; end; ou type nome_registro = record campo : tipo; end; − Exemplo 1(a): var CadFunc : record nome, endereco : string; cpf : string; sexo : char; TemDependentes : boolean; end; begin ... CadFunc.nome := ‘Alvaro’; ... − Exemplo 1(b): type CadFuncionario = record nome, endereco : string; cpf : string; sexo : char; TemDependentes : boolean; end; var CadFunc : CadFuncionario; begin ... CadFunc.nome := ‘Alvaro’; ...
  • 8. − Exemplo 2: var CadFunc : record nome : string; endereco : record rua : string; numero : integer; cep : string; end; cpf : string; end; begin ... CadFunc.nome := ‘Alvaro’; CadFunc.endereco.rua := ‘Rua da Paz’; ... Arquivos − Exemplo: type registro = record nome, rua : string; numero : integer; cidade : string; end; arquivo = file of registro; var Agenda : arquivo; Para abrir um arquivo, usa-se o comando: Reset (nome-do-arquivo); Para reescrever no arquivo, passando por cima dos registros anteriores, usa-se o comando: Rewrite (nome-do-arquivo); Para se fazer a associação desta identificação interna com a identificação externa, usa-se o comando: Assign (nome-do-arquivo, ‘nome externo do arquivo’); Para fechar o arquivo, usa-se o comando:
  • 9. Close (nome-do-arquivo); Para acessar um registro, na organização seqüencial, usa-se o comando: Read (nome-do-arquivo, registro); Para gravar um registro, na organização seqüencial, usa-se o comando: Write (nome-do-arquivo, registro); − Exemplo: PROGRAM COPIA; TYPE REG = RECORD NOME : STRING; SALARIO : REAL; END; FONTE = FILE OF REG; VAR A, B : FONTE; T : REG; BEGIN ASSIGN(A, ‘FONTE.PAS’); ASSIGN(B, ‘COPIA’); { ABERTURA DE A } RESET(A); { ABERTURA DE B } REWRITE(B); READ(A, T); WHILE NOT EOF(A) DO BEGIN WRITE(B, T); READ(A, T); END; CLOSE(A); CLOSE(B); END.
  • 10. Comandos Especiais do Turbo Pascal CLRSCR; Limpa a tela e posiciona o cursor no canto esquerdo/superior do terminal. CLREOL; Limpa todos os caracteres da posição do cursor até o final da linha. GOTOXY (Xpos , Ypos); Move o cursor para a posição na tela especificada pelas expressões inteiras “Xpos” (coluna) e “Ypos” (linha). Um terminal de vídeo normalmente possui 25 linhas e 80 colunas. O canto esquerdo/superior da tela tem coordenadas (1,1). RREFERÊNCIASEFERÊNCIAS BBIBLIOGRÁFICASIBLIOGRÁFICAS MECLER, Ian, MAIA, Luiz Paulo. Programação e lógica com Turbo Pascal. Rio de Janeiro: Campus, 1989.