ficha 8 - estgv.ipv.pt · emgi – programação ficha 8 programação – ficha de trabalho 8 pag....

3
EMGI – Programação Ficha 8 Programação – Ficha de Trabalho 8 Pag. 1/3 “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 Sub nomeProcedimento (argumentos) Declaração de variáveis/constantes Instrução ou bloco de instruções End Sub Function nomeFunçao (argumentos) AS tipo_a_devolver Instrução ou bloco de instruções nomeFunçao=.... End Function 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 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. x x sen ) ( 1 para 0 x para 0 = x

Upload: tranthuan

Post on 15-Dec-2018

272 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Ficha 8 - estgv.ipv.pt · EMGI – Programação Ficha 8 Programação – Ficha de Trabalho 8 Pag. 2/3 11. Calcular o valor da potência sendo dada a base e o expoente, expoentes

EMGI – Programação

Ficha 8

Programação – Ficha de Trabalho 8 Pag. 1/3

“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 Sub nomeProcedimento (argumentos) Declaração de variáveis/constantes Instrução ou bloco de instruções End Sub

Function nomeFunçao (argumentos) AS tipo_a_devolver Instrução ou bloco de instruções nomeFunçao=.... End Function

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

x

xsen )(

1

para 0≠x

para 0=x

Page 2: Ficha 8 - estgv.ipv.pt · EMGI – Programação Ficha 8 Programação – Ficha de Trabalho 8 Pag. 2/3 11. Calcular o valor da potência sendo dada a base e o expoente, expoentes

EMGI – Programação

Ficha 8

Programação – Ficha de Trabalho 8 Pag. 2/3

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

81

61

41

21

+−+−+−

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) Tipos de dados (Inglês) Booleano Boolean Inteiro Integer Longo (inteiro longo) Long Simples (vírgula flutuante de precisão simples) Single Duplo (vírgula flutuante de precisão dupla) Double Moeda Currency Data Date Cadeia de caracteres String Variante Variant Objecto Object Definida pelo utilizador Definida pelo utilizador

Page 3: Ficha 8 - estgv.ipv.pt · EMGI – Programação Ficha 8 Programação – Ficha de Trabalho 8 Pag. 2/3 11. Calcular o valor da potência sendo dada a base e o expoente, expoentes

EMGI – Programação

Ficha 8

Programação – Ficha de Trabalho 8 Pag. 3/3

Principais Instruções Breve descrição

InputBox(Prompt [,títulol][,valor por defeito] [,x pos] [,y pos],[fich_Ajuda, contexto])

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.

MsgBox(prompt [,botões] [título] [fich_Ajuda, contexto])

Instruções de Escrita - Mostra uma mensagem numa caixa de diálogo. O valor devolvido, indica o botão que foi “clicado” pelo utilizador.

If condição1 Then instrução1 Else If condição2 Then instrução2 Else instrução3 End If

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.

Select Case expressão_de_teste Case lista1expressão Instruções1 Case lista2expressão Instruções2 ...... Case Else Instruções End Select

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.

For contador = início To Fim [Step incr] Instruções Next [contador]

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

Do While Condição Instruções Loop

Estrutura de repetição equivalente a ciclo Enquanto. Repete as instruções enquanto a condição for verdadeira (true).

Do Instruções Loop until Condição

Estrutura de repetição equivalente a ciclo Repetir-Até. Repete as instruções até que a condição se torne verdadeira.