Microsoft InfoPath
Forms that have been made in InfoPath can be put on SharePoint websites.  Forms can also be amended with XPath, Basic, or C# computer code to do mathematics or read from and write to databases.