Answered step by step
Verified Expert Solution
Question
1 Approved Answer
************************** Please Help me out student wants to design and implement a Python program to convert any 6-bit unsigned nary number to its decimal equivalent.
************************** Please Help me out
student wants to design and implement a Python program to convert any 6-bit unsigned nary number to its decimal equivalent. There are many ways of doing this, but here is their itial top-level decomposition: > Convert binary to decimal > Input a list of six 1s and 0 s corresponding to the binary number to be converted Input a list of six column weightings consisting of powers of two > Create a new list that contains the decimal values of each binary digit of 1 in the input list Add up the decimal values in the new list and print result a. In this part of the question you will consider only this section of the top-level algorithm: Input a list of six 1s and 0 s corresponding to the binary number to be converted > Input a list of six column weightings consisting of powers of two > Create a new list that contains the decimal values of each binary digit of 1 in the input list. In order to test your code you should also add the step print the new list In order to test this part of your program, you will create a binary number based on your PI. [Your PI is the long number that starts with a letter, followed by either seven digits or 6 digits and an X]. Perform the following steps with pen and paper - you should not write code for these steps: For each of the first 6 digits in your PI, create an input list of 1 s and 0 s of length 6 as follows: If a digit in your PI is even, append 0 to the input list, if it is odd, append 1 to the input list. For example, for the PI B0381720, the first six digits (in order) are even (0), odd (3), even (8), odd (1), odd (7), even (2). So your input list would be [0,1,0,1,1,0] The list of conversion values for converting binary to decimal will always be [32,16,8,4, 2,1]. So the input list [0,1,0,1,1,0] would result in the output list [16,4,2]. i. Describe the type of the input and output data for this first task and describe the allowable values for each. ii. Specify one further test list in addition to the list you have created using your PI number. Make sure that you state the test input, the expected output and a brief explanation of why you selected this test. iii. Write an algorithm based on Pattern 2.3 Note that you will need to modify step 4ai. iv. Implement your algorithm as Python code. Your code must match the steps of your algorithm and you should use comments in the code to make it clear how the two correspond. Marks will be lost if the program does not follow the algorithm. Copy your Python code, as text, into your Solution document. Name your Python file Q2a_OUCU.py, where 'OUCU' is your OU computer username, e.g. abc123. Then include the code file in your TMA zip file. You should aim to use only the Python features that are introduced in the module. If you decide to use techniques or language features that TM112 does not cover, you must give a justification for your decisions, otherwise marks will be lost. (9 marks) b. In this part of the question, you will implement the final step in the top-level decomposition given at the beginning of this question: Add up the decimal values in the new list and print result So, for example, for this step, if the input is the list: [16,4,2] The output 22 would be printed. i. Identify which of the TM112 pattern or patterns could best be applied to the solution of the second task. State clearly the name of the pattern and the pattern number, for example "List generation Pattern 2.2". A list of all the patterns can be found in the Problem solving and Python quick reference ii. Write an algorithm based on the pattern you have identified iii. Implement your algorithm as Python code. This must match the steps of your algorithm and you should use comments in the code to make it clear how the two correspond. Marks will be lost if the program does not follow the algorithm. Your code should include a comment that gives your PI number. Copy your Python code, as text, for this second task into your Solution document. Name your Python file Q2b_OUCU.py, where 'OUCU' is your OU computer username, e.g. abc123. Then include the code file in your TMA.zip file. You should aim to use only the Python features that are introduced in the module. If you decide to use techniques or language features that TM112 does not cover, you must give a justification for your decisions, otherwise marks will be lost. (5 marks) c. Create a completed program that performs the whole top-level task: > Convert binary to decimal and copy this, as text, into your solution document. Paste in a screenshot of the outputs in the shell when you run this Python file with the input list based on your PI number. Name your Python file Q2C_OUCU.py, where 'OUCU' is your OU computer username, e.g. abc123. Then include the code file in your TMA.zip file. (2 marks) d. There are many ways of decomposing the top-level task: > Convert binary to decimal Write a different top-level decomposition for solving this same problem. (2 marks) (Total 18 marks)Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started