Variáveis e Operadores
1. Dadas as variáveis num1 = 5, num2 = 3 e num3 = 7. Faça um
programa que calcule e apresente o resultado de: (a) a soma dos três números; (b) a média: (num1 + num2 + num3)/3; (c) o resto da divisão (num1 + num2)/num3 (lembre-se que existe um operador específico para dar o resto de uma divisão).
Option Explicit
Dim num1, num2, num3, soma, media, resto num1 = 5
num2 = 3 num3 = 7
soma = num1 + num2 + num3 resto = (num1 + num2) mod num3 media = soma/3
MsgBox("(a) Soma: " & soma) MsgBox("(b) Resto: " & resto) MsgBox("(c) Media: " & media)
2. Faça a concatenação das variáveis Cidade = “São Paulo”,
Separador = “ – “, e Pais = “Brasil”.
Option Explicit
Dim Cidade, Separador, Pais, Concatenado Cidade = "São Paulo"
Separador = " - " Pais = "Brasil"
Concatenado = Cidade & Separador & Pais MsgBox(Concatenado)
3. Considere o seguinte programa:
Option Explicit Dim Numero Numero = 5 Numero = Numero + 5 Numero = Numero + 7 Numero = Numero/2 MsgBox(Numero)
Reescreva as linhas sublinhadas em uma única linha (atenção: não se esqueça de utilizar os parênteses para definir as prioridades das operações).
Option Explicit Dim Numero
Numero = (5 + 5 + 7)/2 MsgBox(Numero)
4. Se eu tenho: cerveja = 2.50, refrigerante = 2.00, agua = 1.00. Faça
um programa que calcule o total a pagar se eu comprar 50 cervejas, 20 refrigerantes e 30 garrafas de água.
Option Explicit
Dim cerveja, refrigerante, agua, total cerveja = 2.50
refrigerante = 2.00 agua = 1.00
total = 50*cerveja + 20*refrigerante + 30*agua MsgBox("Total a pagar: " & total)
InputBox e MsgBox
(1) Faça um programa que pergunte o nome do usuário e apresente a
seguinte mensagem: “<Nome>, obrigado pela atenção!”. No lugar do <Nome> deve ir o nome do usuário. Lembre-se: o operador de concatenação (&) pode ser utilizado dentro do MsgBox.
Option Explicit Dim Nome
Nome = InputBox("Qual é o seu nome?") MsgBox(Nome & ", obrigado pela atenção!")
(2) Faça um programa que calcule a multiplicação de dois números
digitados pelo usuário. No final, o resultado deve apresentar a seguinte mensagem: “A multiplicação dos dois números é: <Multiplicação>”. No lugar de <Multiplicação> deve ir o resultado da conta.
Option Explicit
Dim Num1, Num2, Multiplicacao Num1 = InputBox("Digite um número") Num2 = InputBox("Digite outro número") Multiplicacao = Num1*Num2
Condicional
(1) Faça um script que solicite ao usuário a entrada de dois números.
Apresente o maior número entre eles. (Faça esse exercício de cabeça! Sem olhar o exercício parecido feito em aulas anteriores).
Option Explicit Dim Num1, Num2
Num1 = InputBox("Digite um número inteiro.") Num2 = InputBox("Digite outro número inteiro.") If Num1 > Num2 Then
MsgBox("O maior número é: " & Num1) Else
MsgBox("O maior número é: " & Num2) End If
(2) Faça um script que pergunte o valor do salário do usuário. Se o
valor for inferior a R$ 1434,00, o programa diz ao usuário que ele não precisa declarar o imposto de renda. Se o valor for superior, então o programa calcula o valor de 7,5 % do salário e apresenta a mensagem: “Você deve pagar, no mínimo, <imposto> de imposto”, onde no lugar do <imposto> é apresentado o valor de 7,5 % do salário. (obs: considere uma variável chamada salario. Para calcular 7,5 % do valor da variável salário, deve ser feito 0,075*salario).
Option Explicit Dim salario, imposto
salario = InputBox("Qual o valor do seu salário?") If (salario < 1434.00) Then
MsgBox("Você não precisa declarar imposto de renda") Else
imposto = 0.075*salario
MsgBox("Você deve pagar, no mínimo, R$ " & imposto & " de imposto") End If
(3) O imc (índice de massa corpórea) é dado pela equação:
Faça um script que calcule o imc do peso e da altura fornecidos pelos usuário. Se o imc for maior ou igual a 30, então é escrito na tela: “Você está obeso”, do contrário, é escrito “Você não está obeso”.
Option Explicit Dim imc, peso, altura peso = InputBox("Peso: ") altura = InputBox("Altura: ") imc = peso/(altura*altura) If imc >= 30 Then
MsgBox("Você está obeso.") Else
MsgBox("Você não está obeso.") End If
Estrutura de Repetição
(1) Em cada um dos scripts, diga qual será a mensagem exibida na tela.
Atenção: apenas olhe o script e responda, não execute o script para ver. Dica: Leia sempre linha por linha.
Option Explicit Dim Var1
For Var1 = 1 To 10 Step 2 MsgBox(Var1) Next Resp: 1, 3, 5, 7, 9 ---Option Explicit Dim Num1 For Num1 = 5 To 10 MsgBox(Num1) Next Resp: 5, 6, 7, 8, 9 , 10 ---Option Explicit Dim Contador
For Contador = 10 To 1 Step -1 MsgBox (Contador) Next Resp: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ---Option Explicit Dim n, Soma Soma = 0 For n = 1 To 4 Soma = Soma + n Next MsgBox (Soma) Resp: 10
---Option Explicit Dim n, Resto For n = 1 To 10 Resto = n mod 2 If Resto = 0 Then MsgBox(“Par: “ & n) End If Next
Resp: Par: 2, Par: 4, Par: 6, Par: 8, Par: 10
---Option Explicit
Dim Var1, Nome For Var1 = 1 To 5
Nome = InputBox(“Qual o seu nome?”) MsgBox(Nome & “, tenha um bom dia!”) Next
Resp: Vai aparecer cinco vezes a caixa de diálogo perguntando o nome e em seguida a mensagem “<Nome> tenha um bom dia!” sendo <Nome> o último nome digitado pelo usuário.
---Option Explicit
Dim n, nmax
nmax = InputBox("Digite o valor máximo da estrutura de repetição") For n = 1 To nmax
MsgBox(n) Next
Resp: 1, 2, 3, ... até o valor digitado pelo usuário
(2) Faça um script que peça a nota de duas provas e apresente a média
ponderada para 5 alunos segundo a relação: media = (nota1 + 2*nota2)/3
Option Explicit
Dim Contador, Nota1, Nota2, Media For Contador = 1 To 5
Nota1 = InputBox("Nota da P1") Nota2 = InputBox("Nota da P2")
Media = (Nota1 + 2*Nota2)/3
MsgBox("Aluno " & Contador & " teve média " & Media) Next
Miscelânea
(1) Faça um programa que solicite um número ao usuário. Se o número
for maior do que 10, apresente a soma total de todos os números de 1 até o número fornecido. Do contrário, apresente individualmente cada um dos números de 1 até o número digitado pelo usuário.
Option Explicit
Dim Num, Soma, Contador
Num = InputBox("Digite um numero inteiro.") If Num > 10 Then
Soma = 0
For Contador = 1 To Num Soma = Soma + Contador Next
MsgBox("Valor da soma de todos os números de 1 até " & Num & ": " & Soma) Else
For Contador = 1 To Num MsgBox(Contador) Next
End If
(2) Faça um programa em que o usuário digita a nota de dez alunos.
Apresente no final o número de alunos que obtiveram nota maior do que 5.
Option Explicit
Dim Naluno, Nota, Aprovados Aprovados = 0
For Naluno = 1 To 10
Nota = InputBox("Nota do aluno nº " & Naluno) If Nota > 5 Then
Aprovados = Aprovados + 1 End If
Next
MsgBox("Número de alunos com nota > 5: " & Aprovados)
(3) Considere a seguinte tabela:
Local Preço
Arquibancada 25,00
Cobertura 50,00
Solicite ao usuário o número de ingressos vendidos para cada local, em 4 jogos diferentes. Se a renda total (soma da renda dos quatro jogos) for maior do que um milhão e quinhentos mil reais apresente a mensagem “ Houve lucro”, do contrário, escreva “Houve prejuízo”.
Option Explicit
Dim NJogo, Arq_Preco, Cob_Preco, Cam_Preco, Num_Arq, Num_Cob, Num_Cam, Total Arq_Preco = 25.00
Cob_Preco = 50.00 Cam_Preco = 100.00 Total = 0
For NJogo = 1 To 4
Num_Arq = InputBox("Arquibancadas vendidas para o Jogo " & NJogo) Num_Cob = InputBox("Cobertas vendidas para o Jogo " & NJogo) Num_Cam = InputBox("Camarote vendidas para o Jogo " & NJogo)
Total = Total + Num_Arq*Arq_Preco + Num_Cob*Cob_Preco + Num_cam*Cam_Preco Next
If Total > 1.5E6 Then MsgBox("Houve lucro") Else
MsgBox("Houve prejuízo") End If