Professor: Luiz Claudio - anisioteixeira.com.br · da simulação da urna eletrônica implementada...
Transcript of Professor: Luiz Claudio - anisioteixeira.com.br · da simulação da urna eletrônica implementada...
Professor: Luiz Claudio
Disciplina: Linguagem de Programação I
Nessa aula faremos a simulação de uma Urna Eleitoral do TRE.
Aqui usaremos o algoritmo semelhante aos usados na Urna eletrônica quando
tivemos aula anterior sobre Algoritmos utilizando o Visualg.
Postei no endereço www.luizclaudiofs.blogspot.com arquivo contendo o modelo
da simulação da urna eletrônica implementada em pascal (Ambiente Lázarus).
Na simulação do funcionamento da Urna Eletrônica, o encerramento se dá
quando digitamos o código 1045 no momento da votação na urna.
Quando encerrada a votação, será mostrado o Boletim final da Votação!!!
A simulação se dá entre o Candidato Almir Gabriel e Ana Julia (Eleição do
segundo turno do ano de 2006), juntamente são computados os votos Brancos e
Nulos.
Para adicionarmos Imagens ao formulário utilizaremos o
componente Image na guia Additional, como mostrado abaixo
Você deverá utilizar o componente Edit para a visualização do voto na urna, não esquecendo de apagar a sua propriedade Text para que a palavra Edit1 não fique sendo exibido, conforme mostrado abaixo
Procedures correspondentes aos Botões
procedure TForm1.Image2Click(Sender: TObject);
var
aj,ag,op,nu:Integer; //Declaração de variáveis
begin
aj:=StrToInt(Edit2.Text); //Transforma de String para Inteiro (Edit2)
ag:=StrToInt(Edit3.Text);
nu:=StrToInt(Edit5.Text);
op:=StrToInt(Edit1.Text);
If op = 13 then // Se o voto for 13 (begin…..End)
begin
aj:=aj+1; // Acumulador
Edit2.text:= InttoStr(aj); // Acumulo será mostrado no Edit2
Edit1.Clear; //limpar Edit1
Edit1.SetFocus; //Focar no Edit1
end;
If op = 45 then
begin
ag:=ag+1;
Edit3.text:= InttoStr(ag);
Edit1.Clear;
Edit1.SetFocus;
end;
If (op <> 13) and (op <> 45) and (op <> 1045) then // se os votos forem
Begin // diferentes de
nu:=nu+1; //13 e 45 e 1045
Edit5.text:= InttoStr(nu); //será acumulado os
Edit1.Clear; //votos nulos
Edit1.SetFocus;
end;
If op = 1045 then //se for digitado 1045 os components edit
Begin // e label serão visualizados mostrando o
Edit2.Visible:= True; // Boletim de Urna
Edit3.Visible:= True;
Edit4.Visible:= True;
Edit5.Visible:= True;
label1.Visible:= True;
label2.Visible:= True;
label3.Visible:= True;
label4.Visible:= True;
label5.Visible:= True;
end;
end;
procedure TForm1.Image4Click(Sender: TObject);
begin
Edit1.Clear;
Edit1.SetFocus;
end;
procedure TForm1.Image3Click(Sender: TObject);
Var
br:Integer;
begin
br:=StrToInt(Edit4.Text);
br:=br+1;
Edit4.text:= InttoStr(br);
end;
Para deixarmos os componentes invisíveis:
Obs1:
Ficarão visíveis os componentes, no momento em que a votação for encerrda
com o código 1045
Relembrando!!!
If op = 1045 then //se for digitado 1045 os componentes edit
Begin // e label serão visualizados mostrando o
Edit2.Visible:= True; // Boletim de Urna
Edit3.Visible:= True;
Edit4.Visible:= True;
Edit5.Visible:= True;
label1.Visible:= True;
label2.Visible:= True;
label3.Visible:= True;
label4.Visible:= True;
label5.Visible:= True;
end;
Obs2:
Os Edits de totalização dos votos da Urna deverão inicializar com zero (todos!,
conforme abaixo (propriedade Text de cada Edit da totalização) deverá ser
zerada:
Exercício:
Faça uma urna eletrônica para contabilizar os votos
de pelo menos 4 candidatos que participaram do
primeiro turno das eleições 2010 para governador do
estado do Pará:
Boa Sorte!!!