EMGI – Programação
Ficha 8
“VBA”
Objectivo – Estudo prático de algoritmos e sua implementação no Visual Basic para Aplicações do Excel.
Introdução: Um algoritmo pode ser definido como “a sequência lógica de procedimentos tendentes à resolução
de um problema”. Ora a actividade humana, pode ser considerada como uma sequência interminável de
soluções para problemas. Também, como os computadores são utilizados para resolver problemas, desde os
mais simples aos mais complexos, é natural que para que ele os possa resolver, tenhamos de indicar-lhe os
“passos” que deverá realizar. Assim, e antes de criar qualquer pequeno programa, deveremos sempre criar o
“algoritmo” que permita solucionar o problema posto, que o programa depois implementará em termos da sintaxe
da linguagem escolhida.
Como decerto já saberão, a ordem de execução dos procedimentos que permitem a solução dum problema,
normalmente sequencial, pode também efectuar testes a condições e executar um ou outro conjunto de
instruções ou mesmo executar repetidamente um conjunto de instruções, dependendo ou não de uma dada
condição. Pode demonstrar-se que com estes 3 tipos de estruturas, podem resolver-se todos os problemas que
possam ser postos.
Estrutura de um módulo em VBA:
‘Opções do Visual Basic
Option Explicit ‘Força a declaração explícita de todas as variáveis.
‘Declaração de constantes do módulo
Const x=2,2
‘Declaração de variáveis do módulo
Dim a AS string
Dim b AS integer, c AS single
‘Procedimentos
Function nomeFunçao (argumentos) AS tipo_a_devolver
Sub nomeProcedimento (argumentos)
Instrução ou bloco de instruções
Declaração de variáveis/constantes
nomeFunçao=....
Instrução ou bloco de instruções
End Function
End Sub
Tarefas propostas: Elabore o algoritmo e implemente-o utilizando a linguagem de programação VBA, para resolver cada
uma das seguintes alíneas:
1. Dadas as medidas dos catetos de um triângulo rectângulo, determinar a medida da hipotenusa.
2. Calcular o dobro ou o triplo de um número, consoante seja, maior que 100 ou menor ou igual a 100.
3. Determinar o maior de três números.
4. Ler duas palavras, correspondentes ao seu primeiro e último nome, inverter a sua ordem na escrita.
5. Ler dois números inteiros e escrever os números em linhas distintas, mas na mesma caixa de mensagem.
6. Dado um número inteiro N, verificar se é par ou ímpar.
7. Determinar o valor da função
sen( x)
x
1
para x ≠ 0
para x = 0
8. Calcular a soma dos primeiros N números inteiros positivos.
9. Escrever no ecrã o quadrado de todos os números compreendidos entre x1 e x2 (x1, x2 inteiros).
10. Para uma sequência de N elementos, determinar a soma dos elementos ímpares.
Programação – Ficha de Trabalho 8
Pag. 1/3
EMGI – Programação
Ficha 8
11. Calcular o valor da potência sendo dada a base e o expoente, expoentes do tipo inteiro.
12. Calcular os divisores de um número N.
13. Calcular os N múltiplos de um número X.
14. Calcular a média de uma sequência de valores.
15. Ler um número entre 1 e 7 e escrever o correspondente dia da semana.
16. Calcular o factorial de um número n, sendo n ≥ 0.
17. Calcular a soma da seguinte série de n termos: −
1 1 1 1 1
+ − + − + ...
2 4 6 8 10
18. Dado um número inteiro positivo: contar o número de dígitos, escrever a soma dos seus dígitos, inverter o número e
verificar se é capicua.
19. Determinar o número de ocorrências de um dado número inteiro numa dada sequência de números, que é terminada
por 0.
20. Calcular e escrever no ecrã a soma de uma sequência de números inteiros, sequência terminada por 0.
21. Escrever no ecrã uma frase composta por palavras introduzidas uma a uma pelo utilizador. A introdução da sequência
de palavras é terminada pela palavra “FIM”.
Tipos de dados (português)
Booleano
Inteiro
Longo (inteiro longo)
Simples (vírgula flutuante de precisão simples)
Duplo (vírgula flutuante de precisão dupla)
Moeda
Data
Cadeia de caracteres
Variante
Objecto
Definida pelo utilizador
Programação – Ficha de Trabalho 8
Tipos de dados (Inglês)
Boolean
Integer
Long
Single
Double
Currency
Date
String
Variant
Object
Definida pelo utilizador
Pag. 2/3
EMGI – Programação
Ficha 8
Principais Instruções
InputBox(Prompt [,títulol][,valor por defeito] [,x pos]
[,y pos],[fich_Ajuda, contexto])
MsgBox(prompt [,botões] [título]
[fich_Ajuda, contexto])
If condição1 Then
instrução1
Else If condição2 Then
instrução2
Else
instrução3
End If
Select Case expressão_de_teste
Case lista1expressão
Instruções1
Case lista2expressão
Instruções2
......
Case Else
Instruções
End Select
For contador = início To Fim [Step incr]
Instruções
Next [contador]
Do While Condição
Instruções
Loop
Do
Instruções
Loop until Condição
Programação – Ficha de Trabalho 8
Breve descrição
Instrução de Leitura - Mostra uma caixa de diálogo e
espera que o utilizador escreva texto ou escolha um
botão, retornando então o conteúdo da caixa de texto.
Instruções de Escrita - Mostra uma mensagem numa
caixa de diálogo. O valor devolvido, indica o botão que
foi “clicado” pelo utilizador.
Estrutura de selecção - Permite a execução
condicional entre uma ou mais instruções.
Se condição1 for verdadeira, executa a instrução1;
senão se a condição2 for verdadeira executa a
instrução2; senão executa a instrução3.
Estrutura de selecção - Permite a execução
condicional entre uma ou mais instruções.
Cada listaexpressão é uma lista de um ou mais
valores (separados por vírgulas).
As instruções do Case Else são executadas, se
nenhum dos listaexpressão satisfizer a
expressão_de_teste.
Estrutura de repetição equivalente a ciclo Para. É
usada quando o número de iterações pode ser
predefinido. O contador vai sendo incrementado (ou
decrementado) do valor dado por incr,desde um valor
inicial (início), até a um valor final (Fim).
Estrutura de repetição equivalente a ciclo Enquanto.
Repete as instruções enquanto a condição for
verdadeira (true).
Estrutura de repetição equivalente a ciclo Repetir-Até.
Repete as instruções até que a condição se torne
verdadeira.
Pag. 3/3
Download

Enunciado