Factorial numbers;In this assignment, you will write a program that provides the following features;The program will provide an interface that includes the following;A factorial button;A recursion log (the multiline text box on the right of the interface);The program should perform the following functions;User can enter an integer from 1 to 10.;When the user clicks the Factorial button, the program should compute and display the integer’s factorial.;The recursion log should display a message indicating when each recursive call was made.;The interface should also indicate when the base case is reached, and it should list all values returned.;Save the program as Factional.cpp;Algorithmic Design in Procedural Programming and OOP;In this assignment, you will complete the following tasks;Create a program that counts up to start with level = 1 and counting each level of recursion up to the base case.;Modify the program so that it counts down instead of up.;Make the changes necessary to enable it to start by setting the level to the base case.;After the above steps are performed, the program should subtract 1 from the level above with each recursive call until you reach the base case.;Save the program as Procedural.cpp.;Submission Details;Embed the two programs in a Microsoft Word document with a description of your programming strategy.;Name your document W5_A2_Lastname_Firstname.doc.