linguagem de programação ii linguagem de programação ... · apostila 4 linguagem de...
TRANSCRIPT
Prof. Luiz Claudio Ferreira de Souza Página 1 www.luizclaudiofs.blogspot.com
Apostila 4
Linguagem de Programação II
Linguagem de Programação Pascal – Ambiente Lazarus
Vetores
Vetores são variáveis homogêneas, como já vimos. Iremos fazer dois exemplos práticos para o
uso de vetores na programação de computadores.
EXEMPLO 1:
Abaixo temos o programa que mostra a quantidade de caracteres digitados, internamente há
o uso de vetores!
No exemplo utilize Dois componentes Label, Dois Edit e um Button
Procedimento do Botão
procedure TForm1.Button1Click(Sender: TObject);
var
v:array [1..31] of String;
i,cont: integer;
begin
// vamos preencher o array com os valores de 1 a 5
for i := 1 to 31 do
begin
V[i] := Copy(Edit1.Text, i,1); //copia um caractere da String contida no Edit1
Prof. Luiz Claudio Ferreira de Souza Página 2 www.luizclaudiofs.blogspot.com
end;
// Ler e obter informações do vetor
cont:=0;
for i := 1 to 31 do
begin
if (v[i]<>'') then //Se a posição no vetor for diferente de vazio, contar caracteres
begin
cont:=cont+1;
end;
edit2.Text:=IntToStr(cont); //Mostra no Edit2 o armazenado na variável cont
end;
end;
EXEMPLO 2:
O Próximo exemplo mostra os dígitos verificadores de um CPF.
Construa o formulário abaixo com 3 componentes Edit e 11 componentes Button
Vamos Relembrar o procedimento da Receita Federal do Brasil para calcular o Digito
Verificador do Cadastro da Pessoa Física (CPF)
Prof. Luiz Claudio Ferreira de Souza Página 3 www.luizclaudiofs.blogspot.com
Agora vamos aos botões do formulário do nosso projeto:
Procedimento do Botão
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := Edit1.Text + '1';
end;
Construa os Demais Botões:
Prof. Luiz Claudio Ferreira de Souza Página 4 www.luizclaudiofs.blogspot.com
Procedimento do Botão
procedure TForm1.Button11Click(Sender: TObject);
var
v:array [0..11] of Integer;
j: integer;
i: integer;
Aux1: String;
Aux2: integer;
Acumulador1: integer;
Acumulador2: integer;
Dv1: integer;
Dv2: integer;
begin
// vamos preencher o array com os valores do CPF de 1 a 9
for i := 1 to 9 do
begin
Aux1:=copy(Edit1.Text,i,1); // Aqui Aux1 é string
Aux2:=StrToInt(Aux1);
v[i] := Aux2; // Aqui é guardado no vetor o conteúdo da variável Aux2 já no formato
numérico
end;
// Determinação do Primeiro Dígito do Dígito Verificador
Acumulador1:=0;
for i := 1 to 9 do
begin
Acumulador1:=(v[i])*i+Acumulador1
end;
Dv1:=Acumulador1 MOD 11;
if (Dv1=10) then
begin
Dv1:=0
end;
Edit2.Text:=IntToStr(Dv1);
// Determinação do Segundo Dígito do Dígito Verificador
v[10]:=Dv1;
i:=1;
Acumulador2:=0;
for j := 0 to 9 do
begin
Prof. Luiz Claudio Ferreira de Souza Página 5 www.luizclaudiofs.blogspot.com
v[j] := (v[i]);
i:=i+1;
Acumulador2:=(v[j])*j+Acumulador2;
end;
Dv2:=Acumulador2 MOD 11;
if (Dv2=10) then
begin;
Dv2:=0;
end;
Edit3.Text:=IntToStr(Dv2);
end;
Para finalizar o projeto, inclua um botão para limpar os componentes Edit
Bons estudos e até a próxima!