"A arte de programar consiste na arte de organizar e dominar a complexidade."

terça-feira, 12 de janeiro de 2016

Ficha nº20

1.

Código:

Private Sub circulo_Click()
    tri.Visible = False
    circ.Visible = True
    ret.Visible = False
    cub.Visible = False
    q.Visible = False
    esf.Visible = False

    Dim raio As Single
    
    Do
        raio = Val(InputBox("Introduza o raio do circulo", "Raio"))
        If raio <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While raio <= 0
    
    MsgBox "A área do círculo é " & 3.14 * (raio ^ 2), vbInformation, "Área do círculo"
End Sub

Private Sub esfera_Click()
    tri.Visible = False
    circ.Visible = False
    ret.Visible = False
    cub.Visible = False
    q.Visible = False
    esf.Visible = True
    
    Dim raio As Single
    
    Do
        raio = Val(InputBox("Introduza o raio da esfera", "Raio"))
        If raio <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While raio <= 0
    
    MsgBox "A área da esfera é " & 4 * 3.14 * (raio ^ 2), vbInformation, "Área da esfera"
End Sub

Private Sub p_quadrado_Click()
    tri.Visible = False
    circ.Visible = False
    ret.Visible = False
    cub.Visible = False
    q.Visible = True
    esf.Visible = False

    Dim lado As Single
    
    Do
        lado = Val(InputBox("Introduza o lado do quadrado", "Lado"))
        If lado <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While lado <= 0
    
    MsgBox "O perímetro do quadrado é " & lado * 4, vbInformation, "Perímetro do quadrado"
End Sub

Private Sub p_retangulo_Click()
    tri.Visible = False
    circ.Visible = False
    ret.Visible = True
    cub.Visible = False
    q.Visible = False
    esf.Visible = False
    
    Dim base As Single, altura As Single
    
    Do
        base = Val(InputBox("Introduza a base do retângulo", "Base"))
        If base <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While base <= 0
    
    Do
        altura = Val(InputBox("Introduza a altura do retângulo", "Altura"))
        If altura <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While altura <= 0
    
    MsgBox "O perímetro do retângulo é " & (base * 2) + (altura * 2), vbInformation, "Perímetro do retângulo"
End Sub

Private Sub p_triangulo_Click()
    tri.Visible = True
    circ.Visible = False
    ret.Visible = False
    cub.Visible = False
    q.Visible = False
    esf.Visible = False
    
    Dim opcao As Integer, soma As Single, lado As Single, i As Integer
    
    opcao = MsgBox("O triângulo é equilátero?", vbQuestion + vbYesNo, "Triângulo")
    If opcao = vbYes Then
        Do
            lado = Val(InputBox("Introduza o lado do triângulo", "Lado"))
            If lado <= 0 Then
                MsgBox "O valor é inválido", vbCritical, "Aviso"
            End If
        Loop While lado <= 0
        
        MsgBox "O perímetro do triângulo é " & lado * 3, vbInformation, "Perímetro do triângulo"
    Else
        For i = 1 To 3
            Do
                lado = Val(InputBox("Introduza o " & i & " lado do triângulo", "Lados"))
                If lado <= 0 Then
                    MsgBox "O valor é inválido", vbCritical, "Aviso"
                End If
            Loop While lado <= 0
            soma = soma + lado
        Next i
        
        MsgBox "O perímetro do triângulo é " & soma, vbInformation, "Perímetro do triângulo"
    End If
End Sub

Private Sub quadrado_Click()
    tri.Visible = False
    circ.Visible = False
    ret.Visible = False
    cub.Visible = False
    q.Visible = True
    esf.Visible = False

    Dim lado As Single
    
    Do
        lado = Val(InputBox("Introduza o lado do quadrado", "Lado"))
        If lado <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While lado <= 0
    
    MsgBox "A área do quadrado é " & lado ^ 2, vbInformation, "Área do quadrado"
End Sub

Private Sub retangulo_Click()
    tri.Visible = False
    circ.Visible = False
    ret.Visible = True
    cub.Visible = False
    q.Visible = False
    esf.Visible = False

    Dim base As Single, altura As Single
    
    Do
        base = Val(InputBox("Introduza a base do retângulo", "Base"))
        If base <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While base <= 0
    
    Do
        altura = Val(InputBox("Introduza a altura do retângulo", "Altura"))
        If altura <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While altura <= 0
    
    MsgBox "A área do retângulo é " & base * altura, vbInformation, "Área do retângulo"
End Sub

Private Sub sair_Click()
    Dim opcao As Integer
    
    opcao = MsgBox("Quer sair do programa?", vbQuestion + vbYesNo, "Saida")
    If opcao = vbYes Then
        End
    End If
End Sub

Private Sub triangulo_Click()
    tri.Visible = True
    circ.Visible = False
    ret.Visible = False
    cub.Visible = False
    q.Visible = False
    esf.Visible = False

    Dim base As Single, altura As Single
    
    Do
        base = Val(InputBox("Introduza a base do triângulo", "Base"))
        If base <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While base <= 0
    
    Do
        altura = Val(InputBox("Introduza a altura do triângulo", "Altura"))
        If altura <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While altura <= 0
    
    MsgBox "A área do triângulo é " & (base * altura) / 2, vbInformation, "Área do triângulo"
End Sub

Private Sub v_cubo_Click()
    tri.Visible = False
    circ.Visible = False
    ret.Visible = False
    cub.Visible = True
    q.Visible = False
    esf.Visible = False
    
    Dim aresta As Single
    
    Do
        aresta = Val(InputBox("Introduza a aresta do cubo", "Aresta"))
        If aresta <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While aresta <= 0
    
    MsgBox "O volume do cubo é " & aresta ^ 3, vbInformation, "Volume do cubo"
End Sub

Private Sub v_esfera_Click()
    tri.Visible = False
    circ.Visible = False
    ret.Visible = False
    cub.Visible = False
    q.Visible = False
    esf.Visible = True
    
    Dim raio As Single
    
    Do
        raio = Val(InputBox("Introduza o raio da esfera", "Raio"))
        If raio <= 0 Then
            MsgBox "O valor é inválido", vbCritical, "Aviso"
        End If
    Loop While raio <= 0
    
    MsgBox "O volume da esfera é " & (4 / 3) * 3.14 * (raio ^ 3), vbInformation, "Volume da esfera"
End Sub

Sem comentários:

Enviar um comentário