Baixe o app para aproveitar ainda mais
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
Compartilhar