Excel VBA: Aula 3

25
EXCEL VBA (aula 3) Lógica de Programação prof. Gustavo Zimmermann

description

Curso de Excel VBA no Senac Santa Maria

Transcript of Excel VBA: Aula 3

Page 1: Excel VBA: Aula 3

EXCEL VBA (aula 3) Lógica de Programação prof. Gustavo Zimmermann

Page 2: Excel VBA: Aula 3

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

Page 3: Excel VBA: Aula 3

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

Page 4: Excel VBA: Aula 3

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

Page 5: Excel VBA: Aula 3

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

Page 6: Excel VBA: Aula 3

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

Page 7: Excel VBA: Aula 3

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

Page 8: Excel VBA: Aula 3

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

Page 9: Excel VBA: Aula 3

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

Page 10: Excel VBA: Aula 3

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

Page 11: Excel VBA: Aula 3

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

Page 12: Excel VBA: Aula 3

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

Page 13: Excel VBA: Aula 3

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

Page 14: Excel VBA: Aula 3

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

Page 15: Excel VBA: Aula 3

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

Page 16: Excel VBA: Aula 3

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.

Page 17: Excel VBA: Aula 3

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.

Page 18: Excel VBA: Aula 3

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

Page 19: Excel VBA: Aula 3

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.

Page 20: Excel VBA: Aula 3

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

Page 21: Excel VBA: Aula 3

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>

Page 22: Excel VBA: Aula 3

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

Page 23: Excel VBA: Aula 3

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

Page 24: Excel VBA: Aula 3

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

Page 25: Excel VBA: Aula 3

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.