Sie sind auf Seite 1von 4

Mdulo de Informtica I (Lic.

Economia) 2008/2009

1/4
Aula 2 e 3 (Excel: Macros e VBA) - Exerccios adicionais
Estruturas de controlo:
De seleco
o IF... THEN ... ELSE ... END IF (ELSEIF)
o SELECT ... CASE ... END SELECT (esta estrutura no foi analisada nas aulas
prticas mas consta dos slides; no vai ser alvo de avaliao; pode ignorar os
exerccios que a mencionam ou tentar execut-los com a estrutura IF ... THEN ...
ELSE)
De ciclo/repetio
o Ciclo incondicional: FOR ... TO ... NEXT
o Ciclo condicional:
DO WHILE ... LOOP
DO ... LOOP WHILE

NOTA: para resolver alguns exerccios tem de utilizar as funes mencionadas no slide 10
(Slides VBA).

1. A frmula de converso de temperaturas expressas na escala Fahrenheit para a escala
Celsius (graus centgrados) a seguinte: C =(F-32)/1.8
a. Construa a funo Fahrenheit_To_Celsius de forma a que esta possa ser utilizada nas
folhas de Excel;
b. Construa a subrotina Sub_F_To_C que atravs de caixas de dilogo solicita ao
utilizador uma temperatura expressa na escala Fahrenheit e lhe apresenta a temperatura
convertida para a escala Celsius. Esta subrotina deve utilizar a funo definida na alnea
anterior;

2. Considere uma funo que decomponha uma determinada quantidade de minutos em horas
e minutos. Por exemplo, 365 minutos correspondem a 6 horas e 5 minutos.
a. Construa uma subrotina Sub_Decompor_Excel que leia da clula B2 a quantidade de
minutos e apresente nas clulas C2 e D2, respectivamente, as horas e os minutos
resultantes da decomposio;
b. Construa uma subrotina Sub_Decompor que solicita atravs de caixa de dilogo ao
utilizador uma quantidade de minutos (x) e lhe apresenta, atravs de caixa de dilogo,
o resultado da decomposio na forma x minutos correspondem a z horas e y
minutos;
[Nota: sugere-se a utilizao dos operadores mod (resto da diviso inteira) e \ (diviso
inteira)]

Mdulo de Informtica I (Lic. Economia) 2008/2009

2/4
3. Para calcular a posio de um objecto a efectuar um movimento rectilneo uniformemente
acelerado utiliza-se a seguinte frmula:
x =x
0
+v
0
t +1/2at
2
onde x
0
representa a posio no momento inicial (0)
v
0
representa a velocidade no momento inicial (0)
a representa a acelerao (constante)
i representa o tempo que decorreu desde o momento inicial
Assim, por exemplo, se quisermos saber em que ponto de uma auto-estrada estar um
carro daqui a 2 horas sabendo que neste momento (momento inicial) se encontra no
quilometro 20 (x
0
), a uma velocidade inicial de 50km/h (v
0
) a acelerar de forma constante
a 20km/h
2
(a) s temos de substituir os valores na frmula.
a. Construa a funo CalculaPosicao de forma a que esta possa ser utilizada nas folhas de
Excel;
b. Construa a subrotina Sub_CalculaPosicao que pea, atravs de caixas de dilogo, os
valores ao utilizador e coloque o resultado na clula A4. Esta subrotina deve utilizar a
funo definida na alnea anterior;

4. A taxa de crescimento (t) de uma varivel (a) calculada da seguinte forma:
1
1
=
+
i
i
a
a
t onde a
i
representa o valor da varivel no momento i e a
i+1
representa o valor
da varivel no momento seguinte.
a. Construa uma subrotina Sub_TaxaCrescimento que leia o valor de a
i
da clula nesse
momento activa/seleccionada) na folha Excel, leia o valor de a
i+1
na clula
imediatamente sua direita e coloque o resultado (taxa de crescimento) numa clula 3
colunas esquerda e 2 linhas abaixo da clula activa;

5. Para calcular as reas de diferentes figuras geomtricas possvel utilizar as seguintes
frmulas:
Quadrado A =lado
2

