INTRODUÇÃO À INFORMÁTICA - SP10
UBI
Departamento de Informática
P. Fazendeiro


Objectivos: Introdução à linguagem de programação Visual Basic for Applications (VBA). Utilização de interfaces gráficos no VBA. Utilização de estruturas de controlo. 
  1. Construa um pequeno simulador para determinar a classificação final de um aluno calculada em função da nota em quatro testes distintos T1, T2, T3 e T4 (com pesos 0.1, 0.2, 0.2 e 0.2 respectivamente) e da nota de um trabalho (peso 0.3). Siga os seguintes passos:

    1. No editor de VBA execute o comando UserForm do ménu Insert.
    2. Na janela properties altere as propriedades name e caption do formulário.
    3. Acrescente ao formulário 6 caixas de texto (view->toolbox e escolha TextBox). Destas 4 servirão para introduzir a classificação nos 4 testes (modifique-lhes o nome para T1, T2, T3 e T4), uma será para introduzir a nota do trabalho (chame-lhe NT) e a última apresentará a nota final  (chame-lhe RESULTADO ).
    4. Junte dois botões ao formulário. Defina a propriedade name de cada um deles (seja bCalcularbSair ).
    5. Efectue um duplo clique sobre cada um dos botões e acrescente o código necessário ao comportamento esperado. Deve obter algo semelhante a:

      Private Sub bCalcular _Click()
           RESULTADO = Int(T1* 0.1 + T2 * 0.2 + T3 * 0.2 + T4 * 0.2 + NT * 0.3 + 0.5)
      End Sub

      Private Sub bSair_Click()
          End
      End Sub

  2. Junte duas caixas de texto à Form anterior. A primeira, chamada nAluno, destina-se à introdução de um número de aluno e a segunda, chamada Nome ,  destina-se à introdução do nome do respectivo aluno. Utilize este novo interface para preencher uma pequena pauta na sua folha de cálculo. 
  3. Crie um formulário que permita para um determinado aluno, identificado pelo número de aluno, obter todas as suas classificações existentes na pauta criada na alínea anterior anterior.
  4. Para que serve o seguinte programa?
    Sub 
    adivinha() Dim
       n, x As Integer 
       
       n = InputBox("Qual o número?", "Número secreto") 
       x = 0 
       Do While x <> n
            x = InputBox("Qual é o seu palpite?", "Número secreto")
            If x < n Then
               MsgBox ("Não! É maior...")
            ElseIf x > n Then
               MsgBox ("Não! É menor...")
            Else
               MsgBox ("Parabéns! Acertou em cheio!")
            End If
       Loop
       
    End Sub
    

    Altere o programa anterior de modo que permita:

  5. Apresentar o número de tentativas erradas do jogador antes de conseguir adivinhar o número.
  6. Que o utilizador possa decidir continuar a jogar sem que para isso tenha de recomeçar o programa.
  7. Limitar o número secreto para que este só possa estar compreendido entre 1 e 50.