Upload
gustavo-zimmermann
View
710
Download
6
Embed Size (px)
DESCRIPTION
Curso de Excel VBA no Senac Santa Maria
EXCEL VBA (aula 3) Lógica de Programação prof. Gustavo Zimmermann
prof. Gustavo Zimmermann | [email protected]
1. SE <condição> ENTÃO
2. <comandos>
3. FIM SE
Condição
Comandos
V
F
Excel VBA - Lógica de Programação
Estruturas de Controle
SE ... ENTÃO
prof. Gustavo Zimmermann | [email protected]
1. PROGRAMA Exemplo_se
2. VARIÁVEL
3. num: INTEIRO
4. INÍCIO
5. LEIA num
6. SE (num >= 0) ENTÃO
7. ESCREVA “O número é positivo”
8. FIM SE
9. FIM
Início
num
num >= 0
O número é positivo
Fim
V
F
Excel VBA - Lógica de Programação
Estruturas de Controle
EXEMPLO: Imagine um algoritmo que deve verificar se um número é positivo e exibir na tela “Número positivo”.
SE ... ENTÃO
prof. Gustavo Zimmermann | [email protected]
1. SE <condição> ENTÃO
2. <comandos 1>
3. SENÃO
4. <comandos 2>
5. FIM SE
Condição
Comandos 1
V F
Comandos 2
Excel VBA - Lógica de Programação
Estruturas de Controle
SE ... ENTÃO ... SENÃO
prof. Gustavo Zimmermann | [email protected]
EXEMPLO: algoritmo de um programa que exiba na tela se o número digitado pelo usuário é par ou ímpar.
Excel VBA - Lógica de Programação
Estruturas de Controle
1. PROGRAMA Exemplo_se_senao
2. VARIÁVEL
3. num, verifica : INTEIRO
4. INÍCIO
5. LEIA num
6. verifica ← num mod 2
7. SE (verifica = 0) ENTÃO
8. ESCREVA “O número é par”
9. SENÃO
10. ESCREVA “O número é ímpar”
11. FIM SE
12. FIM
SE ... ENTÃO ... SENÃO
Início
num
verifica ← num mod 2
verifica = 0
Fim
O número é par
V F
O número é ímpar
prof. Gustavo Zimmermann | [email protected]
1. SELECIONE <condição>
2. CASO V1: <comandos>
3. CASO V2: <comandos>
4. CASO V3: <comandos>
5. FIM SELECIONE
Excel VBA - Lógica de Programação
Estruturas de Controle
SELECIONE ... CASO
Condição 1
Condição 2
Condição 3
Comandos 1
Comandos 2
Comandos 3 Comandos n F V
V
V
F
F
prof. Gustavo Zimmermann | [email protected]
1. PROGRAMA Exemplo_caso
2. VARIÁVEL
3. num1, num2, total: INTEIRO
operador: CARACTERE
4. INÍCIO
5. LEIA num1 e num2
6. LEIA operador
7. SELECIONE operador
8. CASO +:
9. total ← num1 + num2
10. ESCREVA total
11. CASO -:
12. total ← num1 - num2
13. ESCREVA total
14. CASO *:
15. total ← num1 * num2
16. ESCREVA total
17. CASO /:
18. total ← num1 / num2
19. ESCREVA total
20. CASO CONTRÁRIO:
21. ESCREVA “Opção errada!”
22. FIM SELECIONE
23. FIM
Excel VBA - Lógica de Programação
Estruturas de Controle
EXERCÍCIO: monte um algoritmo que leia dois números e execute com eles uma das quatro operações básicas de matemática: adição, subtração, multiplicação e divisão.
SELECIONE ... CASO
1. PROGRAMA Exemplo_se_entao
2. VARIÁVEL
3. num1, num2, total: INTEIRO
4. operador: CARACTERE
5. INÍCIO
6. LEIA num1 e num2
7. LEIA operador
8. SE (operador = +) ENTÃO
9. total ← num1 + num2
10. ESCREVA total
11. SENÃO
12. SE (operador = -) ENTÃO
13. total ← num1 - num2
14. ESCREVA total
15. SENÃO
16. SE (operador = *) ENTÃO
17. total ← num1 * num2
18. ESCREVA total
19. SENÃO
20. SE (operador = /) ENTÃO
21. total ← num1 / num2
22. ESCREVA total
23. SENÃO
24. ESCREVA “Operação errada!”
25. FIM SE
26. FIM SE
27. FIM SE
28. FIM SE
29. FIM
prof. Gustavo Zimmermann | [email protected]
1. SE <condição> ENTÃO
2. <comandos 1>
3. SENÃO
4. SE <condição 2> ENTÃO
5. <comandos 2>
6. SENÃO
7. <comandos 3>
8. FIM SE
9. FIM SE
Excel VBA - Lógica de Programação
Estruturas de Decisão Encadeadas
PORTUGOL FLUXOGRAMA
Condição 1 F
Condição 2
Comandos 2 Comandos 3
Comandos 1
V
V F
prof. Gustavo Zimmermann | [email protected]
EXERCÍCIO: elaborar um programa que lê o valor dos três lados de um triângulo e verifica se ele é equilátero, isósceles ou escaleno.
Excel VBA - Lógica de Programação
Estruturas de Decisão Encadeadas
Início
A, B, C
A < B + C E B < A + C E C < A + B
Essas medidas não formam um triângulo.
Triângulo Escaleno Triângulo Isósceles
Triângulo Equilátero
Fim
A = B E
B = C
A = B OU A = C OU
C = B
V F
F
F V
V
prof. Gustavo Zimmermann | [email protected]
1. ENQUANTO <condição> FAÇA
2. <comandos>
3. FIM ENQUANTO
Excel VBA - Lógica de Programação
Estruturas de Repetição
ENQUANTO ... FAÇA
Condição
Comandos
F
V
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição
ENQUANTO ... FAÇA EXEMPLO: construir um algoritmo para o cálculo do fatorial do número 3 (3!).
1. PROGRAMA Exemplo_enquanto01
2. VARIÁVEL
3. contador, fatorial: INTEIRO
4. INÍCIO
5. fatorial ← 1
6. contador ← 1
7. ENQUANTO (contador <= 3) FAÇA
8. fatorial ← fatorial * contador
9. contador ← contador + 1
10. FIM ENQUANTO
11. ESCREVA “O fatorial de 3 é =”, fatorial
12. FIM
EXERCÍCIO: construir o fluxograma de um dos Portugols acima.
1. PROGRAMA Exemplo_enquanto02
2. VARIÁVEL
3. dias, salario: INTEIRO
4. resposta: LOGICO
5. INÍCIO
6. resposta ← verdadeiro
7. ENQUANTO (resposta = verdadeiro) FAÇA
8. LEIA dias
9. salario ← dias * 10
10. ESCREVA salario
11. ESCREVA “Deseja continuar?”
12. LEIA resposta
13. FIM ENQUANTO
14. FIM
prof. Gustavo Zimmermann | [email protected]
1. REPITA
2. <comandos>
3. ATÉ QUE <condição>
Excel VBA - Lógica de Programação
Estruturas de Repetição
REPITA ... ATÉ QUE
Comandos
Condição F
V
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição
REPITA ... ATÉ QUE EXEMPLO: números inteiros de 1 a 100.
1. PROGRAMA Exemplo_repita01
2. VARIÁVEL
3. num: INTEIRO
4. INÍCIO
5. num ← 1
6. REPITA
7. ESCREVA num
8. num ← num +1
9. ATÉ QUE (num > 100)
10. FIM
EXERCÍCIO: construir o fluxograma de um dos Portugols acima.
1. PROGRAMA Exemplo_enquanto2
2. VARIÁVEL
3. media, num1, num2: INTEIRO
4. resposta: LOGICO
5. INÍCIO
6. resposta ← verdadeiro
7. REPITA
8. ESCREVA “Digite os números”
9. LEIA num1 e num2
10. media ← (num1 + num2)/2
11. ESCREVA media
12. ESCREVA “Deseja continua?”
13. LEIA resposta
14. ATÉ QUE (resposta = falso)
15. FIM
prof. Gustavo Zimmermann | [email protected]
1. PARA <variável> DE <valor inicial> ATÉ <valor final> PASSO <incremento>
2. FAÇA
3. <comandos>
4. FIM PARA
Excel VBA - Lógica de Programação
Estruturas de Repetição
PARA ... DE ... ATÉ ... PASSO ... FAÇA
Var ← inicio, fim,
incremento
Comandos
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição
EXEMPLO: algoritmo de programa que calcula e exibe a tabuada do 9.
1. PROGRAMA Exemplo_para
2. VARIÁVEL
3. cantador, resultado: INTEIRO
4. INÍCIO
5. PARA contador DE 1 ATÉ 10 PASSO 1 FAÇA
6. resultado ← contador * 9
7. ESCREVA resultado
8. FIM PARA
9. FIM
PARA ... DE ... ATÉ ... PASSO ... FAÇA
Início
contador ← 1, 10, 1
resultado ← contador *9
resultado
Fim
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição Encadeadas
1. ENQUANTO <condição 1> FAÇA
2. ENQUANTO <condição 2> FAÇA
3. <comandos>
4. FIM ENQUANTO
5. FIM ENQUANTO
ENQUANTO COM ENQUANTO Condição 1
Condição 2
Comandos
F
F
V
V EXERCÍCIO:
Criar algoritmo que calcula a tabuada de qualquer
número quantas vezes o usuário desejar, utilizando a
estrutura ENQUANTO com ENQUANTO.
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição Encadeadas
1. ENQUANTO <condição 1> FAÇA
2. REPITA
3. <instruções>
4. ATÉ QUE <condição 2>
5. FIM ENQUANTO
ENQUANTO COM REPITA Condição 1
Condição 2
Comandos
F
F
V
V
EXERCÍCIO:
Criar algoritmo que calcula a tabuada de qualquer
número quantas vezes o usuário desejar, utilizando a
estrutura ENQUANTO com REPITA.
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição Encadeadas
ENQUANTO COM PARA
EXERCÍCIO:
Criar algoritmo que calcula a tabuada de qualquer
número quantas vezes o usuário desejar, utilizando a
estrutura ENQUANTO com PARA.
1. ENQUANTO <condição> FAÇA 2. PARA <variável> DE <valor inicial> ATÉ <valor final> PASSO <incremento>
3. FAÇA
4. <comandos>
5. FIM PARA
6. FIM ENQUANTO
Condição 1
Comandos
F
V
Var ← inicio, fim,
incremento
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição Encadeadas
1. REPITA
2. REPITA
3. <instruções>
4. ATÉ QUE <condição 2>
5. ATÉ QUE <condição 1>
REPITA COM REPITA
EXERCÍCIO:
Criar algoritmo que calcula a tabuada de qualquer
número quantas vezes o usuário desejar, utilizando a
estrutura REPITA com REPITA.
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição Encadeadas
1. REPITA
2. ENQUANTO <condição 2> FAÇA
3. <comandos>
4. FIM ENQUANTO
5. ATÉ QUE <condição 1>
REPITA COM ENQUANTO
EXERCÍCIO:
Criar algoritmo que calcula a tabuada de qualquer
número quantas vezes o usuário desejar, utilizando a
estrutura REPITA com ENQUANTO..
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição Encadeadas
REPITA COM PARA
EXERCÍCIO:
Criar algoritmo que calcula a tabuada de qualquer
número quantas vezes o usuário desejar, utilizando a
estrutura REPITA com ENQUANTO..
1. REPITA
2. PARA <variável> DE <valor inicial> ATÉ <valor final> PASSO <incremento>
3. FAÇA
4. <comandos>
5. FIM PARA
6. ATÉ QUE <condição>
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição Encadeadas
PARA COM PARA
EXERCÍCIO:
Criar algoritmo que calcula 3 vezes a tabuada de
qualquer número, utilizando a estrutura PARA com
PARA..
1. PARA <variável> DE <valor inicial> ATÉ <valor final> PASSO <incremento>
2. FAÇA
3. PARA <variável> DE <valor inicial> ATÉ <valor final> PASSO <incremento>
4. FAÇA
5. <comandos>
6. FIM PARA
7. FIM PARA
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição Encadeadas
PARA COM ENQUANTO
EXERCÍCIO:
Criar algoritmo que calcula 3 vezes a tabuada de
qualquer número, utilizando a estrutura PARA com
ENQUANTO..
1. PARA <variável> DE <valor inicial> ATÉ <valor final> PASSO <incremento>
2. FAÇA
3. ENQUANTO <condição>FAÇA
4. <comandos>
5. FIM ENQUANTO
6. FIM PARA
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Estruturas de Repetição Encadeadas
PARA COM REPITA
EXERCÍCIO:
Criar algoritmo que calcula 3 vezes a tabuada de
qualquer número, utilizando a estrutura PARA com
REPITA..
1. PARA <variável> DE <valor inicial> ATÉ <valor final> PASSO <incremento> FAÇA
2. REPITA
3. <comandos>
4. ATÉ QUE <condição>
5. FIM PARA
prof. Gustavo Zimmermann | [email protected]
Excel VBA - Lógica de Programação
Comparação das Estruturas
ENQUANTO A Estrutura ENQUANTO faz a verificação do teste lógico no início e a repetição da
estrutura só ocorre se o resultado da condição for verdadeira.
REPITA A Estrutura REPITA verifica a condição no final e o looping só continua se a resposta da
condição for falsa.
PARA Estrutura menos versátil, pois ela não consegue substituir a estrutura ENQUANTO ou
REPITA, quando essas estruturas utilizam como condição de repetição uma resposta do
usuário. Por outro lado, as estruturas ENQUANTO e REPITA podem ser substituídas uma
pela outra, além de substituir a estrutura PARA.