Rectngulo A =lado * altura
Tringulo A =(base * altura) / 2
Circulo A = * raio
2

Construa a subrotina Sub_Areas que solicite ao utilizador qual o tipo de figura para a qual
pretende calcular a rea (indicando para isso a 1 letra a negrito) e, depois de fornecer os
dados necessrios, lhe indique a rea calculada.
a) Utilize a estrutura de controlo IF-THEN-ELSE;
b) Utilize a estrutura de controlo SELECT-CASE.
Mdulo de Informtica I (Lic. Economia) 2008/2009

3/4
6. Uma forma de avaliar o excesso de peso num adulto calcular o seu ndice de Massa
Corporal (IMC) atravs da frmula IMC =peso / (altura)
2
.
De acordo com a Sociedade Portuguesa de Endocrinologia, Diabetes e Metabolismo
SPEDM a categoria depende ainda do sexo do adulto pelo que a tabela completa a
apresentada na figura seguinte.
Categoria IMC
Magreza Abaixo de 20
Mulheres 20.0 - 23. 9 Peso
Normal
Homens 20.0 - 24.9
Mulheres 24.0 - 29.9 Excesso
de Peso
Homens 25.0 - 29.9
Obesidade 30.0 - 39.9
Obesidade mrbida 40.0 e acima

a) Construa a subrotina Sub_Categoria_IMC que pergunte ao utilizador qual a sua altura
(metros), peso (quilogramas) e sexo e lhe apresente a categoria em que ele se encontra;
b) Construa a subrotina Sub_Categoria_IMC_Masculino que faa o mesmo mas agora
considerando apenas adultos do sexo masculino (no necessrio portanto perguntar ao
utilizador qual o seu sexo). Deve utilizar a estrutura de controlo SELECT-CASE.
7. Para calcular as razes da equao do segundo grau ax
2
+bx +c =0 podemos utilizar a
frmula
a
ac b b
x
2
4
2

=
Construa a subrotina Sub_Calcula_Razes que, aps solicitar ao utilizador as constantes a,
b, e c, calcule e indique quais as razes reais da equao. Tenha em considerao que uma
das constantes pode ser zero e que a quantidade b
2
-4ac pode ser negativa ou nula (caso a
equao no tenha razes reais deve apresentar uma mensagem com essa indicao).

8. Construa a subrotina Sub_Multiplica que solicite ao utilizador dois nmeros inteiros e
calcule o produto de todos os nmeros inteiros intermdios (incluindo os fornecidos por
exemplo, se o utilizador introduziu 2 e 5 deve calcular 2x3x4x5). O resultado deve ser
apresentado atravs de uma caixa de mensagem.

9. Construa a subrotina Sub_Calcula_Multiplos_De_3 que solicite ao utilizador o nmero de
mltiplos de 3 que este pretende visualizar e os coloque (um a um) nas clulas
imediatamente abaixo da clula activa da folha de clculo (o primeiro mltiplo na clula
imediatamente abaixo, o seguinte na abaixo desta e assim sucessivamente);
a) Altere a subrotina anterior de forma a calcular os mltiplos de um nmero solicitado
previamente ao utilizador (em vez de ser o nmero 3), colocando-os agora nas clulas
direita da clula activa da folha de clculo;

Mdulo de Informtica I (Lic. Economia) 2008/2009

4/4
10. Construa a subrotina Sub_Separa que separe os nmeros pares dos nmeros impares
localizados numa coluna a partir da clula seleccionada. Tal como mostra a figura, os
nmeros pares devem passar para a coluna seguinte e os impares para a anterior. O
utilizador deve indicar atravs de uma caixa de dilogo quantas clulas devem ser
analisadas.


11. Construa a subrotina Sub_Quadrado que solicite ao utilizador o tamanho do lado de um
quadrado (medido em nmero de clulas) e desenhe esse quadrado na folha de clculo
(utilizando o nmero introduzido) com o canto na clula D2. A Figura seguinte ilustra o
que deve acontecer quando o utilizador introduz o valor 3.

Das könnte Ihnen auch gefallen