supposed to simulate and what the values of proba and probb should be for those simulations these three values willin sensebe inputs to the function what information do you need to get back from your friendwellin order to finish out the program (print reportyou need to know how many games were won by player and how many games were won by player these must be outputs from the simngames function remember in the discussion of functions in said that parameters were used as function inputsand return values serve as function outputs given this analysiswe now know how the next step of the algorithm can be coded def main()printintro(probaprobbn getinputs(winsawinsb simngames(nprobaprobbare you getting the hang of thisthe last step is to print report if you told your friend to type up the reportyou would have to tell him how many wins there were for each playerthese values are inputs to the function here' the complete programdef main()printintro(probaprobbn getinputs(winsawinsb simngames(nprobaprobbprintsummary(winsawinsbthat wasn' very hard the main function is only five lines longand the program looks like more precise formulation of the rough algorithm separation of concerns of coursethe main function alone won' do very muchwe've put off all of the interesting details in factyou may think that we have not yet accomplished anything at allbut that is far from true we have broken the original problem into four independent tasksprintintrogetinputssimngames and printsummary furtherwe have specified the nameparametersand expected return values of the functions that perform these tasks this information is called the interface or signature of function having signatures allows us to tackle pieces independently for the purposes of mainwe don' care how simngames does its job the only concern is thatwhen given the number of games to simulate and the two probabilitiesit must hand back the correct number of wins for each player the main function only cares what each (sub-)function does our work so far can be represented as structure chart (also called module hierarchy chartfigure illustrates this each component in the design is rectangle line connecting two rectangles indicates that the one above uses the one below the arrows and annotations show the interfaces between the components in terms of information flow at each level of designthe interface tells us which details of the lower level are important anything else can be ignored (for the momentthe general process of determining the important