SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

54
SUMÁRIO Descrição Pág. Parte 01 -> Introdução à Programação 03 Parte 02 -> Variáveis e Estrutura Condicional 08 Parte 03 -> Exemplos e Exercícios sobre o Comando Condicional SE 11 Parte 04 -> COMANDO REPITA ......ATE 14 Parte 05 -> COMANDO ENQUANTO......FACA 16 Parte 06 -> COMANDO PARA .........FACA 18 Parte 07 -> Fluxogramas 21 Parte 08 -> Fluxogramas (Exemplos e Exercícios da estrutura ENQUANTO.....FACA) 26 Parte 09 -> Exemplos e Exercícios da estrutura REPITA.....ATE 28 Parte 10 -> Lazarus (Instalação) 30 Parte 11 -> Ambiente de Desenvolvimento Lázarus com Atividades e Exercícios 35 Parte 12 -> Simulação da Urna Eleitoral do T.R.E 45 Parte 13 -> Exercícios Complementares 51

Transcript of SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

Page 1: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

SUMÁRIO

Descrição Pág.

Parte 01 -> Introdução à Programação 03 Parte 02 -> Variáveis e Estrutura Condicional 08 Parte 03 -> Exemplos e Exercícios sobre o Comando Condicional SE 11 Parte 04 -> COMANDO REPITA ......ATE 14 Parte 05 -> COMANDO ENQUANTO......FACA 16 Parte 06 -> COMANDO PARA .........FACA 18 Parte 07 -> Fluxogramas 21 Parte 08 -> Fluxogramas (Exemplos e Exercícios da estrutura

ENQUANTO.....FACA) 26

Parte 09 -> Exemplos e Exercícios da estrutura REPITA.....ATE 28 Parte 10 -> Lazarus (Instalação) 30 Parte 11 -> Ambiente de Desenvolvimento Lázarus com Atividades e

Exercícios 35

Parte 12 -> Simulação da Urna Eleitoral do T.R.E 45 Parte 13 -> Exercícios Complementares 51

Page 2: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

3

Introdução à Programação Os computadores são equipamentos eletromecânicos que necessitam serem programados para executarem determinadas tarefas. 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;

Page 3: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

4

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.

Page 4: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

5

Desejando telefonar para alguém? O algoritmo, ou seja a seqüência de passos pode ser: 1- Localizar o numero desejado, numa agenda eletrônica ou não 2- Procurar o nome para quem se deseja telefonar 3- Localizar o numero desejado 4- Pegar o aparelho de telefone 5- Discar o numero 6- Falar com a pessoa 7- 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)

Page 5: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

6

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

Page 6: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

7

// 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

Page 7: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

8

Atividade Avaliativa:

1) O que é um algorítmo? 2) O que são algorítmos computacionais e não computacionais? 3) O que é sintaxe da linguagem? 4) O que é Portugol ou Português Estruturado? 5) O que é um programa de computador? 6) O que é Linearização de Expressões? 7) 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

Page 8: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

9

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? ")

Page 9: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

10

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

Page 10: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

11

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

Page 11: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

12

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

Page 12: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

13

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)

Page 13: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

14

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

Page 14: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

15

Exemplo 2:

Exemplo 3: Algorítmo para mostrar os números impares compreendidos entre 1 e 5 usando-se o comando repita.....ate

Page 15: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

16

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

Page 16: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

17

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

Page 17: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

18

Parte 6

Exemplo 1: O Algorítmo abaixo mostra os números compreendidos entre 1 e 10

Page 18: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

19

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

Page 19: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

20

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

Page 20: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

21

Parte 7

Decisão Simples

Page 21: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

22

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.”

Page 22: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

23

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

Page 23: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

24

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

Page 24: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

25

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

Page 25: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

26

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

Page 26: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

27

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:

Page 27: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

28

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.

Page 28: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

29

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.

Page 29: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

30

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:

Page 30: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

31

Page 31: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

32

Page 32: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

33

Page 33: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

34

Page 34: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

35

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.

Page 35: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

36

Acesso ao Lazarus:

Page 36: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

37

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

Page 37: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

38

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:

Page 38: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

39

Construção do Programa: No formulário deveremos disponibilizar os botões conforme a figura abaixo:

Page 39: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

40

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:

Page 40: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

41

Faça o mesmo com o Edit2 e Edit3. O formulário deverá ficar assim:

Page 41: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

42

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:

Page 42: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

43

Explicação dos Procedimentos dos botões Soma e Limpar:

Page 43: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

44

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

Page 44: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

45

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.

Page 45: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

46

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

Page 46: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

47

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;

Page 47: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

48

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;

Page 48: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

49

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!!!

Page 49: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

50

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á:

Page 50: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

51

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?

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

3) O que será mostrado, ao analisar o

pseudocódigo abaixo? 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

Page 51: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

52

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) 49 48 47 46 45 44 43 42 41 b) 49 45 43 41 c) 41 42 43 44 45 46 47 48 49 d) 49 47 45 43 41 39

6) Vesticon (Questão adaptada) Você recebeu a tarefa de automatizar um cálculo rotineiramente efetuado numa

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) 15 11) 2371,6 12) 25 13) 6,2 14) 5

Page 52: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

53

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

Page 53: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

54

6- Explique o que faz a linha 19 do algoritmo acima Observe o Fluxograma abaixo

Page 54: SUMÁRIO Descrição Pág. - anisioteixeira.com.br · NR

55

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?