Option Explicit
Sub Main
Dim nRighe
Dim r,p,s
Dim nMaxLen
nRighe =10
ReDim aRiga( nRighe)
For r = 1 To nRighe
s = ""
For p = 1 To r
s = s & GetCoeffBin(r - 1,p - 1) & " "
Next
aRiga(r) = Trim(s)
Scrivi CStr(r) & ")" & (aRiga(r) )
nMaxLen = Len (aRiga(r))
Next
Scrivi
If nMaxLen Mod 2 =0 Then nMaxLen = nMaxLen +1
For r = 1 To nRighe
Scrivi FormattaAlCentro ( aRiga(r) , Space( nMaxLen) )
Next
End Sub
Function GetCoeffBin(n,k)
If n >= 0 And k >= 0 Then
If n >= k Then
GetCoeffBin = Fattoriale(n) /(Fattoriale(k) * Fattoriale(n - k))
Else
GetCoeffBin = 0
End If
End If
End Function
Function Fattoriale(n)
Dim r,k
r = 1
For k = 1 To n
r = r * k
Next
Fattoriale = r
End Function
Function FormattaAlCentro ( s , sFmt)
Dim i
i = ((Len(sFmt) - Len(s))/2)+1
FormattaAlCentro = Left (sFmt , i-1) & s & Mid( sFmt , i+ Len(s))
End Function