A linguagem Pascal coloca disponível aos usuários um conjunto de funções e procedimentos distribuídos em UNITS (as units são rotinas compiladas separadamente do programa principal), com a finalidade de facilitar e agilizar a programação.
1.1 Manipulação de strings
1.1.1 CHR
Retorna o carácter correspondente ao código ASCII fornecido.
Ex:
Var
P : TextFile;
Begin
AssignPrn(P);
Rewrite(P);
Writeln(P, chr(12) , ‘Testando a Impressora’);
CloseFile(P);
End;
1.1.2 CONCAT
Concatenar as strings especificadas.
Ex:
var
S: string;
Begin
S := Concat('ABC', 'DEF'); { 'ABCDEF' }
End;
1.1.3 COPY
Retorna uma substring de uma string , isto é, retorna uma parte se S, desde inicio e com o tamanho especificado.
Ex:
var
s, s1 : string;
begin
s := 'ABCDEF';
s1 := Copy(s, 2, 3) { 'BCD' }
End;
1.1.4 DELETE
Elimina parte da string S; começa em inicio com o tamanho especificado.
Ex:
var
s: string;
Begin
s := 'Honest Abe Lincoln';
Delete(s,8,4);
WriteLn(s); { 'Honest Lincoln' }
End.
1.1.5 INSERT
Insere um string origem em s a partir da posição inicio.
Ex:
var
s: string;
Begin
s := 'Honest Lincoln';
Insert('Abe ', s, 8);
WriteLn(s); { 'Honest Abe Lincoln' }
End.
1.1.6 LENGTH
Retorna o número de caracteres da string.
Ex:
var
S : string;
Begin
read(S);
write(length(S));
End.
1.1.7 POS
Retorna a posição do inicio da string s1 dentro do string s2. (retorna 0 se não encontrar)
Ex:
var s: string;
Begin
s := ' 123.50';
{ Converte espaços para zeros }
while Pos(' ', s) > 0 do
s[Pos(' ', s)] := '0';
End.
1.1.8 UPPERCASE - LOWERCASE
Uppercase - Retorna o String com letras maiúsculas.
Lowercase - Retorna o String com letras minúsculas.
Ex:
Uses Sysutils;
var
s : string;
i : Integer;
Begin
Write('Digite um string: ');
ReadLn(s);
WriteLn('Conversão do string para maiúsculo: ',Uppercase(s));
Readln;
End.
1.1.9 STR
Transforma um número em representação string; x pode ser inteiro ou real; S passa a conter representação string de x com a largura e casas decimais especificadas.
Ex:
var
F : string;
N : integer;
begin
N:=1492;
str(N:7,F);
write(F); (* ' 1492' *)
end.
1.1.10 VAL
Converte string S em numero n. A posição de qualquer erro na string S é reportada no parâmetro código. Se código = 0, a conversão foi feita com sucesso.
Ex:
Program conver;
var
X : string;
Y,Z : integer;
begin
X:='9876';
Val(X,Y,Z);
writeln(Y);
writeln(Z);
readln;
end.
1.1.11 TRIM – TRIMLEFT - TRIMRIGHT
Trim - Retira espaços a esquerda e direita da string
TrimLeft - Retira espaços a esquerda da string
TrimRight - Retira espaços a direita da string
Ex:
If Trim(EditNome.Text) = ‘’ then
Begin
ShowMessage(‘Falta Informar o Nome’);
EditText.SetFocus;
Exit;
End;
1.1.12 ORD
Retorna o código ASCII do caractere da variável x.
Ex:
program MINUSCULA;
var I:integer;
(* MINUSC retorna um string com caracteres Minúsculos*)
function MINUSC(C : STRING) : STRING;
var
I : integer;
begin
for I := 1 to length(C) do
if (ord(C[I]) >= 65) and (ord(C[I]) <= 90)
then
C[I] := chr(ord(C[I])+32);
MINUSC := C;
end;
begin
writeln(MINUSC('ABCDEFGHIJKLMNOPQRSTUVWXYZ'));
writeln(MINUSC('FACE FUMEC.'));
readln;
end.
1.2 Manipulação Numérica
Retorna o valor absoluto de x.
Ex:
var
r: real;
i: Integer;
begin
r := Abs(-2.3); { 2.3 }
i := Abs(-157); { 157 }
end.
1.2.2 EXP
Retorna o valor de e(e=2.7182818285E+00) elevado a potência x.
Exemplo:
begin
WriteLn('e = ',Exp(1.0));
end.
1.2.3 LN
Retorna o logaritmo natural de x (base e=2.7182818285E+00).
Exemplo:
program exponencial;
var
I : integer;
{ função para calcular um exponencial }
function pot (X,Y : real) : real; {X**Y}
begin
pot:=exp(Y*ln(X));
end;
{ Programa Principal }
begin
for I:=1 to 10 do
begin
writeln (I:2 , '**' , 3 ,' = ',pot(I,3):0:2);
end;
readln;
end.
1.2.4 FRAC
Retorna a parte fracionaria de x.
Exemplo:
var
S : string;
str(Frac(123.456):7:3,S); { 0.456 }
Writeln(S);
str(Frac(-123.456):7:3,S); { -0.456 }
Writeln(S);
readln;
end.
1.2.5 INT
Retorna a parte inteira de x.
Exemplo:
var
r: real;
begin
r := Int(123.456); { 123.0 }
r := Int(-123.456); { -123.0 }
end.
1.2.6 ROUND
Retorna o valor de x arredondado para um inteiro.
Exemplo:
begin
WriteLn(1.4, ' arredonda para ', Round(1.4));
WriteLn(1.5, ' arredonda para ', Round(1.5));
WriteLn(-1.4, ' arredonda para ', Round(-1.4));
WriteLn(-1.5, ' arredonda para ', Round(-1.5));
Readln;
end.
1.2.7 TRUNC
Retorna a parte inteira de x descartando a parte decimal.
Exemplo:
begin
WriteLn(1.4, ' truncar para ', Trunc(1.4));
WriteLn(1.5, ' truncar para ', Trunc(1.5));
WriteLn(-1.4, ' truncar para ', Trunc(-1.4));
WriteLn(-1.5, ' truncar para ', Trunc(-1.5));
Readln;
end.
1.2.8 SQR
Retorna o quadrado de x.
Exemplo:
writeln (‘O quadrado de x = ‘ , SRQ(X));
Retorna a raiz quadrada de x
Exemplo:
begin
WriteLn('5 ao quadrado = ', Sqr(5));
WriteLn('A raiz quadrada de 2 = ', Sqrt(2.0));
end.
1.2.10 ODD
Retorna true se o valor de X e um número impar.
Exemplo:
If ODD(X) then Write(‘X é um número Impar’);
1.3 MANIPULAÇÃO DE TIPOS ESCALARES
Função encarregada de reconhecer o elemento, que antecede X no conjunto considerado. O resultado e do mesmo tipo do
parâmetro X.
Exemplo:
var
x : char;
begin
x:=‘C’;
write(PRED(x)); { ‘B’ }
end.
1.3.2 SUCC
Função encarregada de reconhecer o elemento, que sucede X no conjunto considerado. O resultado e do mesmo tipo do
parâmetro X.
Exemplo:
var
x : char;
begin
x:=‘C’;
write(SUCC(x)); { ‘D’ }
1.4 Controle de memória
1.4.1 SIZEOF
Retorna o número de bytes ocupados pelo argumento.
Exemplo:
var
s : string[35];
begin
write(sizeof(S)); { 36 }
Readln;
end.
1.5 Interagindo com o sistema operacional
1.5.1 CHDIR
ChDir muda de diretório corrente.
Exemplo:
begin
{$I-}
{ mudar para o diretório especificado em Edit1 }
ChDir(Edit1.Text);
if IOResult <> 0 then
ShowMessage('Diretório não foi encontrado');
end;
1.5.2 GETDIR
Retorna o path do diretório ativo do drive especificado (acionador default=0,A=1,B=2,...). Retorna -1 se o drive não estiverpresente.
Exemplo:
var
s : string;
begin
GetDir(0,s); { 0 = Current drive }
writeln('Drive e diretório corrente: ' + s);
readln;
end.
1.5.3 MKDIR
Cria um subdiretório especificado em PATH.
Exemplo:
Mkdir(‘\tp\fontes\tmp’);
Exemplo:
Rmdir (\ tp\fontes\tmp’);
1.6 Comandos de desvio
Outro recurso que existe na linguagem Object Pascal é a capacidade de desviar no código, isto é a capacidade de pular para outra parte do código, quando necessário.
1.6.1 GOTO
A instrução GOTO permite que você salte de onde está no programa para uma linha rotulada específica.
Exemplo:
Var
Resp: char;
Begin
Inicio:
Writeln(‘Ok’);
Writeln(‘Quer repetir?’);
Readln(Resp);
If Resp = ‘S’ then GOTO Inicio
End.
1.6.2 Comandos Break / Continue ( Desvios dentro da repetição)
Estes comandos, à exceção daqueles demonstrados até agora, não são de repetição condicional, mas possuem importante papel junto á estes. Eles são usados em apenas duas situações: (1) quando se deseja interromper o processamento de um estrutura de repetição - Break; (2) quando for necessário garantir a continuidade do processamento de uma estrutura de repetição - Continue.
Exemplo:
Var
I : Integer;
Begin
For I := 1 to 3 do If (I mod 2) <> 0 then Continue;
For I := 1 to 3 do If (I mod 2) = 0 then Break;
End;
1.6.3 EXIT
Use o comando EXIT para sair do bloco corrente. Se o bloco corrente é o programa principal EXIT faz o programa terminar. Se o bloco corrente está aninhado, EXIT faz com que o bloco mais externo continue na instrução imediatamente após a que passou o controle para o bloco aninhado. Se o bloco corrente é uma procedure ou função, EXIT provoca a saida da função ou procedure para continuar após o ponto em que foi chamado.
Exemplo:
Procedure Teste ( X : Integer) ;
Begin
IF X = 0 then EXIT;
...
...
End;
Nenhum comentário:
Postar um comentário