Buscar

1ª Lista de Exercicios de Programação (VBA)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1) Um professor de programação registrou as notas dos seus 25 alunos numa 
coluna da planilha do Excel. Para calcular a média da turma, ele escreveu um 
programa em VBA. Qual das alternativas abaixo apresenta a melhor réplica 
desse algoritmo? 
 
a) Sub CalcularMedia() 
 Dim soma, media As Double 
 soma = 0 
 For coluna = 1 To 25 Step 1 
 soma = soma + Cells(1, coluna) 
 Next linha 
 media = soma / 25 
 MsgBox (media) 
End Sub 
 
b) Sub CalcularMedia() 
 Dim soma, media As Double 
 soma = 0 
 For coluna = 1 To 25 Step 1 
 soma = soma + Cells(1, coluna) 
 Next linha 
 media = soma / 2 
 MsgBox (media) 
End Sub 
 
 
 
 
c) Sub CalcularMedia() 
 Dim soma, media As Double 
 soma = 0 
 For linha = 1 To 25 Step 1 
 soma = soma + Cells(linha, 1) 
 Next linha 
 media = soma / 25 
 MsgBox (media) 
End Sub 
d) Sub CalcularMedia() 
 Dim soma, media As Double 
 soma = 0 
 For linha = 1 To 25 
 soma = soma + Cells(linha, 1) 
 Next linha 
 media = soma / 2 
 MsgBox (media) 
End Sub 
e) Sub CalcularMedia() 
 Dim soma, media As String 
 soma = 0 
 For linha = 1 To 25 
 soma = soma + Cells(linha, 1) 
 Next linha 
 media = soma / 25 
 MsgBox (media) 
End Sub 
2) A dona de um mercadinho guardou, em duas colunas do Excel, os 
valores gastos para comprar e os valores ganhos ao vender 10 
produtos de seu estoque em um mês. Agora ela quer saber qual 
foi seu lucro total nesse mês. Qual dos algoritmos abaixo resolve 
esse problema? 
 
a) Sub CalcularLucro() 
 Dim lucro As Double 
 lucro = 0 
 For linha = 1 To 10 
 lucro = lucro + (Cells(linha, 1) - Cells(linha, 2)) 
 Next linha 
 MsgBox (lucro) 
End Sub 
 
b) Sub CalcularLucro() 
 Dim lucro As Double 
 lucro = 0 
 For linha = 1 To 10 Step 2 
 lucro = lucro + (Cells(linha, 1) - Cells(linha, 2)) 
 Next linha 
 MsgBox (lucro) 
End Sub 
 
c) Sub CalcularLucro() 
 Dim lucro As Double 
 lucro = 0 
 For coluna = 1 To 10 
 lucro = lucro + (Cells(1, coluna) - Cells(2, coluna)) 
 Next linha 
 MsgBox (lucro) 
End Sub 
 
d) Sub CalcularLucro() 
 Dim lucro As Integer 
 lucro = 0 
 For linha = 1 To 10 
 lucro = lucro + (Cells(linha, 1) + Cells(linha, 2)) 
 Next linha 
 MsgBox (lucro) 
End Sub 
 
e) Sub CalcularLucro() 
 Dim lucro As Integer 
 lucro = 0 
 For coluna = 1 To 10 
 lucro = lucro + (Cells(1, coluna) - Cells(2, coluna)) 
 Next linha 
 MsgBox (lucro) 
End Sub 
 
 
 
 
 
 
3) Um colega seu fez o seguinte programa em VBA: 
Sub Programa() 
Dim numero, contador As Integer 
Dim resultado As Boolean 
resultado = False 
contador = 2 
numero = InputBox("Digite um número") 
Do While contador < numero 
If numero Mod contador = 0 Then 
resultado = True 
Exit Do 
End If 
contador = contador + 1 
Loop 
If resultado = True Then 
MsgBox ("mensagem 1") 
Else 
MsgBox ("mensagem 2") 
End If 
End Sub 
Quais devem ser os textos das mensagens 1 e 2, respectivamente? 
A) "O número é par" e "O número é ímpar". 
B) "O número é primo" e "O número não é primo". 
C) "O número é divisível por 2" e "O número não é divisível por 2". 
D) "O número não é divisível por 2" e "O número é divisível por 2". 
E) "O número não é primo" e "O número é primo". 
 
4) Execute o algoritmo abaixo para os seguintes valores: 0, 5 e 7. 
 
Sub programa() 
Dim first, second, sum, fib, n As Integer 
n = InputBox("Digite um número") 
first = 0 
second = 1 
sum = 0 
If n = 0 Then 
fib = first 
ElseIf n = 1 Then 
fib = second 
Else 
For i = 2 To n 
sum = first + second 
first = second 
second = sum 
Next i 
fib = sum 
End If 
MsgBox (fib) 
End Sub 
 
Qual alternativa contém os valores finais corretos para a variável fib? 
A) 0, 5 e 13 B) 1, 6 e 14 C) 2, 5 e 13 D) 0, 6 e 12 E) 0, 5 e 14 
5) O algoritmo abaixo pede números ao usuário, até que ele digite 0. Para cada 
número digitado, o algoritmo imprime o número de divisores maiores do que 
1 e menores do que o próprio número. 
 
Sub Numeros() 
Dim numero As Integer 
Do 
numero = InputBox("Digite um número") 
MsgBox (QuantidadeDivisores(numero)) 
Loop While numero > 0 
End Sub 
Qual das alternativas abaixo contém a implementação correta da função Quantidade 
Divisores? 
 
A) Sub QuantidadeDivisores(ByVal numero As Integer) 
For n = 2 To (numero - 1) 
If numero Mod n = 0 Then 
QuantidadeDivisores = QuantidadeDivisores + 1 
End If 
Next n 
End Sub 
B) Function QuantidadeDivisores(ByVal numero As Integer) 
For n = 2 To (numero - 1) 
If numero Mod n = 0 Then 
QuantidadeDivisores = QuantidadeDivisores + 1 
End If 
Next n 
End Function 
 
C) Function QuantidadeDivisores(ByVal numero As Integer) 
Dim quantidade As Integer 
quantidade = 0 
For n = 2 To (numero - 1) 
If numero / n = 0 Then 
quantidade = quantidade + 1 
End If 
Next n 
QuantidadeDivisores = quantidade 
End Function 
 
D) Function QuantidadeDivisores(ByVal numero As Integer) 
For n = 2 To (numero - 1) 
If numero Mod n = 1 Then 
QuantidadeDivisores = QuantidadeDivisores + 1 
End If 
Next n 
End Function 
 
E) Function QuantidadeDivisores(ByVal numero As Integer) 
For n = 1 To numero 
If numero Mod n = 0 Then 
QuantidadeDivisores = QuantidadeDivisores + 1 
End If 
Next n 
End Function

Continue navegando