Apostila em PDF - anisioteixeira.com.br

Transcrição

Apostila em PDF - anisioteixeira.com.br
SUMÁRIO
Descrição
Parte
Parte
Parte
Parte
Parte
Parte
Parte
Parte
01 -> Introdução à Programação
02 -> Variáveis e Estrutura Condicional
03 -> Exemplos e Exercícios sobre o Comando Condicional SE
04 -> COMANDO REPITA ......ATE
05 -> COMANDO ENQUANTO......FACA
06 -> COMANDO PARA .........FACA
07 -> Fluxogramas
08 -> Fluxogramas (Exemplos e Exercícios da estrutura
ENQUANTO.....FACA)
Parte 09 -> Exemplos e Exercícios da estrutura REPITA.....ATE
Parte 10 -> Lazarus (Instalação)
Parte 11 -> Ambiente de Desenvolvimento Lázarus com Atividades e
Exercícios
Parte 12 -> Simulação da Urna Eleitoral do T.R.E
Parte 13 -> Exercícios Complementares
Pág.
03
08
11
14
16
18
21
26
28
30
35
45
51
Introdução à Programação
Os computadores são equipamentos eletromecânicos
programados para executarem determinadas tarefas.
que
necessitam
serem
Várias linguagens de computadores com suas respectivas sintaxes (na informática,
a sintaxe de cada linguagem de programação é definida com uma gramática formal)
foram desenvolvidas para serem utilizadas na programação dessas máquinas, mas existe
a necessidade de requisitos por parte do programador como habilidades, conhecimentos
e qualidades pessoais:
Habilidades Necessárias
⇒
⇒
⇒
⇒
⇒
Boa comunicação oral;
Boa memória;
Habilidade em digitar;
Boa Leitura;
Conhecimento em língua estrangeira (Inglês) é indispensável.
Conhecimentos Necessários
⇒
⇒
⇒
⇒
⇒
Conhecer linguagens de programação;
Conhecer hardware;
Conhecer software básico (sistemas operacionais);
Conhecimentos em gerenciamento de projetos;
Manter-se atualizado com novos métodos e tecnologias e como encontrar
informações on-line ou em manuais de instrução;
Qualidades Pessoais
⇒ Devem ser metódicos, pacientes, cuidadosos e precisos no trabalho;
⇒ Sejam pessoas adaptáveis e capazes de trabalhar sob pressão;
⇒ Devem saber relacionar-se bem colegas, superiores e subordinados;
As responsabilidades do programador diante de um novo projeto ou sobre algum que
esteja em desenvolvimento são muitas, entre elas destacamos:
Discutir a necessidade do cliente;
Elaborar as especificações do projeto;
Planejar como os programas irão funcionar em conjunto;
Escrever programas;
Executar testes para assegurar que os programas e os sistemas estão funcionando
corretamente;
Identificar erros em programas (depurações);
Preparar relatórios sobre uso dos programas;
Manter e atualizar programas;
Construir protótipos;
3
Com o passar do tempo as linguagens de programação sofreram evoluções,
principalmente na interação do programador com o computador.
Evolução das linguagens;
⇒ Linguagem de máquina: Instruções escritas em formato binário.
⇒ Linguagem de baixo nível: Associações com linguagem de maquina.
Ex: Assembler, Macro.
⇒ Linguagem de médio nível: Utiliza comandos na forma de palavra para
descrição de programas.
Ex: C, LPS.
⇒ Linguagem de alto nível: Semelhante à linguagem de médio nível, porem não
permite acesso a posições de memória via endereço.
EX: Cobol, Fortran, Pascal.
⇒ Linguagem de altíssimo nível: Não exige conhecimento de programação para
reduzir resultados. Seus comandos são poderosos e você especifica o que faz e
como faz.
EX: Focal, Mantis.
⇒ Linguagem funcional: Orientada à soluções de funções, possui um poderoso
repertorio de funções basicas e permite que novas funções sejam acrescentadas.
É utilizada como ferramenta de desenvolvimento de aplicações em inteligência
artificial.
Ex: APL, Lisp.
Algoritmo
⇒ É a descrição de um conjunto de comandos que, obedecidos, resultam numa
sucessão finita de ações.
⇒ É conhecido como algoritmo à especificação da seqüência lógica ordenada de
passos que deve ser seguida.para obtermos um objetivo.
Exemplo de algoritmo na representação narrativa
----- Afrouxar ligeiramente as porcas;
----- Suspender o carro;
----- Retirar as porcas e o pneu;
----- Colocar o pneu reserva;
----- Apertar as porcas.
4
Desejando telefonar para alguém? O algoritmo, ou seja a seqüência de passos pode ser:
1234567-
Localizar o numero desejado, numa agenda eletrônica ou não
Procurar o nome para quem se deseja telefonar
Localizar o numero desejado
Pegar o aparelho de telefone
Discar o numero
Falar com a pessoa
Desligar o telefone
Obs:
A ordem das etapas é importante para se atingir o resultado desejado
O algoritmo deve ter um início e um fim.
O algoritmo parece correto, mas poderão surgir alguns problemas ao executar as tarefas:
não achar o nome da pessoa, tocar ninguém atender, a pessoa não está em casa ...
portanto é necessário refinamentos no algoritmo, até satisfazer plenamente o problema
em questão.
A construção de Algoritmos computacionais (utilizados em informática) exige regras
para a sua construção (formalização), além de exigir muitas horas dedicadas ao estudo
para desenvolvê-los. Utilizaremos uma ferramenta educacional para o desenvolvimento
dos algoritmos em nossa disciplina, o Visualg. Vamos seguir uma seqüência de
atividades da menos para a mais complexa.
Português estruturado, também conhecido como portugol, é um pseudocódigo escrito
em português, sendo bastante utilizado para ensinar lógica de programação e
algoritmos.
Algorítmo para soma de dois números quaisquer
algoritmo "soma de dois números"
// Função : Realiza a soma de dois números Quaisquer
// Autor : Luiz Claudio F. De Souza
// Data : 29/04/2008
// Seção de Declarações
var
A:INTEIRO
B:INTEIRO
R:INTEIRO
inicio
// Seção de Comandos
LEIA (A)
LEIA (B)
R:=A+B
ESCREVA(R)
5
fimalgoritmo
Explicação sobre a composição do algorítmo acima
// -> é utilizado para comentário dentro do algorítmo
Seção de Declarações -> aqui é feito a declaração das variáveis presentes no algoritmo,
ou seja o local onde guardaremos valores que são alterados constantemente
Tipo Inteiro: para valores inteiros
Real: Para valores com casas decimais
caracter: para uso de cadeia de caracteres
início -> local onde se dá o inicio do algorítmo
Leia -> Comando para entrada de dados
Escreva -> Comando para saída de dados
fimalgoritmo -> Aqui temos o fim do algoritmo
Algorítmo soma mais completo e detalhado, ou seja, mais refinado!
algoritmo "soma de dois números mais completo"
// Função : Realiza a soma de dois números Quaisquer
// Autor : Luiz Claudio F. De Souza
// Data : 29/04/2008
// Seção de Declarações
var
A:INTEIRO
B:INTEIRO
R:INTEIRO
inicio
// Seção de Comandos
Escreva("Qual O PRIMEIRO NÚMERO?")
LEIA (A)
ESCREVA("QUAL O SEGUNDO NÚMERO?" )
LEIA (B)
ESCREVA("O VALOR DA SOMA É ---> " )
R:=A+B
ESCREVA(R)
fimalgoritmo
Exemplo de algorítmo que calcula a Média Aritmética entre duas notas
algoritmo "Média entre duas notas"
// Função : Calcula a média aritmética entre duas notas
// Autor : Luiz Claudio F. de Souza
6
// Data : 29/04/2008
// Seção de Declarações
var
A:REAL
B:REAL
R:REAL
inicio
// Seção de Comandos
ESCREVA ("Qual a primeira nota ----> ")
LEIA (A)
Escreva ("Qual a segunda nota ----> ")
LEIA (B)
Escreva ("Resultado da Média é ----> ")
R:=(A+B)/2
ESCREVA(R)
fimalgoritmo
7
Atividade Avaliativa:
1)
2)
3)
4)
5)
6)
7)
O que é um algorítmo?
O que são algorítmos computacionais e não computacionais?
O que é sintaxe da linguagem?
O que é Portugol ou Português Estruturado?
O que é um programa de computador?
O que é Linearização de Expressões?
Como são chamados os operadores aritméticos abaixo, respectivamente:
%,^,\,/*,-,+
8) Faça um algorítmo computacional execute-o no Visualg para mostrar a média
aritmética de 4 notas de um aluno na disciplina Matemática
9) Faça um algorítmo computacional e execute-o no Visualg para mostrar qual
idade determinada pessoa alcançará no ano em que estamos
10) O que são variáveis
Parte 2
Variáveis e Estrutura Condicional
8
Exemplo: Algorítmo para verificar quem possui mais idade entre duas pessoas
algoritmo "Pessoa com maior idade entre duas"
// Função : Verificar quem é a pessoa de maior idade
// Autor : Luiz Claudio F. de Souza
// Data : 30/04/2008
// Seção de Declarações
var
I1:inteiro
I2:inteiro
N1:caracter
N2:caracter
inicio
// Seção de Comandos
Escreva("Qual o nome da primeira Pessoa? ")
Leia(N1)
Escreva("Qual a idade da PRIMEIRA Pessoa? ")
Leia(I1)
Escreva("Qual o nome da segunda Pessoa? ")
9
Leia(N2)
Escreva("Qual a idade da SEGUNDA Pessoa? ")
Leia(I2)
Escreva("
")
Se I1>I2 entao
Escreva(N1," ‚ é a pessoa com maior idade")
Fimse
Se I1<I2 entao
Escreva(N2," ‚ é a pessoa com maior idade")
Fimse
Se I1=I2 entao
Escreva("Pessoas com Idades Iguais")
Fimse
fimalgoritmo
Refinamento do exemplo anterior
algoritmo "Pessoa com maior idade entre duas"
// Função : Verificar quem é a pessoa de maior idade
// Autor : Luiz Claudio F. de Souza
// Data : 30/04/2008
// Seção de Declarações
var
I1:inteiro
I2:inteiro
N1:caracter
N2:caracter
inicio
// Seção de Comandos
Escreva("Qual o nome da primeira Pessoa? ")
Leia(N1)
Escreva(n1," tem qual idade? ")
Leia(I1)
Escreva("Qual o nome da segunda Pessoa? ")
Leia(N2)
Escreva(n2," tem qual idade? ")
Leia(I2)
Escreva("
")
Se I1>I2 entao
Escreva(N1," ‚ é a pessoa com maior idade")
Fimse
Se I1<I2 entao
Escreva(N2," ‚ é a pessoa com maior idade")
Fimse
Se I1=I2 entao
Escreva("Pessoas com Idades Iguais")
Fimse
fimalgoritmo
10
Atividade Avaliativa:
1)Fazer um algorítmo para saber quem tem menor idade entre duas pessoas
2)Fazer um algorítmo para saber quem tem maior idade entre três pessoas
3)Fazer um algorítmo para saber quem tem menor idade entre três pessoas
Parte 3
Exemplos e Exercícios sobre o Comando Condicional SE
Exemplo I
11
Acima temos um algorítmo que faz uso da condição “SE”.
Se o valor da média aritmética da média do aluno for maior ou igual a 7 o aluno estará
aprovado.
Se o valor da média aritmética da média do aluno for menor que 7 o aluno estará em
Recuperação.
Exercício I:
Observando o algorítmo acima, implemente no mesmo algorítmo os passos para mostrar
que o aluno está em recuperação e quanto o aluno vai necessitar tirar como nota na
recuperação.
Obs: O calculo da nota da recuperação é efetuado com a seguinte formula:
NR <- 10 – MA
Onde: NR é a nota da recuperação
MA é o valor da média aritmética
EXEMPLO II
12
Exercício II:
Observando o algorítmo acima, implemente as operações de divisão e subtração.
Exercício III:
Você enquanto Técnico em Informática, trabalhando em uma empresa de
procedência Americana instalada em nosso país, recebe a tarefa de
desenvolver um algorítmo para controlar as temperaturas dos aparelhos de
ar condicionado da empresa, algorítmo este que deve transformar a
temperatura da escala FARENHEIT (Escala termométrica adotada nos
E.U.A) para Celcius (Escala termométrica utilizada e nosso país). Visto que
os aparelhos são de procedência americana, portanto importados e utilizam
a escala termométrica diferente da nossa.
OBS: O algorítmo deve informar, através de mensagem no vídeo, sempre
que a temperatura for maior ou igual a 22º C e menor ou igual a 18º C
“Temperatura fora da especificação da empresa”.
Passos para Resolver o problema:
1- Entender o problema.
2-Como transformar da Escala Farenheit para Escala Celcius
Pesquisar a transformação entre escalas: tc = tf – 32
5
9
3-Fazer o Algorítmo
4-Depuração (Testes, para retirada dos erros do algorítmo)
13
Parte 4
COMANDO REPITA ......ATE
Exemplo 1:
Algorítmo para mostrar os números compreendidos entre 1 e 3 usando-se o
comando repita.....ate
14
Exemplo 2:
Exemplo 3:
Algorítmo para mostrar os números impares compreendidos entre 1 e 5 usando-se
o comando repita.....ate
15
Exercício:
1- Faça um algoritmo, utilizando o Visualg para mostrar os números
compreendidos entre 50 e 100 em ordem crescente
2- Faça um algoritmo, utilizando o Visualg para mostrar os números Impares
compreendidos entre 70 e 100 em ordem crescente
3- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares
compreendidos entre 70 e 100 em ordem crescente
4- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares
compreendidos entre 70 e 100 em ordem decrescente
Parte 5
COMANDO ENQUANTO......FACA
Exemplo 1:
Algorítmo para mostrar os números compreendidos entre 1 e 3 usando-se o
comando Enquanto....faca
16
Exemplo 2:
Algorítmo para mostrar os números impares compreendidos entre 1 e 5 usando-se
o comando Enquanto...Faca
Exercício:
1- Faça um algoritmo, utilizando o Visualg para mostrar os números
compreendidos entre 50 e 100 em ordem crescente
2- Faça um algoritmo, utilizando o Visualg para mostrar os números Impares
compreendidos entre 70 e 100 em ordem crescente
3- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares
compreendidos entre 70 e 100 em ordem crescente
4- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares
compreendidos entre 70 e 100 em ordem decrescente
17
Parte 6
Exemplo 1: O Algorítmo abaixo mostra os números compreendidos entre 1 e 10
18
Exemplo 2: O Algorítmo abaixo mostra os números compreendidos entre dois
valores quaisquer informados
Exemplo 3: O Algorítmo abaixo mostra os números ímpares compreendidos entre
50 e 1
19
Exercício:
Utilize a estrutura para faca para resolver as questões abaixo:
1- Faça um algoritmo, utilizando o Visualg para mostrar os números
compreendidos entre 50 e 100 em ordem crescente
2- Faça um algoritmo, utilizando o Visualg para mostrar os números Impares
compreendidos entre 70 e 100 em ordem crescente
3- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares
compreendidos entre 70 e 100 em ordem crescente
4- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares
compreendidos entre 70 e 100 em ordem decrescente
5- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares
compreendidos entre 02 numeros fornecidos quaisquer
6- Faça um algoritmo, utilizando o Visualg para mostrar os números Ímpares
compreendidos entre 02 numeros fornecidos quaisquer
20
Parte 7
Decisão Simples
21
Exemplo Prático:
Você enquanto Técnico em Informática, trabalhando em uma empresa de
procedência Americana instalada em nosso país, recebe a tarefa de
desenvolver um algorítmo para controlar as temperaturas dos aparelhos de
ar condicionado da empresa, algorítmo e ste que deve transformar a
temperatura da escala FARENHEIT (Escala termométrica adotada nos
E.U.A) para Celcius (Escala termométrica utilizada e nosso país). Visto que
os aparelhos são de procedência americana, portanto importados e utilizam
a escala termométrica diferente da nossa.
OBS: O algorítmo deve informar, através de mensagem no vídeo, sempre
que a
temperatura for maior ou igual a 22º C e menor ou igual a 18º
C.
Mensagem a ser exibida -> “Temperatura fora da especificação da
empresa.”
22
Algorítmo
algoritmo "Para Celcius"
// Função : Transformacao Entre Escalas CELCIUS e FAHRENHEIT
// Autor : Luiz Claudio F. de Souza
// Data : 6/5/2008
// Seção de Declarações
var
tc,tf:real
inicio
Escreva("Forneca a temperatura do ar Condicionado: ")
leia(tf)
tc := (tf-32)*5/9
Escreva("A Temperatura na Escala Celcius é:",tc,"º")
se (tc >= 22) ou (tc <= 18) entao
Escreva (" A Temperatura esta Fora da Especificacao da Empresa")
Senao
Escreva ("A temperatura esta Dentro da Especificacao da Empresa")
fimse
fimalgoritmo
23
Fluxograma
Exercício1:
Abaixo temos um algorítmo que faz uso de condicional -> “SE”.
Se o valor da média aritmética da média do aluno for maior ou igual a 7 o aluno estará
aprovado.
Se o valor da média aritmética da média do aluno for menor que 7 o aluno estará em
Recuperação
Faça um fluxograma do Problema em questão
24
Algorítmo
Exercício2:
Faça um Fluxograma para mostrar quem é o maior entre dois números
Exercício3:
Você precisa dar um treinamento básico de confecção de fluxogramas com a utilização
do Visio para um grupo de pessoas da área de informática de sua empresa. Elabore um
tutorial básico para utilização do Visio do Pacote Office.
Obs: As três questões acima poderão ser feitas em grupo de até 3 pessoas
25
Parte 8
Fluxogramas
Exemplos e Exercícios da estrutura ENQUANTO.....FACA
Um Analista de Sistemas do T.R.E, atribuiu-lhe a tarefa de projetar uma urna
eletrônica utilizando o Visualg obedecendo o seguinte fluxograma abaixo:
Resposta da situação acima:
algoritmo "Urna Eletronica"
// Função : simular o uso da urna eletronica do T.R.E
// Autor : Luiz Claudio F. de Souza
// Data : 11/6/2008
// Seção de Declarações
var
aj,ag,br,nu,opcao:inteiro
inicio
opcao:=99
// Seção de Comandos
26
Enquanto opcao <> 0 faca
limpatela
escreval("Simulação da Urna Eletrônica do T.R.E")
escreval("*************************************")
escreval("Ana Júlia Carepa -> 13")
escreval("Almir gabriel -> 25")
escreval("Branco
-> 3")
escreval("Digite sua opção de voto")
leia (opcao)
se opcao = 13 entao
aj:=aj+1
fimse
se opcao = 25 entao
ag:=ag+1
fimse
se opcao = 3 entao
br:=br+1
fimse
se (opcao <> 13) e (opcao <> 25) e (opcao <> 3) e (opcao <> 0) entao
nu:=nu+1
fimse
fimenquanto
limpatela
escreval ("Boletim da Una - Totalização dos votos")
escreval ("**************************************")
escreval ("**************************************")
escreval ("Ana Julia ->",aj)
escreval ("Almir Gabriel ->", ag)
escreval ("Branco ->",br)
escreval ("nulo ->", nu)
escreval ("***************************************")
fimalgoritmo
Exercício:
Desenvolva um fluxograma e implemente o algorítmo
em Visualg para simular a eleição dos prováveis
candidatos se a eleição para a Prefeitura Municipal de
Belém fosse hoje.
Prováveis Candidatos:
27
Waldir Ganzer
-> 13
Edmilson Rodrigues -> 50
Abdon
-> 36
Zeca Pirão
-> 11
Valéria Pires
-> 25
Pioneiro
-> 45
Helder Barbalho
-> 15
Obs: Leve em consideração os votos brancos e nulos!
Atividade pode ser realizada em dupla.
Parte 9
Fluxograma
Exemplos e Exercícios da estrutura REPITA.....ATE
Na aula anterior vimos a estrutura enquanto....faca no exemplo da simulação da
urna do T.R.E.
Na aula de hoje veremos a estrutura Repita....até
Exemplo: O algorítmo abaixo Mostra os números compreendidos entre dois
números quaisquer em Ordem Crescente.
28
Fluxograma do exemplo acima
Exercício:
Faça um Fluxograma e implemente o algorítmo em Visualg para
mostrar os números compreendidos entre dois números quaisquer em
ordem Decrescente.
29
Parte 10
LÁZARUS
Essa parte do nosso curso está dedicada à instalação do Software Livre lázarus que
iremos utilizar para desenvolvimento de aplicações referentes a nossa disciplina
Instalação do Lazarus
Software a ser Instalado:
30
31
32
33
34
Parte 11
Ambiente de Desenvolvimento Lázarus com Atividades e Exercícios
DELPHI
O Delphi é um ambiente de Desenvolvimento totalmente Baseado na Orientação a
Objetos, não é puro (discutiremos isso mais tarde) mas por enquanto o que você precisa
saber que ele é uma ferramenta com um incrível poder na construção tanto de softwares
complexos, quanto de sistemas de manipulação a bancos de dados.
LAZARUS
O Lazarus é uma alternativa de Código Aberto ao Delphi®, com a grande vantagem de
ser multi-plataforma. Trata-se de um Ambiente Integrado de Desenvolvimento que,
através da linguagem Pascal, há décadas ultilizada no meio acadêmico, e do compilador
FreePascal, cria programas de forma facilitada. Por tanto em nossa disciplina iremos
utilizar a Linguagem Pascal nesse Ambiente de Programação.
35
Acesso ao Lazarus:
36
Ambiente de Desenvolvimento do Lazarus
Abaixo você vê destacado onde irá ser criado a interface com o usuário, chamamos essa
janela de Formulário
37
Exemplo prático 1: Construção de uma calculadora com a operação de
adição utilizando o Lazarus
A calculadora deverá ter a forma como está abaixo, onde deverá ser
digitado dois valores, os quais serão somados automaticamente e ser
mostrado o valor quando clicarmos no botão
O botão
realiza a limpeza dos valores que foram digitados
para um calculo anterior.
O Programa terá a seguinte janela para interagir com o usuário:
38
Construção do Programa:
No formulário deveremos disponibilizar os botões conforme a figura
abaixo:
39
Quando terminar de construir o formulário acima, deverá ser dado nome
aos botões: Button1 e Button2
No formulário clique no Button1 uma vez, procure a palavra Caption e ao
lado coloque o sinal de adição +
Faça o mesmo com o Button2 colocando a palavra Limpar
Clique nos demais (Label, Edit) e faça o mesmo procedimento descrito
acima para nomea-los, conforme acima. Utilizando o Caption
Note que o Edit está preenchido com Edit1, ele deverá estar em branco
conforme acima. Clique uma vez no Edit1 e vá na propriedade Text,
conforme abaixo, e deixe-o em branco:
40
Faça o mesmo com o Edit2 e Edit3. O formulário deverá ficar assim:
41
Note ainda que no título do formulário está escrito calculadora.
Nomeamos o título do formulário clicando sobre o título uma vez e indo
na função Caption e lá digitamos a palavra Calculadora, conforme abaixo:
Finalmente estamos pronto para a programação em linguagem Pascal dos
procedimentos dos Botões para somar e Limpar.
Cada programação do botão tem que ser de forma separada:
42
Explicação dos Procedimentos dos botões Soma e Limpar:
43
Exercícios (Atividade Avaliativa):
Construa uma calculadora, utilizando o Lazarus, complementando o exercício anterior
com a Subtração (-), Divisão (/), Multiplicação (*) e fatorial (!). A Soma (+) já foi feita
Abaixo, um norte sobre o algorítmo para a produção do botão fatorial
leia n
fat <- 1
para i variando de 1 a n faça
fat <- fat*i
escreva fat
44
Parte 12
SIMULAÇÃO DE UMA URNA ELEITORAL DO T.R.E
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 (Assunto: Linguagem de
Programação) 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.
45
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
46
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
begin
aj:=aj+1;
Edit2.text:= InttoStr(aj);
Edit1.Clear;
Edit1.SetFocus;
end;
// Se o voto for 13 (begin…..End)
// Acumulador
// Acumulo será mostrado no Edit2
//limpar Edit1
//Focar no Edit1
47
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
Begin
nu:=nu+1;
Edit5.text:= InttoStr(nu);
Edit1.Clear;
Edit1.SetFocus;
end;
If op = 1045 then
Begin
Edit2.Visible:= True;
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;
// se os votos forem
// diferentes de
//13 e 45 e 1045
//será acumulado os
//votos nulos
//se for digitado 1045 os components edit
// e label serão visualizados mostrando o
// Boletim de Urna
end;
procedure TForm1.Image4Click(Sender: TObject);
begin
Edit1.Clear;
Edit1.SetFocus;
end;
48
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!!!
49
If op = 1045 then
Begin
Edit2.Visible:= True;
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;
//se for digitado 1045 os componentes edit
// e label serão visualizados mostrando o
// Boletim de Urna
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á:
50
Parte 13
EXERCÍCIOS COMPLEMENTARES
EXERCÍCIO I
1- Unama – Cea (Companhia de Eletricidade do Amapá) - 2006
2) O que será mostrado, ao analisar o
pseudocódigo abaixo?
3) O que será mostrado, ao analisar o
pseudocódigo abaixo?
algoritmo "questao 2"
var j: inteiro
inicio
// Seção de Comandos
j <- 1
repita
escreva (j:3)
j <- j + 1
ate j > 10
fimalgoritmo
a) 10 9 8 7 6 5 4 3 2 1
b) 1 2 3 4 5 6 7 8 9 10
c) 1 3 5 7 9
d) 2 4 6 8 10
algoritmo "Questao 3"
var j: inteiro
inicio
// Seção de Comandos
j <- 1
repita
escreva (j:3)
j <- j + 2
ate j > 10
fimalgoritmo
a) 10 9 8 7 6 5 4 3 2 1
b) 1 2 3 4 5 6 7 8 9 10
c) 1 3 5 7 9
d) 2 4 6 8 10
51
4) O que será mostrado, ao analisar o
pseudocódigo abaixo?
algoritmo "Questao 4"
var j: inteiro
inicio
// Seção de Comandos
j <- 2
repita
escreva (j:3)
j <- j + 2
ate j > 10
fimalgoritmo
a) 10 9 8 7 6 5 4 3 2 1
b) 1 2 3 4 5 6 7 8 9 10
c) 1 3 5 7 9
d) 2 4 6 8 10
5) O que será mostrado, ao analisar o
pseudocódigo abaixo?
algoritmo "Questão 5"
// Seção de Declarações
var
j: inteiro
inicio
// Seção de Comandos
para j de 49 ate 39 passo -2 faca
escreva (j:3)
fimpara
fimalgoritmo
a)
b)
c)
d)
49 48 47 46 45 44 43 42 41
49 45 43 41
41 42 43 44 45 46 47 48 49
49 47 45 43 41 39
6) Vesticon (Questão adaptada)
empresa de engenharia. Após a análise do
Pseudocódigo abaixo, com os valores das
variáveis abaixo:
A1=10, A2=2, D3=3, A4=1, A3=3, B1=5,
D2 = 9, D1 = 7
Qual o valor encontrado de X?
algoritmo "Questao 6"
// Seção de Declarações
var
a1: real
a2: real
d3: real
a4: real
a3: real
b1: real
d2: real
d1: real
x: real
inicio
// Seção de Comandos
leia (a1)
leia (a2)
leia (d3)
leia (a4)
leia (a3)
leia (b1)
leia (d2)
leia (d1)
x <- (a1*a2+d3+a4*a3+b1^a2*(d2-d1)a4)/b1
escreva ("o Resultado do cálculo é:",x)
fimalgoritmo
10)
11)
12)
13)
14)
15
2371,6
25
6,2
5
Você recebeu a tarefa de automatizar um
cálculo rotineiramente efetuado numa
52
Exercício II
1- Observe o algoritmo abaixo e explique o que faz a linha 26
2- Observe o algoritmo acima e explique o que faz a linha 7
3- Na Declaração de variáveis no Visualg, quais tipos podemos declarar?
Observe o algoritmo abaixo:
4-O que será mostrado na execução do algoritmo no Visualg?
5- Com base no algoritmo imediatamente acima, adapte-o para mostrar os números
ímpares entre 1 e 10
53
6- Explique o que faz a linha 19 do algoritmo acima
Observe o Fluxograma abaixo
54
7- Explique para que serve o losango no fluxograma acima.
8- Com suas palavras, descreva o que o fluxograma imediatamente acima representa.
9- O que é um fluxograma?
10 – Qual a diferença entre um algoritmo e um fluxograma?
55

Documentos relacionados

Introdução - Blog do Prof. PC

Introdução - Blog do Prof. PC // Autor: // Data: // Seção de Declarações var inicio // Seção de Comandos fimalgoritmo ©  P  C  F  de  Oliveira  2013

Leia mais