Prof. Ricardo M. Czekster Disciplina: Programação para Engenharia I-A FACIN/PUCRS 06/04/2011 Roteiro para exercício de Visual Basic – Exercício 3: Comandos de Seleção – Cálculo de médias 1. Abra a aplicação Excel do pacote MS Office e Pressione Alt-F11 2. Insira um formulário a. Clique no menu Inserir > UserForm 3. Salve o projeto a. Clique no menu Arquivo > Salvar pasta1 b. Coloque um nome para o arquivo que deseja salvar (e.g. projeto1, ou exercicio1) c. MUITO IMPORTANTE: salve o tipo do arquivo como Pasta de Trabalho Habilitada para Macro do Excel 4. Usando a janela da Caixa de ferramentas, arraste um componente do tipo Rótulo para o formulário a. Se a caixa de ferramentas não estiver aparecendo, clique no menu Exibir > Caixa de ferramentas 5. Clique no rótulo até este ficar em modo de edição a. Altere seu conteúdo interno para ‘Opção:’ b. Ou, clique no rótulo e use a janela Propriedades – Label1 para alterar o conteúdo interno i. Vá na linha chamada ‘Caption: ‘ e altere o conteúdo do texto do rótulo 6. Arraste um componente do tipo Caixa de texto para o formulário e posicione ao lado do primeiro rótulo – mude seu nome (propriedade Name) para txtOpcao 7. Repita o passo 5 criando mais três Rótulos com propriedade ‘Caption’ alterada para ‘Nota 1:’, ‘Nota 2:’ e ‘Nota 3:’ 8. Repita o passo 6 criando mais três Caixas de texto alterando o nome de cada uma para txtNota1, txtNota2 e txtNota3. 9. Arraste um componente do tipo Botão de comando para o formulário e posicione-o abaixo dos rótulos e das caixas de texto 10. Use a janela Caixa de ferramentas para alterar a propriedade ‘Caption: ‘ do botão de ‘CommandButton1’ para ‘Calcular média’ 11. Neste ponto, você deve ter o seguinte formulário no Visual Basic: Neste ponto do exercício, apenas o formulário existe, mas nenhum cálculo ou ação. Para fazer o botão realizar um cálculo, precisamos programar o botão para que faça isso. 12. Clique duas vezes no botão ‘Calcular média’ do formulário do Visual Basic 13. O Visual Basic vai abrir uma janela de edição e posicionar o cursor entre os seguintes delimitadores: (este comando indica a programação de uma função (Sub) chamada CommandButton1_Click) Private Sub CommandButton1_Click() End Sub 14. O objetivo é calcular diferentes tipos de médias de acordo com o que for inserido no campo ‘Opção:’ do formulário. a. Se o usuário digitar ‘1’, o sistema deve calcular a média aritmética i. Media = (N1+N2+N3)/3 b. Se o usuário digitar ‘2’, o sistema deve calcular a média ponderada com pesos 4, 3 e 3. i. Media = (N1*4+N2*3+N3*3)/(4+3+3) c. Se o usuário digitar ‘3’, o sistema deve calcular a média harmônica i. Media = 3/(1/N1+1/N2+1/N3) d. Se o usuário digitar outros valores, o programa informa uma mensagem de erro. 15. Coloque o seguinte conteúdo no comando do botão (clique duas vezes sobre o botão no formulário) a. OBS1: uma aspa simples no início de uma linha indica um comentário, ou seja, algo que não será processado pelo Visual Basic) – veja abaixo b. OBS2: a função CStr converte um valor para sua representação textual – veja abaixo c. OBS3: Cada comando If necessita de um End If no seu final – veja abaixo Private Sub CommandButton1_Click() „criação das variáveis Dim opcao, N1, N2, N3 as Integer Dim media As Double „busca as entradas de dados do usuário do formulário op = CInt(txtOpcao.Text) N1 = CInt(txtNota1.Text) N2 = CInt(txtNota2.Text) N3 = CInt(txtNota3.Text) „testa o valor contido em op para decidir qual média fazer If op=1 Then media = (N1+N2+N3)/3 MsgBox “Media Aritmetica = “ + CStr(media) Else If op=2 Then media = (4*N1 + 3*N2 + 3*N3)/(4+3+3) MsgBox “Media Ponderada = “ + CStr(med) Else If op=3 Then If N1<>0 and N2<>0 and N3<>0 Then media = 3/(1/N1+1/N2+1/N3) MsgBox “Media Harmonica = “ + CStr(media) Else MsgBox “Erro. Divisao por zero!” End If Else MsgBox “Opcao invalida.” End If End If End If End Sub 16. Clique no botão para executar o seu programa – coloque diferentes números no formulário Outros exercícios: 1. Teste as entradas de dados para aceitar apenas notas entre 0 e 10, informando erro caso contrário . 2. Utilize notas com valores reais ao invés de valores inteiros (use a função CDbl para conversão). 3. Altere os pesos de cada nota criando três novos campos no formulário e usando-os no cálculo. 4. Faça uma quarta opção (4) onde Media = (N1+N2+N3*3)/(1/N1+1/N2+1/N3)+2