Answered step by step
Verified Expert Solution
Link Copied!

Question

00
1 Approved Answer

A student wants to design and implement a Python program to keep track of the largest single payment they have made from their bank account

A student wants to design and implement a Python program to keep track of the largest single payment they have made from their bank account in a week. The amounts of money, in pennies, paid into their account (the credits) are represented by positive integers and the amounts of money, in pennies, paid out of their account (the debits) are represented as negative integers. There are many ways of doing this, but here is their initial top-level decomposition.
> Determine the largest single debit
>> Input a list of transactions
>> Create a new list that contains only the negative amounts
>> Find the largest negative value in the new list
>> Print the result in pounds and pence
a.In this part you will consider only this part of the top-level algorithm:
>> Input a list of transactions
>> Create a new list that contains only the negative amounts
In order to test your code you should also add the step:
>> Print the new list
One of the tests of your code should be for a list of transactions derived from your PI number. In this test, the first five transactions are 1050,11369,2374,1345,1272. The final transaction, a debit, is given by the first four digits of your PI number. So, for example, for the PI number B9081720, your transactions input list would be:
[1050,11369,2374,1345,1272,9081]
i.Describe the input data and the output data for this first task.
ii.Specify one further transactions input list you might use in testing, 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.
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. Remember that your code must work for an input list of any length. Marks will be lost if the program does not follow the algorithm. Copy your Python code for this first task into your solution document as text, using an evenly spaced font such as Courier New or Consolas. 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 steps in the top-level decomposition given at the beginning of this question:
>> Find the largest negative value in the new list
>> Print the result in pounds and pence
So, for example, for this step, if the input is the list:
[1050,1345,1272,9081]
then the output 90.81 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 Problem solving and Python quick reference.
ii.Write an algorithm based on the pattern you have identified. You can assume that the new list exists.
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 for this second task into your solution document as text, using an evenly spaced font such as Courier New or Consolas. 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:
> Determine the largest single debit
and copy this as text, using an evenly spaced font such as New Courier or Consolas, into your solution document. Paste in a screenshot of the outputs in the shell when you run this Python

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started