a.Provide a top-level decomposition of the problem of drawing a frieze pattern, assuming for the moment that the basic element is repeated just exactly 5 times. At this stage you are not trying to produce a solution, just break the problem down into smaller parts. We are looking for a decomposition that could apply to a frieze composed of any basic element, so for now you should just assume that the exact form of the basic element will be considered in a more detailed decomposition, so you can just say “draw basic element” for this step. Your initial decomposition should use exactly one loop. In the remainder of this question, you will design and implement a program to draw the particular frieze shown In this frieze the length of each of the eight "spokes” of the basic element is 40 and the angle between the spokes is 45º. Each repeat is 100 units to the right of the previous one, as measured from the centre of one basic element to the centre of the next (where the centre is the point where the spokes of a basic element meet). b.Next refine your decomposition, adding more detail so that it becomes an algorithm. This is not yet a program, so you should write the steps in English rather than as Python statements. To draw the basic element of the frieze you will need to use a second loop. c.Translate your algorithm into Python, including appropriate comments. Paste your Python code into your solution document as text and state whether it produced the expected output. Your answer must be a translation of your algorithm from (b), otherwise marks will be lost. Here and in Part (d) below you should use only techniques and language features taught in TM112. If you decide to use techniques or language features not covered in the module, you must give a justification for this, or marks will be lost. In part (c) your code always produces five repetitions of the basic element. Now modify your code so that the required number of repetitions is held in a variable number_of_elements, where number_of_elements is initialised to 5 in this case but can be initialised to a different value as required. Run your program using different values of number_of_elements to test that it produces the expected output.
a.Provide a top-level decomposition of the problem of drawing a frieze pattern, assuming for the moment that the basic element is repeated just exactly 5 times. At this stage you are not trying to produce a solution, just break the problem down into smaller parts. We are looking for a decomposition that could apply to a frieze composed of any basic element, so for now you should just assume that the exact form of the basic element will be considered in a more detailed decomposition, so you can just say “draw basic element” for this step. Your initial decomposition should use exactly one loop.
In the remainder of this question, you will design and implement a
-
In this frieze the length of each of the eight "spokes” of the basic element is 40 and the angle between the spokes is 45º. Each repeat is 100 units to the right of the previous one, as measured from the centre of one basic element to the centre of the next (where the centre is the point where the spokes of a basic element meet).
-
b.Next refine your decomposition, adding more detail so that it becomes an
algorithm . This is not yet a program, so you should write the steps in English rather than as Python statements. To draw the basic element of the frieze you will need to use a second loop. -
c.Translate your algorithm into Python, including appropriate comments.
Paste your Python code into your solution document as text and state whether it produced the expected output.
-
Your answer must be a translation of your algorithm from (b), otherwise marks will be lost.
Here and in Part (d) below you should use only techniques and language features taught in TM112. If you decide to use techniques or language features not covered in the module, you must give a justification for this, or marks will be lost.
-
In part (c) your code always produces five repetitions of the basic element. Now modify your code so that the required number of repetitions is held in a variable number_of_elements, where number_of_elements is initialised to 5 in this case but can be initialised to a different value as required.
Run your program using different values of number_of_elements to test that it produces the expected output.
Trending now
This is a popular solution!
Step by step
Solved in 2 steps