linguagem de programação ii linguagem de programação ... · apostila 4 linguagem de...

5
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

Upload: ngothuan

Post on 09-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linguagem de Programação II Linguagem de Programação ... · Apostila 4 Linguagem de Programação II Linguagem de Programação Pascal – Ambiente Lazarus Vetores Vetores são

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

Page 2: Linguagem de Programação II Linguagem de Programação ... · Apostila 4 Linguagem de Programação II Linguagem de Programação Pascal – Ambiente Lazarus Vetores Vetores são

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)

Page 3: Linguagem de Programação II Linguagem de Programação ... · Apostila 4 Linguagem de Programação II Linguagem de Programação Pascal – Ambiente Lazarus Vetores Vetores são

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:

Page 4: Linguagem de Programação II Linguagem de Programação ... · Apostila 4 Linguagem de Programação II Linguagem de Programação Pascal – Ambiente Lazarus Vetores Vetores são

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

Page 5: Linguagem de Programação II Linguagem de Programação ... · Apostila 4 Linguagem de Programação II Linguagem de Programação Pascal – Ambiente Lazarus Vetores Vetores são

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!