Foglio1

Private Sub CommandButton1_Click() Dim x As Complesso Dim y As Double Dim z As Complesso x.Re = Range("D4").Value x.Im = Range("F4").Value x = ReIm_to_MoPh(x) y = Range("E6").Value z = PotenzaComplessa(x, y) Range("D14").Value = z.Re Range("F14").Value = z.Im Range("D16").Value = z.Mo Range("F16").Value = z.Ph End Sub



Modulo1

Type Complesso Re As Double Im As Double Mo As Double Ph As Double End Type Function ReIm_to_MoPh(a As Complesso) As Complesso a.Mo = Sqr(a.Re ^ 2 + a.Im ^ 2) If a.Re >= 0 Then If a.Re = 0 Then a.Re = 0.000000000000001 End If a.Ph = Atn(a.Im / a.Re) Else a.Ph = Atn(a.Im / a.Re) + Pi End If ReIm_to_MoPh = a End Function Function PotenzaComplessa(a As Complesso, b As Double) As Complesso Dim c As Complesso c.Mo = a.Mo ^ b c.Ph = a.Ph * b c.Re = c.Mo * Cos(c.Ph) c.Im = c.Mo * Sin(c.Ph) PotenzaComplessa = c End Function


PotenzaComplessa.xls