apresentação do powerpoint - jeiks.netjeiks.net/wp-content/uploads/2013/05/slides_ltp_08.pdf ·...
TRANSCRIPT
Departamento de Engenharia Rural
Centro de Ciências Agrárias
Programação I
Tipos pré-definidos
Unidades
Funções pré-definidas
Tipos do Turbo Pascal
Inteiros (Integer) Representam o conjunto dos números inteiros (1, 5, -21, e 752, por
examplo).
Reais (Real) Números que possuem porções fracionais (3.14159) e expoentes
(2.579x1024). Também são conhecidos como números de ponto flutuante.
Caracteres (Char) São as letras do alfabeto, símbolos e os dígitos numéricos 0-9.
Também Podem ser usados individualmente (a, Z, !, 3) ou combinados em STRINGS de caracteres ('Este e apenas um teste.').
Lógicos (Boolean) Variáveis e expressões desse tipo apresentam um dos dois possíveis
valores : True ou False.
Tipos do Turbo Pascal – Números
A notação decimal ordinária é usada para números que são constantes do tipo inteiro e do tipo real.
A notação de engenharia (E ou e, seguido de um expoente) é lida como “vezes 10 elevado a” nos tipos reais. Por exemplo: 7E-2 significa 7 x 10-2
Tanto 12.25e+6 quanto 12.25e6 significam 12.25 x 10+6
Valores numéricos com ponto decimal ou com expoentes denotam constantes do tipo real.
Outros números decimais denotam constantes do tipo inteiro e poderão estar no máximo entre -2,147,483,648 e 2,147,483,647.
Tipos de Dados Pascal – Números
A linguagem Pascal fornece cinco tipos inteiros pré-definidos. Cada um denota um subconjunto específico dos números inteiros conforme apresentado abaixo:
Tipo Intervalo de valores Formato
Shortint -128..127 8-bits com sinal
Integer -32768..32767 16-bits com sinal
Longint -2147483648..2147483647 32-bits com sinal
Byte 0..255 8-bits sem sinal
Word 0..65535 16-bits sem sinal
Todos os tipos inteiros são tipos ordinais no Pascal.
Vamos testar
Faça um programa com as seguintes variáveis: intPequeno : shortint; inteiro : integer; inteiroLongo : integer; b : byte; w : word; Agora atribua a cada uma seu valor limite: intPequeno:=127; inteiro:=32767; inteiroLongo:=2147483647; b:=255; w:=65535;
Vamos testar
Agora, escreva seus valores na tela: writeln( 'Inteiro Pequeno:', intPequeno ); writeln( 'Inteiro:', inteiro ); writeln( 'Inteiro Longo:', inteiroLongo ); writeln( 'byte:', b ); writeln( 'word:', w ); Execute seu programa e veja o resultado; Vamos testar os limites então: após esses códigos, incremente o valor de cada variável e escreva-a novamente na tela. Exemplo: writeln( 'Inteiro Pequeno:', intPequeno ); intPequeno := intPequeno + 1; writeln( 'Inteiro Pequeno:', intPequeno );
Tipos do Turbo Pascal – Números
Os outros tipos ordinais pré-definidos são:
Boolean (e suas variações) e Char
Tipos do Turbo Pascal – Números
Em relação aos tipos reais pré-definidos, tem-se cinco tipos:
Cada um possui uma faixa e precisão específicos:
Tipo Intervalo de valores Dígitos Bytes
real 2.9e-39..1.7e38 11-12 6
single 1.5e-45..3.4e38 7-8 4
double 5.0e-324..1.7e308 15-16 8
extended 3.4e-4932..1.1e4932 19-20 10
comp -9.2e18..9.2e18 19-20 8
Nota: O tipo comp representa valores inteiros de 64-bits entre (-263 + 1) a (263 - 1)
Unidades pré-definidas
Uma unidade (unit) nada mais é que um conjunto de procedimentos e funções que trabalham sob um mesmo objetivo.
É uma coleção de declarações de constantes, tipos, variáveis, funções e procedimentos, compilada separadamente.
Algumas destas declarações são de uso interno da unidade, enquanto outras são visíveis, isto é, podem ser usadas por programas ou outras unidades.
Unidades pré-definidas
A linguagem Pascal possui diversas unidades predefinidas: system, printer, crt, dos, overlay e graph são as principais.
Os identificadores usados nestas unidades geralmente são formados por palavras compostas em inglês que lembram seu significado.
Unidades pré-definidas
unit graph
possui funções para criação de desenhos, figuras, barras, entre outros;
unit crt
possui os procedimentos básicos de entrada e saída de dados e instruções de controle do monitor.
Unidades pré-definidas
Para utilizar uma função definida em uma unit, deve-se declarar o uso dessa unidade no início do código-fonte (após a definição do nome do programa).
Exemplo:
Program meuPrograma;
uses crt;
Var ...
Begin
...
End.
Unidades pré-definidas
As funções clrscr (limpar todos caracteres da tela) e readkey estão disponíveis na unit crt.
Exemplo
Funções Pré-definidas
Além de funcionalidades providas através das Units, o Pascal dispõe de algumas funções para manipulação de dados que facilitam a escrita de programas.
Funções Pré-definidas – Dados Numéricos
Exemplos:
Função Finalidade Tipo do
argumento Tipo do resultado
abs(X) valor absoluto (módulo) integer, real o mesmo do argumento
frac(X) parte fracionária real real
int(x) parte inteira - resultado real real real
trunc(X) parte inteira - resultado int. real integer
round(X) valor arredondado (+ próximo) real integer
sqr(X) eleva ao quadrado integer, real o mesmo do argumento
sqrt(X) raiz quadrada integer, real real
Ln(X) logaritmo natural real real
exp(X) exponencial real real
Funções Pré-definidas – Dados Numéricos
Exemplos:
Função Finalidade Tipo do argumento Tipo do
resultado
dec(X,[n]*) Decremento em 1 (ou em n) integer integer
inc(X,[n]*) incremento em 1 (ou em n) integer integer
* Parâmetro opcional
Funções Pré-definidas – Dados Numéricos
Uso: Expressão Resultado*
C := abs(-2.5) 2.5
C := abs(8) 8
C := frac(-5.0234) -0.0234
C := int(-5.0234) -5.0
C := int(2.78) 2.0
C := trunc(-2.78) -2
C := trunc(5.38) 5
C := round(-2.78) -3 {}
C := round(5.38) 5 {}
C := round(5.5) 6 {}
*(valor da variável C após a execução da função indicada)
Funções Pré-definidas – Dados Numéricos
Uso: Expressão Resultado*
C := sqr(2) 4
C := sqr(1.5) 2.25
C := sqrt(4) 2
C := sqrt(2.25) 1.5
C := exp(ln(2)*3) 8
C := exp(1) 2.7182818285
*(valor da variável C após a execução da função indicada)
Funções Pré-definidas – Dados Ordinais
Uso: Expressão Resultado*
inc(C) -8
inc(C, 3) -6
dec(C) -10
dec(C, 3) -12
*(valor da variável C após a execução da função indicada)
{supondo C = -9}
Funções Pré-definidas – Dados Ordinais
Manipulação de ordinais
Pred(X) – Retorna o predecessor do argumento X
C := Pred(1); {C=0}
D := Pred(´b´); {D=´a´}
Succ(X) – Retorna o sucessor do argumento X
C := Succ(1); {C=2}
D := Succ(´b´); {D=´c´}
Funções Pré-definidas – Dados Ordinais
Manipulação de ordinais
Ord(X) – Retorna o valor ordinal do argumento X
C := Ord(1); {C=1}
D := Ord(´A´); {D=65, que é o código ASCII do caractere ´A´}
Funções Pré-definidas – Dados Ordinais
Manipulação de ordinais – Caracteres Chr(X) – Retorna um valor inteiro (x) em um caractere
com o correspondente valor ASCII. C := Chr (97); {C=‘a’}
C := Chr(65); {C=‘A’}
C := Chr (38); {C=‘&’}
C := Chr (130); {C=‘é’}
upcase(C) – Retorna a versão maíuscula de um caractere. C := upcase (‘a’); {C=‘A’}
C := upcase (‘c’); {C=‘C’}
C := upcase (chr(100)); {C=‘D’}
C := upcase (chr(130)); {C=‘é’... Como assim?!}
Funções Pré-definidas – Dados Ordinais
Uma outra forma de se especificar caracteres é utilizando a notação #<valor_inteiro>, que retorna o caractere de código ASCII <valor_inteiro>.
writeln(#97); {será impresso: a}
writeln(#211); {será impresso: Ë}
C := upcase (#98); {C = ‘B’}
Strings e operações associadas
Uma variável do tipo String armazena uma sequência de caracteres de comprimento variável, com um tamanho máximo constante entre 1 e 255.
Uma variável declarada como String sem a especificação de tamanho máximo assume automaticamente o tamanho de 255 caracteres.
Strings e operações associadas
Constantes do tipo String são especificadas entre apóstrofes:
'Programacao 1'
'That''s all'
Dois apóstrofes consecutivos são usados para indicar um único apóstrofe em uma string (segundo exemplo acima).
Funções Pré-definidas - Strings
Length (S) – Retorna o número de caracteres de S tamanho := Length(´Pascal´); {tamanho = 6}
Copy (S, Index, Count) – Retorna uma substring da uma string S
C := Copy(´bruno´,3,2); {C=´un´}
Concat (S1[,S2, S3, ... Sn]) – Retorna uma string que é a concatenação das strings fornecidas como parâmetros na função
C := Concat(´Bru´,´un´, ´no´); {C=´Bruunno´}
Funções Pré-definidas - Strings
Delete (S, Index, Count) – Elimina uma substring de uma string S
C := ´Olho de boi´; Delete(C,6,3); {C=´Olho boi´}
Pos(S1,S) – Retorna a posição inicial da substring S1 em S
Posic := pos (´Pascal’, ‘Turbo Pascal’); {posic = 7}
Obs: a função pos retorna 0 (zero) quando S1 não está presente em S. {ex: pos(‘pascal’, ‘Turbo Pascal’) retorna 0}
Lembrem-se: espaço em branco também é caractere em uma string, logo deve ser considerado em funções de manipulação de string, seja para busca ou contagem
Funções Pré-definidas - Controle
Controle de execução
Halt: encerra o programa quando executado
Sintaxe: Halt;
Break: encerra uma estrutura de repetição (for, while, repeat)
Sintaxe: Break;
Exit: Sai imediatamente do bloco corrente
Sintaxe: Exit; Existem muitas outras funções disponíveis, consulte a ajuda do Turbo Pascal ou a documentação das units.
Referências
BORLAND. Turbo Pascal, versão 7.0. [S.L.] : Borland International, Inc.,1992.
DEITEL, P. J.; DEITEL, H.M.; Java: How to program, 9th ed, Ed. Prentice-Hall, 2011. ISBN: 978-0-13-257566-9.
FARRER, H.; BECKER, C. G.; FARIA, E. C.; MATOS, H. F.; et al. Algoritmos estruturados. 3ed, Ed. LTC, 1999. ISBN: 9788521611806.
FARRER, H.; BECKER, C. G.; FARIA, E. C.; MATOS, H. F.; et al. Pascal estruturado. 3ed, Ed. LTC, 1999. ISBN: 9788521611745.
GUIMARÃES, A. M.; LAGES, N. A. C.; Algoritmos e estruturas de dados. 1ed, Ed. LTC, 1994. ISBN: 9788521603788.
GRIFFITHS,D., BARRY,P., Head First Programming – A learner's guide to programming using the Python language, O´Reilly, 2009, 406p.
http://wwwusers.rdc.puc-rio.br/rmano/processo.html
Velloso, F. C.; Informática: Conceitos Básicos. 7ed, Ed. Campus, 2004. ISBN: 9788535215366.